Skip to content

Commit a92f77a

Browse files
committed
superbuild: Pass additional ITK CMake configuration options
1 parent 9ba4f7e commit a92f77a

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

CMakeLists.txt

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,30 @@ if(ITKPythonPackage_SUPERBUILD)
153153
message(STATUS "SuperBuild - Searching for python[OK]")
154154
message(STATUS "SuperBuild - DOXYGEN_EXECUTABLE: ${DOXYGEN_EXECUTABLE}")
155155

156+
# CMake configuration variables to pass to ITK's build
157+
set(ep_itk_cmake_cache_args "")
158+
foreach(var
159+
BUILD_SHARED_LIBS
160+
ITK_BUILD_DEFAULT_MODULES
161+
)
162+
if(DEFINED ${var})
163+
list(APPEND ep_itk_cmake_cache_args "-D${var}=${${var}}")
164+
endif()
165+
endforeach()
166+
function(cached_variables RESULTVAR PATTERN)
167+
get_cmake_property(variables CACHE_VARIABLES)
168+
set(result)
169+
foreach(variable ${variables})
170+
if(${variable} AND variable MATCHES "${PATTERN}")
171+
list(APPEND result "-D${variable}=${${variable}}")
172+
endif()
173+
endforeach()
174+
set(${RESULTVAR} ${result} PARENT_SCOPE)
175+
endfunction()
176+
cached_variables(itk_pattern_cached_vars "^(ITK_WRAP_)|(ITKGroup_)|(Module_)")
177+
list(APPEND ep_itk_cmake_cache_args ${itk_pattern_cached_vars})
178+
# Todo, also pass all Module_* variables
179+
message(STATUS "ITK CMake Cache Args - ${ep_itk_cmake_cache_args}")
156180
#-----------------------------------------------------------------------------
157181
# ITK: This project builds ITK and associated Python modules
158182

@@ -182,7 +206,7 @@ if(ITKPythonPackage_SUPERBUILD)
182206
SOURCE_DIR ${ITK_SOURCE_DIR}
183207
BINARY_DIR ${ITK_BINARY_DIR}
184208
PREFIX "ITKp"
185-
CMAKE_CACHE_ARGS
209+
CMAKE_ARGS
186210
-DBUILD_TESTING:BOOL=OFF
187211
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
188212
-DPY_SITE_PACKAGES_PATH:PATH=${CMAKE_INSTALL_PREFIX}
@@ -198,6 +222,7 @@ if(ITKPythonPackage_SUPERBUILD)
198222
-DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY}
199223
-DPYTHON_EXECUTABLE:FILEPATH=${PYTHON_EXECUTABLE}
200224
${ep_common_cmake_cache_args}
225+
${ep_itk_cmake_cache_args}
201226
USES_TERMINAL_DOWNLOAD 1
202227
USES_TERMINAL_UPDATE 1
203228
USES_TERMINAL_CONFIGURE 1

0 commit comments

Comments
 (0)