Skip to content

Commit

Permalink
Update cmake for local packages.
Browse files Browse the repository at this point in the history
  • Loading branch information
ktbolt committed Nov 1, 2024
1 parent 3300fd5 commit e0ff754
Show file tree
Hide file tree
Showing 18 changed files with 851 additions and 520 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
build*
*.orig
__pycache__
Code/SV3
Code/svSolver
Expand Down
46 changes: 32 additions & 14 deletions Externals/CMake/FREETYPE.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@
# PYTHON
set(proj FREETYPE)

message(STATUS "[FREETYPE.cmake] ")
message(STATUS "[FREETYPE.cmake] +++++ FREETYPE.cmake +++++")
message(STATUS "[FREETYPE.cmake] proj: ${proj}")
message(STATUS "[FREETYPE.cmake] SV_FREETYPE_DIR: ${SV_FREETYPE_DIR}")

# Dependencies
set(${proj}_DEPENDENCIES "")

Expand All @@ -41,20 +46,33 @@ else()
endif()

# Add external project
if(SV_EXTERNALS_DOWNLOAD_${proj})
# Empty project
ExternalProject_Add(${proj}
URL ${SV_EXTERNALS_${proj}_BINARIES_URL}
PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}
BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
DEPENDS ${${proj}_DEPENDENCIES}
DOWNLOAD_NO_PROGRESS ON
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
UPDATE_COMMAND ""
)

if(SV_FREETYPE_DIR)
message(STATUS "[FREETYPE.cmake] +++++ Use prebuilt FREETYPE")

find_package(Freetype REQUIRED)
#find_package(FREETYPE REQUIRED)

if(FREETYPE_FOUND)
message(STATUS "[FREETYPE.cmake] FREETYPE found")
else()
message(FATAL_ERROR "[FREETYPE.cmake] FREETYPE not found")
endif()

#if(SV_EXTERNALS_DOWNLOAD_${proj})
## Empty project
#ExternalProject_Add(${proj}
#URL ${SV_EXTERNALS_${proj}_BINARIES_URL}
#PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
#SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}
#BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
#DEPENDS ${${proj}_DEPENDENCIES}
#CONFIGURE_COMMAND ""
#BUILD_COMMAND ""
#INSTALL_COMMAND ""
#UPDATE_COMMAND ""
#)

else()
ExternalProject_Add(${proj}
URL ${SV_EXTERNALS_${proj}_SOURCE_URL}
Expand Down
99 changes: 60 additions & 39 deletions Externals/CMake/GDCM.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,12 @@
# GDCM
set(proj GDCM)

message(STATUS " ")
message(STATUS "========== Externals/CMake GDCM ==========")

set(CMAKE_POLICY_DEFAULT_CMP0135 NEW)
message(STATUS "[GDCM.cmake] ")
message(STATUS "[GDCM.cmake] -------------------------------------------------------------------------------------")
message(STATUS "[GDCM.cmake] +++++ GDCM.cmake ")
message(STATUS "[GDCM.cmake] -------------------------------------------------------------------------------------")
message(STATUS "[GDCM.cmake] proj: ${proj}")
message(STATUS "[GDCM.cmake] SV_GDCM_DIR: ${SV_GDCM_DIR}")

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

# Add external project
if(SV_EXTERNALS_DOWNLOAD_${proj})
ExternalProject_Add(${proj}
URL ${SV_EXTERNALS_${proj}_BINARIES_URL}
PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}
BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
DEPENDS ${${proj}_DEPENDENCIES}
DOWNLOAD_NO_PROGRESS ON
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
UPDATE_COMMAND ""
)

if (SV_GDCM_DIR STREQUAL "system")
#if(SV_EXTERNALS_DOWNLOAD_${proj})

message(STATUS "[GDCM.cmake] Use system GDCM")

find_package(GDCM REQUIRED PATHS ${SV_GDCM_DIR} NO_DEFAULT_PATH)

if(GDCM_FOUND)
message(STATUS "[GDCM.cmake] GDCM found")
else()
message(FATAL_ERROR "[GDCM.cmake] GDCM not found")
endif()

