Skip to content

Commit e0ff754

Browse files
committed
Update cmake for local packages.
1 parent 3300fd5 commit e0ff754

18 files changed

+851
-520
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
build*
2+
*.orig
23
__pycache__
34
Code/SV3
45
Code/svSolver

Externals/CMake/FREETYPE.cmake

+32-14
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@
2828
# PYTHON
2929
set(proj FREETYPE)
3030

31+
message(STATUS "[FREETYPE.cmake] ")
32+
message(STATUS "[FREETYPE.cmake] +++++ FREETYPE.cmake +++++")
33+
message(STATUS "[FREETYPE.cmake] proj: ${proj}")
34+
message(STATUS "[FREETYPE.cmake] SV_FREETYPE_DIR: ${SV_FREETYPE_DIR}")
35+
3136
# Dependencies
3237
set(${proj}_DEPENDENCIES "")
3338

@@ -41,20 +46,33 @@ else()
4146
endif()
4247

4348
# Add external project
44-
if(SV_EXTERNALS_DOWNLOAD_${proj})
45-
# Empty project
46-
ExternalProject_Add(${proj}
47-
URL ${SV_EXTERNALS_${proj}_BINARIES_URL}
48-
PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
49-
SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}
50-
BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
51-
DEPENDS ${${proj}_DEPENDENCIES}
52-
DOWNLOAD_NO_PROGRESS ON
53-
CONFIGURE_COMMAND ""
54-
BUILD_COMMAND ""
55-
INSTALL_COMMAND ""
56-
UPDATE_COMMAND ""
57-
)
49+
50+
if(SV_FREETYPE_DIR)
51+
message(STATUS "[FREETYPE.cmake] +++++ Use prebuilt FREETYPE")
52+
53+
find_package(Freetype REQUIRED)
54+
#find_package(FREETYPE REQUIRED)
55+
56+
if(FREETYPE_FOUND)
57+
message(STATUS "[FREETYPE.cmake] FREETYPE found")
58+
else()
59+
message(FATAL_ERROR "[FREETYPE.cmake] FREETYPE not found")
60+
endif()
61+
62+
#if(SV_EXTERNALS_DOWNLOAD_${proj})
63+
## Empty project
64+
#ExternalProject_Add(${proj}
65+
#URL ${SV_EXTERNALS_${proj}_BINARIES_URL}
66+
#PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
67+
#SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}
68+
#BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
69+
#DEPENDS ${${proj}_DEPENDENCIES}
70+
#CONFIGURE_COMMAND ""
71+
#BUILD_COMMAND ""
72+
#INSTALL_COMMAND ""
73+
#UPDATE_COMMAND ""
74+
#)
75+
5876
else()
5977
ExternalProject_Add(${proj}
6078
URL ${SV_EXTERNALS_${proj}_SOURCE_URL}

Externals/CMake/GDCM.cmake

+60-39
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,12 @@
2828
# GDCM
2929
set(proj GDCM)
3030

31-
message(STATUS " ")
32-
message(STATUS "========== Externals/CMake GDCM ==========")
33-
34-
set(CMAKE_POLICY_DEFAULT_CMP0135 NEW)
31+
message(STATUS "[GDCM.cmake] ")
32+
message(STATUS "[GDCM.cmake] -------------------------------------------------------------------------------------")
33+
message(STATUS "[GDCM.cmake] +++++ GDCM.cmake ")
34+
message(STATUS "[GDCM.cmake] -------------------------------------------------------------------------------------")
35+
message(STATUS "[GDCM.cmake] proj: ${proj}")
36+
message(STATUS "[GDCM.cmake] SV_GDCM_DIR: ${SV_GDCM_DIR}")
3537

3638
#if(NOT SV_EXTERNALS_DOWNLOAD_${proj})
3739
# # Find SWIG!
@@ -89,42 +91,61 @@ if(APPLE AND SV_EXTERNALS_${proj}_VERSION VERSION_EQUAL "2.6.3")
8991
endif()
9092

9193
# Add external project
92-
if(SV_EXTERNALS_DOWNLOAD_${proj})
93-
ExternalProject_Add(${proj}
94-
URL ${SV_EXTERNALS_${proj}_BINARIES_URL}
95-
PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
96-
SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}
97-
BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
98-
DEPENDS ${${proj}_DEPENDENCIES}
99-
DOWNLOAD_NO_PROGRESS ON
100-
CONFIGURE_COMMAND ""
101-
BUILD_COMMAND ""
102-
INSTALL_COMMAND ""
103-
UPDATE_COMMAND ""
104-
)
94+
95+
if (SV_GDCM_DIR STREQUAL "system")
96+
#if(SV_EXTERNALS_DOWNLOAD_${proj})
97+
98+
message(STATUS "[GDCM.cmake] Use system GDCM")
99+
100+
find_package(GDCM REQUIRED PATHS ${SV_GDCM_DIR} NO_DEFAULT_PATH)
101+
102+
if(GDCM_FOUND)
103+
message(STATUS "[GDCM.cmake] GDCM found")
104+
else()
105+
message(FATAL_ERROR "[GDCM.cmake] GDCM not found")
106+
endif()
107+
108+
message(STATUS "[GDCM.cmake] GDCM_DIR: ${GDCM_DIR}")
109+
message(STATUS "[GDCM.cmake] GDCM_INCLUDE_DIRS: ${GDCM_INCLUDE_DIRS}")
110+
message(STATUS "[GDCM.cmake] GDCM_LIBRARY_DIRS: ${GDCM_LIBRARY_DIRS}")
111+
112+
#ExternalProject_Add(${proj}
113+
#URL ${SV_EXTERNALS_${proj}_BINARIES_URL}
114+
#PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
115+
#SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}
116+
#BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
117+
#DEPENDS ${${proj}_DEPENDENCIES}
118+
#CONFIGURE_COMMAND ""
119+
#BUILD_COMMAND ""
120+
#INSTALL_COMMAND ""
121+
#UPDATE_COMMAND ""
122+
#)
123+
105124
else()
106-
ExternalProject_Add(${proj}
107-
URL ${SV_EXTERNALS_${proj}_SOURCE_URL}
108-
PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
109-
SOURCE_DIR ${SV_EXTERNALS_${proj}_SRC_DIR}
110-
BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
111-
DEPENDS ${${proj}_DEPENDENCIES}
112-
PATCH_COMMAND ${SV_EXTERNALS_${proj}_CUSTOM_PATCH}
113-
UPDATE_COMMAND ""
114-
CMAKE_CACHE_ARGS
115-
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
116-
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
117-
-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
118-
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
119-
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
120-
-DCMAKE_MACOSX_RPATH:BOOL=ON
121-
-DGDCM_BUILD_SHARED_LIBS:BOOL=${SV_EXTERNALS_ENABLE_${proj}_SHARED}
122-
-DGDCM_USE_VTK:BOOL=OFF
123-
-DGDCM_WRAP_PYTHON:BOOL=${SV_EXTERNALS_ENABLE_PYTHON}
124-
-DGDCM_BUILD_APPLICATIONS:BOOL=ON
125-
-DCMAKE_INSTALL_PREFIX:STRING=${SV_EXTERNALS_${proj}_BIN_DIR}
126-
${SV_EXTERNALS_${proj}_ADDITIONAL_CMAKE_ARGS}
127-
)
125+
126+
#ExternalProject_Add(${proj}
127+
#URL ${SV_EXTERNALS_${proj}_SOURCE_URL}
128+
#PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
129+
#SOURCE_DIR ${SV_EXTERNALS_${proj}_SRC_DIR}
130+
#BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
131+
#DEPENDS ${${proj}_DEPENDENCIES}
132+
#PATCH_COMMAND ${SV_EXTERNALS_${proj}_CUSTOM_PATCH}
133+
#UPDATE_COMMAND ""
134+
#CMAKE_CACHE_ARGS
135+
#-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
136+
#-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
137+
#-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
138+
#-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
139+
#-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
140+
#-DCMAKE_MACOSX_RPATH:BOOL=ON
141+
#-DGDCM_BUILD_SHARED_LIBS:BOOL=${SV_EXTERNALS_ENABLE_${proj}_SHARED}
142+
#-DGDCM_USE_VTK:BOOL=OFF
143+
#-DGDCM_WRAP_PYTHON:BOOL=${SV_EXTERNALS_ENABLE_PYTHON}
144+
#-DGDCM_BUILD_APPLICATIONS:BOOL=ON
145+
#-DCMAKE_INSTALL_PREFIX:STRING=${SV_EXTERNALS_${proj}_BIN_DIR}
146+
#${SV_EXTERNALS_${proj}_ADDITIONAL_CMAKE_ARGS}
147+
#)
148+
128149
endif()
129150
#TODO Add install rpath
130151

