Skip to content

Commit bea531e

Browse files
committed
cmake: fix, cleanup and improve 3rdparty configuration
this shoud fix #124
1 parent 016164f commit bea531e

File tree

3 files changed

+77
-75
lines changed

3 files changed

+77
-75
lines changed

3rdparty/CMakeLists.txt

Lines changed: 52 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ set_package_properties(Eigen3
3535
PROPERTIES
3636
DESCRIPTION "linear algebra library"
3737
URL "http://eigen.tuxfamily.org/"
38-
TYPE REQUIRED
38+
TYPE OPTIONAL
3939
PURPOSE "matrix and vector types and arithmetics"
4040
)
4141

4242
if(NOT EIGEN3_FOUND)
4343
set(EIGEN3_SOURCE_URL "http://bitbucket.org/eigen/eigen/get/3.2.2.tar.bz2")
4444
message(STATUS "Eigen3 not found on your system")
45-
message(STATUS " going to download sources")
46-
message(STATUS " download URL: ${EIGEN3_SOURCE_URL}")
45+
message(STATUS " going to download sources from:")
46+
message(STATUS " ${EIGEN3_SOURCE_URL}")
4747
set(Eigen3_SOURCE_DIR "${pfasst_BINARY_DIR}/3rdparty/src/Eigen3")
4848

4949
ExternalProject_Add(
@@ -66,50 +66,49 @@ if(NOT EIGEN3_FOUND)
6666
)
6767

6868
# Specify include dir
69-
set(Eigen3_INCLUDE_PATH "${Eigen3_SOURCE_DIR}" CACHE PATH "" FORCE)
69+
set(Eigen3_INCLUDE_PATH "${Eigen3_SOURCE_DIR}")# CACHE PATH "" FORCE)
7070

71-
mark_as_advanced(Eigen3_INCLUDE_PATH)
71+
# mark_as_advanced(Eigen3_INCLUDE_PATH)
7272
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)
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)
7878

7979
list(APPEND pfasst_DEPENDEND_TARGETS Eigen3)
80+
81+
msg_not_installed("Eigen3")
8082
endif()
8183

8284
list(APPEND 3rdparty_INCLUDES "${Eigen3_INCLUDE_PATH}")
8385

8486

8587
message(STATUS "--------------------------------------------------------------------------------")
86-
message(STATUS "Easyloggingpp")
88+
message(STATUS "Easylogging++")
8789

88-
set(EASYLOGGINGPP_SOURCE_URL
90+
set(EASYLOGGING++_SOURCE_URL
8991
"https://github.com/easylogging/easyloggingpp/releases/download/v9.75/easyloggingpp_v9.75.tar.gz"
9092
)
9193

92-
find_package(Easyloggingpp)
93-
set_package_properties(Easyloggingpp
94+
find_package(Easylogging++)
95+
set_package_properties(Easylogging++
9496
PROPERTIES
95-
DESCRIPTION "Easylogging++ logging library"
97+
DESCRIPTION "logging library"
9698
URL "https://github.com/easylogging/easyloggingpp"
97-
TYPE REQUIRED
99+
TYPE OPTIONAL
98100
PURPOSE "provides functionality for versatile logging"
99101
)
100102

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")
103+
if(NOT EASYLOGGING++_FOUND)
104+
message(STATUS "Easylogging++ not found on your system")
105+
message(STATUS " going to download sources from:")
106+
message(STATUS " ${EASYLOGGING++_SOURCE_URL}")
107+
set(Easylogging++_SOURCE_DIR "${pfasst_BINARY_DIR}/3rdparty/src/Easylogging++")
109108
ExternalProject_Add(
110-
Easyloggingpp
109+
Easylogging++
111110
LIST_SEPARATOR " "
112-
URL ${EASYLOGGINGPP_SOURCE_URL}
111+
URL ${EASYLOGGING++_SOURCE_URL}
113112
URL_MD5 3e37462b30cb6ee49faeed6a94d1bc1e
114113
TIMEOUT 30
115114
UPDATE_COMMAND ""
@@ -125,19 +124,21 @@ if(NOT Easyloggingpp_FOUND)
125124
)
126125

127126
# 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)
127+
set(Easylogging++_INCLUDE_PATH "${Easylogging++_SOURCE_DIR}")# CACHE PATH "" FORCE)
128+
# mark_as_advanced(Easyloggingpp_INCLUDE_PATH)
129+
set(EASYLOGGING++_FOUND TRUE)
130+
# set_property(GLOBAL APPEND PROPERTY PACKAGES_FOUND "Easylogging++")
131+
# get_property(packages_not_found GLOBAL PROPERTY PACKAGES_NOT_FOUND)
132+
# list(REMOVE_ITEM packages_not_found "Easylogging++")
133+
# set_property(GLOBAL PROPERTY PACKAGES_NOT_FOUND ${packages_not_found})
134+
# unset(packages_not_found)
135+
136+
list(APPEND pfasst_DEPENDEND_TARGETS Easylogging++)
137+
138+
msg_not_installed("Easylogging++")
138139
endif()
139140

140-
list(APPEND 3rdparty_INCLUDES "${Easyloggingpp_INCLUDE_PATH}")
141+
list(APPEND 3rdparty_INCLUDES "${Easylogging++_INCLUDE_PATH}")
141142

142143

143144
if(pfasst_BUILD_EXAMPLES)
@@ -149,15 +150,15 @@ if(pfasst_BUILD_EXAMPLES)
149150
PROPERTIES
150151
DESCRIPTION "FFTW3"
151152
URL "http://fftw.org/"
152-
TYPE REQUIRED
153+
TYPE OPTIONAL
153154
PURPOSE "fast Fourier transformation"
154155
)
155156

156157
if(NOT FFTW_FOUND)
157158
set(FFTW3_SOURCE_URL "http://fftw.org/fftw-3.3.4.tar.gz")
158159
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}")
160+
message(STATUS " going to download and compile it from sources retrieved from:")
161+
message(STATUS " ${FFTW3_SOURCE_URL}")
161162
set(fftw3_SOURCE_DIR "${pfasst_BINARY_DIR}/3rdparty/src/fftw3")
162163
set(fftw3_INSTALL_DIR "${pfasst_BINARY_DIR}/3rdparty/src/fftw3-install")
163164