message(STATUS "[GDCM.cmake] GDCM_DIR: ${GDCM_DIR}")
message(STATUS "[GDCM.cmake] GDCM_INCLUDE_DIRS: ${GDCM_INCLUDE_DIRS}")
message(STATUS "[GDCM.cmake] GDCM_LIBRARY_DIRS: ${GDCM_LIBRARY_DIRS}")

#ExternalProject_Add(${proj}
#URL ${SV_EXTERNALS_${proj}_BINARIES_URL}
#PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
#SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}
#BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
#DEPENDS ${${proj}_DEPENDENCIES}
#CONFIGURE_COMMAND ""
#BUILD_COMMAND ""
#INSTALL_COMMAND ""
#UPDATE_COMMAND ""
#)

else()
ExternalProject_Add(${proj}
URL ${SV_EXTERNALS_${proj}_SOURCE_URL}
PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
SOURCE_DIR ${SV_EXTERNALS_${proj}_SRC_DIR}
BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
DEPENDS ${${proj}_DEPENDENCIES}
PATCH_COMMAND ${SV_EXTERNALS_${proj}_CUSTOM_PATCH}
UPDATE_COMMAND ""
CMAKE_CACHE_ARGS
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_MACOSX_RPATH:BOOL=ON
-DGDCM_BUILD_SHARED_LIBS:BOOL=${SV_EXTERNALS_ENABLE_${proj}_SHARED}
-DGDCM_USE_VTK:BOOL=OFF
-DGDCM_WRAP_PYTHON:BOOL=${SV_EXTERNALS_ENABLE_PYTHON}
-DGDCM_BUILD_APPLICATIONS:BOOL=ON
-DCMAKE_INSTALL_PREFIX:STRING=${SV_EXTERNALS_${proj}_BIN_DIR}
${SV_EXTERNALS_${proj}_ADDITIONAL_CMAKE_ARGS}
)

#ExternalProject_Add(${proj}
#URL ${SV_EXTERNALS_${proj}_SOURCE_URL}
#PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
#SOURCE_DIR ${SV_EXTERNALS_${proj}_SRC_DIR}
#BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
#DEPENDS ${${proj}_DEPENDENCIES}
#PATCH_COMMAND ${SV_EXTERNALS_${proj}_CUSTOM_PATCH}
#UPDATE_COMMAND ""
#CMAKE_CACHE_ARGS
#-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
#-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
#-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
#-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
#-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
#-DCMAKE_MACOSX_RPATH:BOOL=ON
#-DGDCM_BUILD_SHARED_LIBS:BOOL=${SV_EXTERNALS_ENABLE_${proj}_SHARED}
#-DGDCM_USE_VTK:BOOL=OFF
#-DGDCM_WRAP_PYTHON:BOOL=${SV_EXTERNALS_ENABLE_PYTHON}
#-DGDCM_BUILD_APPLICATIONS:BOOL=ON
#-DCMAKE_INSTALL_PREFIX:STRING=${SV_EXTERNALS_${proj}_BIN_DIR}
#${SV_EXTERNALS_${proj}_ADDITIONAL_CMAKE_ARGS}
#)

endif()
#TODO Add install rpath

Expand Down
98 changes: 70 additions & 28 deletions Externals/CMake/HDF5.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@
# PYTHON
set(proj HDF5)

message(STATUS "[HDF5.cmake] ")
message(STATUS "[HDF5.cmake] -------------------------------------------------------------------------------------")
message(STATUS "[HDF5.cmake] +++++ HDF5.cmake +++++")
message(STATUS "[HDF5.cmake] -------------------------------------------------------------------------------------")
message(STATUS "[HDF5.cmake] proj: ${proj}")
message(STATUS "[HDF5.cmake] SV_HDF5_DIR: ${SV_HDF5_DIR}")

# Dependencies
set(${proj}_DEPENDENCIES "")

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

# Add external project
if(SV_EXTERNALS_DOWNLOAD_${proj})

if (SV_HDF5_DIR STREQUAL "system")
#if(SV_EXTERNALS_DOWNLOAD_${proj})

message(STATUS "[HDF5.cmake] +++++ Use system HDF5")

find_package(HDF5 REQUIRED)

message(STATUS "[HDF5.cmake] HDF5_DIR: ${HDF5_DIR}")
message(STATUS "[HDF5.cmake] HDF5_INCLUDE_DIRS: ${HDF5_INCLUDE_DIRS}")