Externals/CMake/HDF5.cmake

+70-28
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@
2828
# PYTHON
2929
set(proj HDF5)
3030

31+
message(STATUS "[HDF5.cmake] ")
32+
message(STATUS "[HDF5.cmake] -------------------------------------------------------------------------------------")
33+
message(STATUS "[HDF5.cmake] +++++ HDF5.cmake +++++")
34+
message(STATUS "[HDF5.cmake] -------------------------------------------------------------------------------------")
35+
message(STATUS "[HDF5.cmake] proj: ${proj}")
36+
message(STATUS "[HDF5.cmake] SV_HDF5_DIR: ${SV_HDF5_DIR}")
37+
3138
# Dependencies
3239
set(${proj}_DEPENDENCIES "")
3340

@@ -43,41 +50,72 @@ endif()
4350
set(SV_EXTERNALS_${proj}_ADDITIONAL_CMAKE_ARGS )
4451

4552
# Add external project
46-
if(SV_EXTERNALS_DOWNLOAD_${proj})
53+
54+
if (SV_HDF5_DIR STREQUAL "system")
55+
#if(SV_EXTERNALS_DOWNLOAD_${proj})
56+
57+
message(STATUS "[HDF5.cmake] +++++ Use system HDF5")
58+
59+
find_package(HDF5 REQUIRED)
60+
61+
message(STATUS "[HDF5.cmake] HDF5_DIR: ${HDF5_DIR}")
62+
message(STATUS "[HDF5.cmake] HDF5_INCLUDE_DIRS: ${HDF5_INCLUDE_DIRS}")
63+
4764
ExternalProject_Add(${proj}
48-
URL ${SV_EXTERNALS_${proj}_BINARIES_URL}
49-
PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
50-
SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}
51-
BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
65+
PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}-empty
66+
SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}-empty
67+
BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}-empty
5268
DEPENDS ${${proj}_DEPENDENCIES}
69+
DOWNLOAD_COMMAND ""
5370
CONFIGURE_COMMAND ""
5471
BUILD_COMMAND ""
5572
INSTALL_COMMAND ""
56-
UPDATE_COMMAND ""
5773
)
74+
75+
#ExternalProject_Add(${proj}
76+
# URL ${SV_EXTERNALS_${proj}_BINARIES_URL}
77+
# PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
78+
# SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}
79+
# BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
80+
# DEPENDS ${${proj}_DEPENDENCIES}
81+
# CONFIGURE_COMMAND ""
82+
# BUILD_COMMAND ""
83+
# INSTALL_COMMAND ""
84+
# UPDATE_COMMAND ""
85+
# )
86+
5887
else()
59-
ExternalProject_Add(${proj}
60-
URL ${SV_EXTERNALS_${proj}_SOURCE_URL}
61-
PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
62-
SOURCE_DIR ${SV_EXTERNALS_${proj}_SRC_DIR}
63-
BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
64-
DEPENDS ${${proj}_DEPENDENCIES}
65-
PATCH_COMMAND ${SV_EXTERNALS_${proj}_CUSTOM_PATCH}
66-
UPDATE_COMMAND ""
67-
CMAKE_CACHE_ARGS
68-
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
69-
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
70-
-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
71-
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
72-
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
73-
-DCMAKE_MACOSX_RPATH:BOOL=ON
74-
-DBUILD_TESTING:BOOL=OFF
75-
-DHDF5_BUILD_SHARED_LIBS:BOOL=${SV_EXTERNALS_ENABLE_${proj}_SHARED}
76-
-DHDF5_BUILD_HI_LIB:BOOL=ON
77-
-DHDF5_BUILD_CPP_LIB:BOOL=ON
78-
-DCMAKE_INSTALL_PREFIX:STRING=${SV_EXTERNALS_${proj}_BIN_DIR}
79-
${SV_EXTERNALS_${proj}_ADDITIONAL_CMAKE_ARGS}
80-
)
88+
89+
message(STATUS "[HDF5.cmake] +++++ Use HDF5 from ${SV_HDF5_DIR}")
90+
91+
find_package(HDF5 REQUIRED PATHS ${SV_HDF5_DIR} NO_DEFAULT_PATH)
92+
93+
message(STATUS "[HDF5.cmake] HDF5_DIR: ${HDF5_DIR}")
94+
message(STATUS "[HDF5.cmake] HDF5_INCLUDE_DIRS: ${HDF5_INCLUDE_DIRS}")
95+
96+
#ExternalProject_Add(${proj}
97+
#URL ${SV_EXTERNALS_${proj}_SOURCE_URL}
98+
#PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
99+
#SOURCE_DIR ${SV_EXTERNALS_${proj}_SRC_DIR}
100+
#BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
101+
#DEPENDS ${${proj}_DEPENDENCIES}
102+
#PATCH_COMMAND ${SV_EXTERNALS_${proj}_CUSTOM_PATCH}
103+
#UPDATE_COMMAND ""
104+
#CMAKE_CACHE_ARGS
105+
#-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
106+
#-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
107+
#-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
108+
#-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
109+
#-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
110+
#-DCMAKE_MACOSX_RPATH:BOOL=ON
111+
#-DBUILD_TESTING:BOOL=OFF
112+
#-DHDF5_BUILD_SHARED_LIBS:BOOL=${SV_EXTERNALS_ENABLE_${proj}_SHARED}
113+
#-DHDF5_BUILD_HI_LIB:BOOL=ON
114+
#-DHDF5_BUILD_CPP_LIB:BOOL=ON
115+
#-DCMAKE_INSTALL_PREFIX:STRING=${SV_EXTERNALS_${proj}_BIN_DIR}
116+
#${SV_EXTERNALS_${proj}_ADDITIONAL_CMAKE_ARGS}
117+
#)
118+
81119
endif()
82120

83121
# HDF5 variables used later on
@@ -86,3 +124,7 @@ if(WIN32)
86124
else()
87125
set(SV_EXTERNALS_${proj}_CMAKE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}/share/cmake)
88126
endif()
127+
128+
message(STATUS "[HDF5.cmake] ")
129+
message(STATUS "[HDF5.cmake] ----- Done HDF5.cmake -----")
130+
message(STATUS "[HDF5.cmake] ")

0 commit comments

Comments
 (0)