@@ -13,12 +13,14 @@ if(${compiler_version_available} AND ${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
1313 set (Boost_COMPILER "-clang${CMAKE_CXX_COMPILER_VERSION_MAJOR}${CMAKE_CXX_COMPILER_VERSION_MINOR} " )
1414endif ()
1515
16- if (${CMAKE_VERBOSE_MAKEFILE} )
17- set (Boost_DEBUG ON )
18- set (Boost_DETAILED_FAILURE_MSG ON )
19- endif ()
20-
2116find_package (Boost 1.53.0 COMPONENTS program_options REQUIRED)
17+ set_package_properties(Boost
18+ PROPERTIES
19+ DESCRIPTION "C++ libraries"
20+ URL "http://boost.org/"
21+ TYPE REQUIRED
22+ PURPOSE "command line parameter parsing"
23+ )
2224message (STATUS "Boost include path: ${Boost_INCLUDE_DIRS} " )
2325message (STATUS "Boost library path: ${Boost_LIBRARY_DIRS} " )
2426list (APPEND 3rdparty_INCLUDES ${Boost_INCLUDE_DIRS} )
@@ -29,6 +31,13 @@ message(STATUS "----------------------------------------------------------------
2931message (STATUS "Eigen3" )
3032
3133find_package (Eigen3)
34+ set_package_properties(Eigen3
35+ PROPERTIES
36+ DESCRIPTION "linear algebra library"
37+ URL "http://eigen.tuxfamily.org/"
38+ TYPE REQUIRED
39+ PURPOSE "matrix and vector types and arithmetics"
40+ )
3241
3342if (NOT EIGEN3_FOUND)
3443 set (EIGEN3_SOURCE_URL "http://bitbucket.org/eigen/eigen/get/3.2.2.tar.bz2" )
@@ -57,50 +66,92 @@ if(NOT EIGEN3_FOUND)
5766 )
5867
5968 # Specify include dir
60- set (Eigen3_INCLUDE_PATH "${Eigen3_SOURCE_DIR} " )
69+ set (Eigen3_INCLUDE_PATH "${Eigen3_SOURCE_DIR} " CACHE PATH "" FORCE)
70+
71+ mark_as_advanced (Eigen3_INCLUDE_PATH)
72+ 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 )
78+
6179 list (APPEND pfasst_DEPENDEND_TARGETS Eigen3)
6280endif ()
6381
6482list (APPEND 3rdparty_INCLUDES "${Eigen3_INCLUDE_PATH} " )
6583
6684
6785message (STATUS "--------------------------------------------------------------------------------" )
68- message (STATUS "easyloggingpp" )
69-
70- set (EASYLOGGINGPP_SOURCE_URL "https://github.com/easylogging/easyloggingpp/releases/download/v9.75/easyloggingpp_v9.75.tar.gz" )
71- # message(STATUS "easyloggingpp not found on your system")
72- message (STATUS " going to download sources" )
73- message (STATUS " download URL: ${EASYLOGGINGPP_SOURCE_URL} " )
74- set (easyloggingpp_SOURCE_DIR "${pfasst_BINARY_DIR} /3rdparty/src/easyloggingpp" )
75-
76- ExternalProject_Add(
77- easyloggingpp
78- LIST_SEPARATOR " "
79- URL ${EASYLOGGINGPP_SOURCE_URL}
80- URL_MD5 3e37462b30cb6ee49faeed6a94d1bc1e
81- TIMEOUT 30
82- UPDATE_COMMAND ""
83- PATCH_COMMAND ""
84- CONFIGURE_COMMAND ""
85- BUILD_COMMAND ""
86- TEST_COMMAND ""
87- INSTALL_DIR ""
88- INSTALL_COMMAND ""
89- LOG_DOWNLOAD ON
90- LOG_CONFIGURE OFF
91- LOG_BUILD OFF
86+ message (STATUS "Easyloggingpp" )
87+
88+ set (EASYLOGGINGPP_SOURCE_URL
89+ "https://github.com/easylogging/easyloggingpp/releases/download/v9.75/easyloggingpp_v9.75.tar.gz"
9290)
9391
94- # Specify include dir
95- set (easyloggingpp_INCLUDE_PATH "${easyloggingpp_SOURCE_DIR} " )
96- list (APPEND 3rdparty_INCLUDES "${easyloggingpp_INCLUDE_PATH} " )
92+ find_package (Easyloggingpp)
93+ set_package_properties(Easyloggingpp
94+ PROPERTIES
95+ DESCRIPTION "Easylogging++ logging library"
96+ URL "https://github.com/easylogging/easyloggingpp"
97+ TYPE REQUIRED
98+ PURPOSE "provides functionality for versatile logging"
99+ )
100+
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" )
109+ ExternalProject_Add(
110+ Easyloggingpp
111+ LIST_SEPARATOR " "
112+ URL ${EASYLOGGINGPP_SOURCE_URL}
113+ URL_MD5 3e37462b30cb6ee49faeed6a94d1bc1e
114+ TIMEOUT 30
115+ UPDATE_COMMAND ""
116+ PATCH_COMMAND ""
117+ CONFIGURE_COMMAND ""
118+ BUILD_COMMAND ""
119+ TEST_COMMAND ""
120+ INSTALL_DIR ""
121+ INSTALL_COMMAND ""
122+ LOG_DOWNLOAD ON
123+ LOG_CONFIGURE OFF
124+ LOG_BUILD OFF
125+ )
126+
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)
138+ endif ()
139+
140+ list (APPEND 3rdparty_INCLUDES "${Easyloggingpp_INCLUDE_PATH} " )
97141
98142
99143if (pfasst_BUILD_EXAMPLES)
100144 message (STATUS "--------------------------------------------------------------------------------" )
101145 message (STATUS "FFTW3" )
102146
103147 find_package (FFTW)
148+ set_package_properties(FFTW
149+ PROPERTIES
150+ DESCRIPTION "FFTW3"
151+ URL "http://fftw.org/"
152+ TYPE REQUIRED
153+ PURPOSE "fast Fourier transformation"
154+ )
104155
105156 if (NOT FFTW_FOUND)
106157 set (FFTW3_SOURCE_URL "http://fftw.org/fftw-3.3.4.tar.gz" )
@@ -129,8 +180,19 @@ if(pfasst_BUILD_EXAMPLES)
129180 LOG_BUILD ON
130181 )
131182 # Specify include dir
132- set (FFTW_INCLUDE_PATH ${fftw3_INSTALL_DIR} /include PARENT_SCOPE)
133- set (FFTW_LIBRARIES ${fftw3_INSTALL_DIR} /lib/libfftw3.a PARENT_SCOPE)
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)
185+
186+ mark_as_advanced (FFTW_INCLUDE_PATH FFTW_LIBRARIES)
187+ 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 )
193+
194+ list (APPEND pfasst_DEPENDEND_LIBS FFTW)
195+
134196 else ()
135197 set (FFTW_INCLUDE_PATH ${FFTW_INCLUDE_PATH} PARENT_SCOPE)
136198 set (FFTW_LIBRARIES ${FFTW_LIBRARIES} PARENT_SCOPE)
0 commit comments