@@ -3,6 +3,8 @@ set(3rdparty_INCLUDES ${3rdparty_INCLUDES})
33set (3rdparty_DEPENDEND_LIBS ${3rdparty_DEPENDEND_LIBS} )
44set (pfasst_DEPENDEND_TARGETS ${pfasst_DEPENDEND_TARGETS} )
55
6+ set (3rdparty_DOWNLOAD_TIMEOUT "60" )
7+
68message (STATUS "--------------------------------------------------------------------------------" )
79message (STATUS "Boost" )
810
@@ -35,23 +37,25 @@ set_package_properties(Eigen3
3537 PROPERTIES
3638 DESCRIPTION "linear algebra library"
3739 URL "http://eigen.tuxfamily.org/"
38- TYPE REQUIRED
40+ TYPE OPTIONAL
3941 PURPOSE "matrix and vector types and arithmetics"
4042)
4143
4244if (NOT EIGEN3_FOUND)
4345 set (EIGEN3_SOURCE_URL "http://bitbucket.org/eigen/eigen/get/3.2.2.tar.bz2" )
46+ set (EIGEN3_SOURCE_MD5 "fc2e814ae449d16b331f7e1f4e272bd3" )
47+
4448 message (STATUS "Eigen3 not found on your system" )
45- message (STATUS " going to download sources" )
46- message (STATUS " download URL: ${EIGEN3_SOURCE_URL} " )
49+ message (STATUS " going to download sources from: " )
50+ message (STATUS " ${EIGEN3_SOURCE_URL} " )
4751 set (Eigen3_SOURCE_DIR "${pfasst_BINARY_DIR} /3rdparty/src/Eigen3" )
4852
4953 ExternalProject_Add(
5054 Eigen3
5155 LIST_SEPARATOR " "
5256 URL ${EIGEN3_SOURCE_URL}
53- URL_MD5 fc2e814ae449d16b331f7e1f4e272bd3
54- TIMEOUT 30
57+ URL_MD5 ${EIGEN3_SOURCE_MD5}
58+ TIMEOUT ${3rdparty_DOWNLOAD_TIMEOUT}
5559 UPDATE_COMMAND ""
5660 PATCH_COMMAND ""
5761 BUILD_IN_SOURCE ON
@@ -66,52 +70,46 @@ if(NOT EIGEN3_FOUND)
6670 )
6771
6872 # Specify include dir
69- set (Eigen3_INCLUDE_PATH "${Eigen3_SOURCE_DIR} " CACHE PATH "" FORCE)
70-
71- mark_as_advanced (Eigen3_INCLUDE_PATH)
73+ set (Eigen3_INCLUDE_PATH "${Eigen3_SOURCE_DIR} " )
7274 set (Eigen3_FOUND TRUE )
73- set_property (GLOBAL APPEND PROPERTY PACKAGES_FOUND "Eigen3" )
74- get_property (packages_not_found GLOBAL PROPERTY PACKAGES_NOT_FOUND )
75- list (REMOVE_ITEM packages_not_found "Eigen3" )
76- set_property (GLOBAL PROPERTY PACKAGES_NOT_FOUND ${packages_not_found} )
77- unset (packages_not_found )
7875
7976 list (APPEND pfasst_DEPENDEND_TARGETS Eigen3)
77+
78+ msg_not_installed("Eigen3" )
8079endif ()
8180
8281list (APPEND 3rdparty_INCLUDES "${Eigen3_INCLUDE_PATH} " )
8382
8483
8584message (STATUS "--------------------------------------------------------------------------------" )
86- message (STATUS "Easyloggingpp " )
85+ message (STATUS "Easylogging++ " )
8786
88- set (EASYLOGGINGPP_SOURCE_URL
87+ set (EASYLOGGING++_SOURCE_URL
8988 "https://github.com/easylogging/easyloggingpp/releases/download/v9.75/easyloggingpp_v9.75.tar.gz"
9089)
9190
92- find_package (Easyloggingpp )
93- set_package_properties(Easyloggingpp
91+ find_package (Easylogging++ )
92+ set_package_properties(Easylogging++
9493 PROPERTIES
95- DESCRIPTION "Easylogging++ logging library"
94+ DESCRIPTION "logging library"
9695 URL "https://github.com/easylogging/easyloggingpp"
97- TYPE REQUIRED
96+ TYPE OPTIONAL
9897 PURPOSE "provides functionality for versatile logging"
9998)
10099
101- if (NOT Easyloggingpp_FOUND)
102- unset (Easyloggingpp_INCLUDE_PATH)
103- unset (Easyloggingpp_INCLUDE_PATH CACHE )
104- unset (Easyloggingpp_FOUND)
105- message (STATUS "Easyloggingpp not found on your system" )
106- message (STATUS " going to download sources" )
107- message (STATUS " download URL: ${EASYLOGGINGPP_SOURCE_URL} " )
108- set (Easyloggingpp_SOURCE_DIR "${pfasst_BINARY_DIR} /3rdparty/src/Easyloggingpp" )
100+ if (NOT EASYLOGGING++_FOUND)
101+ set (Easylogging++_SOURCE_DIR "${pfasst_BINARY_DIR} /3rdparty/src/Easylogging++" )
102+ set (EASYLOGGING++_SOURCE_MD5 "3e37462b30cb6ee49faeed6a94d1bc1e" )
103+
104+ message (STATUS "Easylogging++ not found on your system" )
105+ message (STATUS " going to download sources from:" )
106+ message (STATUS " ${EASYLOGGING++_SOURCE_URL}" )
109107 ExternalProject_Add(
110- Easyloggingpp
108+ Easylogging++
111109 LIST_SEPARATOR " "
112- URL ${EASYLOGGINGPP_SOURCE_URL }
113- URL_MD5 3e37462b30cb6ee49faeed6a94d1bc1e
114- TIMEOUT 30
110+ URL ${EASYLOGGING++_SOURCE_URL }
111+ URL_MD5 ${Easylogging++_SOURCE_MD5}
112+ TIMEOUT ${3rdparty_DOWNLOAD_TIMEOUT}
115113 UPDATE_COMMAND ""
116114 PATCH_COMMAND ""
117115 CONFIGURE_COMMAND ""
@@ -124,20 +122,16 @@ if(NOT Easyloggingpp_FOUND)
124122 LOG_BUILD OFF
125123 )
126124
127- # Specify include dir and hack on CMake internals to overwrite internal not-found flag
128- set (Easyloggingpp_INCLUDE_PATH "${Easyloggingpp_SOURCE_DIR} " CACHE PATH "" FORCE)
129- mark_as_advanced (Easyloggingpp_INCLUDE_PATH)
130- set (Easyloggingpp_FOUND TRUE )
131- set_property (GLOBAL APPEND PROPERTY PACKAGES_FOUND "Easyloggingpp" )
132- get_property (packages_not_found GLOBAL PROPERTY PACKAGES_NOT_FOUND )
133- list (REMOVE_ITEM packages_not_found "Easyloggingpp" )
134- set_property (GLOBAL PROPERTY PACKAGES_NOT_FOUND ${packages_not_found} )
135- unset (packages_not_found )
136-
137- list (APPEND pfasst_DEPENDEND_TARGETS Easyloggingpp)
125+ # Specify include dir
126+ set (Easylogging++_INCLUDE_PATH "${Easylogging++_SOURCE_DIR}" )
127+ set (EASYLOGGING++_FOUND TRUE )
128+
129+ list (APPEND pfasst_DEPENDEND_TARGETS Easylogging++)
130+
131+ msg_not_installed("Easylogging++" )
138132endif ()
139133
140- list (APPEND 3rdparty_INCLUDES "${Easyloggingpp_INCLUDE_PATH } " )
134+ list (APPEND 3rdparty_INCLUDES "${Easylogging++_INCLUDE_PATH }" )
141135
142136
143137if (pfasst_BUILD_EXAMPLES)
@@ -149,24 +143,26 @@ if(pfasst_BUILD_EXAMPLES)
149143 PROPERTIES
150144 DESCRIPTION "FFTW3"
151145 URL "http://fftw.org/"
152- TYPE REQUIRED
146+ TYPE OPTIONAL
153147 PURPOSE "fast Fourier transformation"
154148 )
155149
156150 if (NOT FFTW_FOUND)
157151 set (FFTW3_SOURCE_URL "http://fftw.org/fftw-3.3.4.tar.gz" )
152+ set (FFTW3_SOURCE_MD5 "2edab8c06b24feeb3b82bbb3ebf3e7b3" )
153+
158154 message (STATUS "FFTW3 not found on your system" )
159- message (STATUS " going to download and compile it from sources" )
160- message (STATUS " download URL: ${FFTW3_SOURCE_URL} " )
155+ message (STATUS " going to download and compile it from sources retrieved from: " )
156+ message (STATUS " ${FFTW3_SOURCE_URL} " )
161157 set (fftw3_SOURCE_DIR "${pfasst_BINARY_DIR} /3rdparty/src/fftw3" )
162158 set (fftw3_INSTALL_DIR "${pfasst_BINARY_DIR} /3rdparty/src/fftw3-install" )
163159
164160 ExternalProject_Add(
165161 fftw3
166162 LIST_SEPARATOR " "
167163 URL ${FFTW3_SOURCE_URL}
168- URL_MD5 2edab8c06b24feeb3b82bbb3ebf3e7b3
169- TIMEOUT 30
164+ URL_MD5 ${FFTW3_SOURCE_MD5}
165+ TIMEOUT ${3rdparty_DOWNLOAD_TIMEOUT}
170166 UPDATE_COMMAND ""
171167 PATCH_COMMAND ""
172168 BUILD_IN_SOURCE ON
@@ -180,19 +176,14 @@ if(pfasst_BUILD_EXAMPLES)
180176 LOG_BUILD ON
181177 )
182178 # Specify include dir
183- set (FFTW_INCLUDE_PATH ${fftw3_INSTALL_DIR} /include CACHE PATH "" FORCE PARENT_SCOPE )
184- set (FFTW_LIBRARIES ${fftw3_INSTALL_DIR} /lib/libfftw3.a CACHE FILEPATH "" FORCE PARENT_SCOPE )
179+ set (FFTW_INCLUDE_PATH ${fftw3_INSTALL_DIR} /include )
180+ set (FFTW_LIBRARIES ${fftw3_INSTALL_DIR} /lib/libfftw3.a)
185181
186- mark_as_advanced (FFTW_INCLUDE_PATH FFTW_LIBRARIES)
187182 set (FFTW_FOUND TRUE )
188- set_property (GLOBAL APPEND PROPERTY PACKAGES_FOUND "FFTW" )
189- get_property (packages_not_found GLOBAL PROPERTY PACKAGES_NOT_FOUND )
190- list (REMOVE_ITEM packages_not_found "FFTW" )
191- set_property (GLOBAL PROPERTY PACKAGES_NOT_FOUND ${packages_not_found} )
192- unset (packages_not_found )
193183
194184 list (APPEND pfasst_DEPENDEND_LIBS FFTW)
195185
186+ msg_not_installed("FFTW3" )
196187 else ()
197188 set (FFTW_INCLUDE_PATH ${FFTW_INCLUDE_PATH} PARENT_SCOPE)
198189 set (FFTW_LIBRARIES ${FFTW_LIBRARIES} PARENT_SCOPE)
@@ -206,16 +197,18 @@ if(pfasst_BUILD_TESTS)
206197
207198 message (STATUS "--------------------------------------------------------------------------------" )
208199 set (GMOCK_SOURCE_URL "http://googlemock.googlecode.com/files/gmock-1.7.0.zip" )
200+ set (GMOCK_SOURCE_MD5 "073b984d8798ea1594f5e44d85b20d66" )
201+
209202 message (STATUS "Google Testing Framework (gtest & gmock)" )
210- message (STATUS " going to download and compile it from sources" )
211- message (STATUS " download URL: ${GMOCK_SOURCE_URL} " )
203+ message (STATUS " going to download and compile it from sources retrieved from: " )
204+ message (STATUS " ${GMOCK_SOURCE_URL} " )
212205
213206 # Add gmock
214207 ExternalProject_Add(
215208 googlemock
216209 URL ${GMOCK_SOURCE_URL}
217- URL_MD5 073b984d8798ea1594f5e44d85b20d66
218- TIMEOUT 30
210+ URL_MD5 ${GMOCK_SOURCE_MD5}
211+ TIMEOUT ${3rdparty_DOWNLOAD_TIMEOUT}
219212 UPDATE_COMMAND ""
220213 PATCH_COMMAND ""
221214 CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release
0 commit comments