ExternalProject_Add(${proj}
URL ${SV_EXTERNALS_${proj}_BINARIES_URL}
PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}
BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}-empty
SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}-empty
BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}-empty
DEPENDS ${${proj}_DEPENDENCIES}
DOWNLOAD_COMMAND ""
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
UPDATE_COMMAND ""
)

#ExternalProject_Add(${proj}
# URL ${SV_EXTERNALS_${proj}_BINARIES_URL}
# PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
# SOURCE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}
# BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
# DEPENDS ${${proj}_DEPENDENCIES}
# CONFIGURE_COMMAND ""
# BUILD_COMMAND ""
# INSTALL_COMMAND ""
# UPDATE_COMMAND ""
# )

else()
ExternalProject_Add(${proj}
URL ${SV_EXTERNALS_${proj}_SOURCE_URL}
PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
SOURCE_DIR ${SV_EXTERNALS_${proj}_SRC_DIR}
BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
DEPENDS ${${proj}_DEPENDENCIES}
PATCH_COMMAND ${SV_EXTERNALS_${proj}_CUSTOM_PATCH}
UPDATE_COMMAND ""
CMAKE_CACHE_ARGS
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_MACOSX_RPATH:BOOL=ON
-DBUILD_TESTING:BOOL=OFF
-DHDF5_BUILD_SHARED_LIBS:BOOL=${SV_EXTERNALS_ENABLE_${proj}_SHARED}
-DHDF5_BUILD_HI_LIB:BOOL=ON
-DHDF5_BUILD_CPP_LIB:BOOL=ON
-DCMAKE_INSTALL_PREFIX:STRING=${SV_EXTERNALS_${proj}_BIN_DIR}
${SV_EXTERNALS_${proj}_ADDITIONAL_CMAKE_ARGS}
)

message(STATUS "[HDF5.cmake] +++++ Use HDF5 from ${SV_HDF5_DIR}")

find_package(HDF5 REQUIRED PATHS ${SV_HDF5_DIR} NO_DEFAULT_PATH)

message(STATUS "[HDF5.cmake] HDF5_DIR: ${HDF5_DIR}")
message(STATUS "[HDF5.cmake] HDF5_INCLUDE_DIRS: ${HDF5_INCLUDE_DIRS}")

#ExternalProject_Add(${proj}
#URL ${SV_EXTERNALS_${proj}_SOURCE_URL}
#PREFIX ${SV_EXTERNALS_${proj}_PFX_DIR}
#SOURCE_DIR ${SV_EXTERNALS_${proj}_SRC_DIR}
#BINARY_DIR ${SV_EXTERNALS_${proj}_BLD_DIR}
#DEPENDS ${${proj}_DEPENDENCIES}
#PATCH_COMMAND ${SV_EXTERNALS_${proj}_CUSTOM_PATCH}
#UPDATE_COMMAND ""
#CMAKE_CACHE_ARGS
#-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
#-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
#-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
#-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
#-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
#-DCMAKE_MACOSX_RPATH:BOOL=ON
#-DBUILD_TESTING:BOOL=OFF
#-DHDF5_BUILD_SHARED_LIBS:BOOL=${SV_EXTERNALS_ENABLE_${proj}_SHARED}
#-DHDF5_BUILD_HI_LIB:BOOL=ON
#-DHDF5_BUILD_CPP_LIB:BOOL=ON
#-DCMAKE_INSTALL_PREFIX:STRING=${SV_EXTERNALS_${proj}_BIN_DIR}
#${SV_EXTERNALS_${proj}_ADDITIONAL_CMAKE_ARGS}
#)

endif()

# HDF5 variables used later on
Expand All @@ -86,3 +124,7 @@ if(WIN32)
else()
set(SV_EXTERNALS_${proj}_CMAKE_DIR ${SV_EXTERNALS_${proj}_BIN_DIR}/share/cmake)
endif()

message(STATUS "[HDF5.cmake] ")
message(STATUS "[HDF5.cmake] ----- Done HDF5.cmake -----")
message(STATUS "[HDF5.cmake] ")
Loading

0 comments on commit e0ff754

Please sign in to comment.