forked from openastro/astro
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dependencies.cmake
109 lines (99 loc) · 3.5 KB
/
Dependencies.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# Copyright (c) 2014-2015 Kartik Kumar ([email protected])
# Distributed under the MIT License.
# See accompanying file LICENSE.md or copy at http://opensource.org/licenses/MIT
# Include script to build external library with CMake.
include(ExternalProject)
if(NOT BUILD_DEPENDENCIES)
find_package(SML)
endif(NOT BUILD_DEPENDENCIES)
if(NOT SML_FOUND)
message(STATUS "SML will be downloaded when ${CMAKE_PROJECT_NAME} is built")
ExternalProject_Add(sml-lib
PREFIX ${EXTERNAL_PATH}/SML
#--Download step--------------
URL https://github.com/kartikkumar/sml/archive/master.zip
TIMEOUT 30
#--Update/Patch step----------
UPDATE_COMMAND ""
PATCH_COMMAND ""
#--Configure step-------------
CONFIGURE_COMMAND ""
#--Build step-----------------
BUILD_COMMAND ""
#--Install step---------------
INSTALL_COMMAND ""
#--Output logging-------------
LOG_DOWNLOAD ON
)
ExternalProject_Get_Property(sml-lib source_dir)
set(SML_INCLUDE_DIRS ${source_dir}/include CACHE INTERNAL "Path to include folder for SML")
endif(NOT SML_FOUND)
if(NOT APPLE)
include_directories(SYSTEM AFTER "${SML_INCLUDE_DIRS}")
else(APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem \"${SML_INCLUDE_DIRS}\"")
endif(NOT APPLE)
if(BUILD_TESTS)
if(NOT BUILD_DEPENDENCIES)
find_package(CATCH)
endif(NOT BUILD_DEPENDENCIES)
if(NOT CATCH_FOUND)
message(STATUS "Catch will be downloaded when ${CMAKE_PROJECT_NAME} is built")
ExternalProject_Add(catch
PREFIX ${EXTERNAL_PATH}/Catch
#--Download step--------------
URL https://github.com/kartikkumar/Catch/archive/master.zip
TIMEOUT 30
#--Update/Patch step----------
UPDATE_COMMAND ""
PATCH_COMMAND ""
#--Configure step-------------
CONFIGURE_COMMAND ""
#--Build step-----------------
BUILD_COMMAND ""
#--Install step---------------
INSTALL_COMMAND ""
#--Output logging-------------
LOG_DOWNLOAD ON
)
ExternalProject_Get_Property(catch source_dir)
set(CATCH_INCLUDE_DIRS ${source_dir}/include CACHE INTERNAL "Path to include folder for Catch")
endif(NOT CATCH_FOUND)
if(NOT APPLE)
include_directories(SYSTEM AFTER "${CATCH_INCLUDE_DIRS}")
else(APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem \"${CATCH_INCLUDE_DIRS}\"")
endif(NOT APPLE)
if(BUILD_TESTS_WITH_EIGEN)
if(NOT BUILD_DEPENDENCIES)
find_package(Eigen3)
endif(NOT BUILD_DEPENDENCIES)
if(NOT EIGEN3_FOUND)
message(STATUS "Eigen will be downloaded when ${CMAKE_PROJECT_NAME} is built")
ExternalProject_Add(eigen-lib
PREFIX ${EXTERNAL_PATH}/Eigen
#--Download step--------------
URL http://bitbucket.org/eigen/eigen/get/3.2.2.tar.gz
TIMEOUT 30
#--Update/Patch step----------
UPDATE_COMMAND ""
PATCH_COMMAND ""
#--Configure step-------------
CONFIGURE_COMMAND ""
#--Build step-----------------
BUILD_COMMAND ""
#--Install step---------------
INSTALL_COMMAND ""
#--Output logging-------------
LOG_DOWNLOAD ON
)
ExternalProject_Get_Property(eigen-lib source_dir)
set(EIGEN3_INCLUDE_DIR ${source_dir} CACHE INTERNAL "Path to include folder for Eigen")
endif(NOT EIGEN3_FOUND)
if(NOT APPLE)
include_directories(SYSTEM AFTER "${EIGEN3_INCLUDE_DIR}")
else(APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem \"${EIGEN3_INCLUDE_DIR}\"")
endif(NOT APPLE)
endif(BUILD_TESTS_WITH_EIGEN)
endif(BUILD_TESTS)