@@ -180,19 +181,20 @@ if(pfasst_BUILD_EXAMPLES)
180181
LOG_BUILD ON
181182
)
182183
# 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)
184+
set(FFTW_INCLUDE_PATH ${fftw3_INSTALL_DIR}/include)# CACHE PATH "" FORCE)
185+
set(FFTW_LIBRARIES ${fftw3_INSTALL_DIR}/lib/libfftw3.a)# CACHE FILEPATH "" FORCE)
185186

186-
mark_as_advanced(FFTW_INCLUDE_PATH FFTW_LIBRARIES)
187+
# mark_as_advanced(FFTW_INCLUDE_PATH FFTW_LIBRARIES)
187188
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)
189+
# set_property(GLOBAL APPEND PROPERTY PACKAGES_FOUND "FFTW")
190+
# get_property(packages_not_found GLOBAL PROPERTY PACKAGES_NOT_FOUND)
191+
# list(REMOVE_ITEM packages_not_found "FFTW")
192+
# set_property(GLOBAL PROPERTY PACKAGES_NOT_FOUND ${packages_not_found})
193+
# unset(packages_not_found)
193194

194195
list(APPEND pfasst_DEPENDEND_LIBS FFTW)
195196

197+
msg_not_installed("FFTW3")
196198
else()
197199
set(FFTW_INCLUDE_PATH ${FFTW_INCLUDE_PATH} PARENT_SCOPE)
198200
set(FFTW_LIBRARIES ${FFTW_LIBRARIES} PARENT_SCOPE)
@@ -207,8 +209,8 @@ if(pfasst_BUILD_TESTS)
207209
message(STATUS "--------------------------------------------------------------------------------")
208210
set(GMOCK_SOURCE_URL "http://googlemock.googlecode.com/files/gmock-1.7.0.zip")
209211
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}")
212+
message(STATUS " going to download and compile it from sources retrieved from:")
213+
message(STATUS " ${GMOCK_SOURCE_URL}")
212214

213215
# Add gmock
214216
ExternalProject_Add(

cmake/FindEasylogging++.cmake

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# - Find Easylogging++
2+
# Find the native Easylogging++ includes
3+
#
4+
# Easylogging++_INCLUDE_PATH - where to find the single header file
5+
# EASYLOGGING++_FOUND - True if Easyloggingpp found.
6+
7+
if(Easylogging++_INCLUDE_PATH)
8+
# Already in cache, be silent
9+
set(Easylogging++_FIND_QUIETLY TRUE)
10+
endif(Easylogging++_INCLUDE_PATH)
11+
12+
find_path(Easylogging++_INCLUDE_PATH
13+
easylogging++.h
14+
PATH_SUFFIXES easylogging++
15+
)
16+
17+
# handle the QUIETLY and REQUIRED arguments and set EASYLOGGING++_FOUND to TRUE if
18+
# all listed variables are TRUE
19+
include(FindPackageHandleStandardArgs)
20+
find_package_handle_standard_args(Easylogging++
21+
DEFAULT_MSG
22+
Easylogging++_INCLUDE_PATH
23+
)
24+
25+
mark_as_advanced(Easylogging++_INCLUDE_PATH)

cmake/FindEasyloggingpp.cmake

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)