Skip to content

Commit 0305504

Browse files
thewtexjcfr
authored andcommitted
ENH: Add WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER.
This optional variable can be used by packagers to package only the wrapping. It is inserted into the CMake install command COMPONENT name. Change-Id: Id6570a03e0eacd499f962d80a1280d7aa2e993f0
1 parent 5f7447f commit 0305504

File tree

7 files changed

+41
-9
lines changed

7 files changed

+41
-9
lines changed

Wrapping/CMakeLists.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,13 @@ if(NOT EXECUTABLE_OUTPUT_PATH)
122122
set(EXECUTABLE_OUTPUT_PATH ${WrapITK_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
123123
endif()
124124

125+
# Set WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER to a non-null value, like
126+
# "Wrapping", which will be inserted into the wrapping install component name.
127+
# This can be used to split installation package components.
128+
if(NOT WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER)
129+
set(WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER "")
130+
endif()
131+
125132
mark_as_advanced(CMAKE_LIBRARY_OUTPUT_DIRECTORY EXECUTABLE_OUTPUT_PATH WRAP_ITK_INSTALL_PREFIX)
126133

127134
set(CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
@@ -133,7 +140,7 @@ set(CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
133140
if(NOT EXTERNAL_WRAP_ITK_PROJECT)
134141
install(FILES "${WrapITK_BINARY_DIR}/InstallOnly/WrapITKConfig.cmake"
135142
DESTINATION "${WRAP_ITK_INSTALL_PREFIX}/"
136-
COMPONENT Development
143+
COMPONENT ${WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER}Development
137144
)
138145
endif()
139146

Wrapping/ConfigureWrapping.cmake

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,15 +114,21 @@ set(GENERATORS_SRC_DIR "${WRAP_ITK_CMAKE_DIR}/Generators" CACHE INTERNAL "genera
114114
include("${WRAP_ITK_CMAKE_DIR}/CMakeUtilityFunctions.cmake")
115115

116116
macro(WRAP_ITK_INSTALL path)
117-
install(FILES ${ARGN} DESTINATION "${WRAP_ITK_INSTALL_PREFIX}${path}")
117+
install(FILES ${ARGN}
118+
DESTINATION "${WRAP_ITK_INSTALL_PREFIX}${path}"
119+
COMPONENT ${WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER}RuntimeLibraries
120+
)
118121
endmacro()
119122

120123

121124
###############################################################################
122125
# Macro to install the language bindings
123126
###############################################################################
124127
macro(WRAP_ITK_BINDINGS_INSTALL path)
125-
install(FILES ${ARGN} DESTINATION "${ITK_INSTALL_LIBRARY_DIR}/ITK-${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}${path}")
128+
install(FILES ${ARGN}
129+
DESTINATION "${ITK_INSTALL_LIBRARY_DIR}/ITK-${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}${path}"
130+
COMPONENT ${WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER}RuntimeLibraries
131+
)
126132
endmacro()
127133

128134
###############################################################################

Wrapping/Generators/Explicit/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,9 @@ macro(itk_end_wrap_module_explicit)
126126
endforeach()
127127
target_link_libraries(${WRAPPER_LIBRARY_NAME}Explicit ${WRAPPER_LIBRARY_LINK_LIBRARIES} )
128128
set_target_properties(${WRAPPER_LIBRARY_NAME}Explicit PROPERTIES COMPILE_FLAGS -DWRAP_ITK_${WRAPPER_LIBRARY_NAME}_EXPORTS )
129-
install(TARGETS ${WRAPPER_LIBRARY_NAME}Explicit DESTINATION "${ITK_INSTALL_LIBRARY_DIR}")
129+
install(TARGETS ${WRAPPER_LIBRARY_NAME}Explicit
130+
DESTINATION "${ITK_INSTALL_LIBRARY_DIR}"
131+
COMPONENT ${WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER}RuntimeLibraries
132+
)
130133
endif()
131134
endmacro()

Wrapping/Generators/Java/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,10 @@ macro(itk_end_wrap_module_java)
145145
endif()
146146

147147
add_dependencies(${lib} ${WRAPPER_LIBRARY_NAME}Swig)
148-
install(TARGETS "${lib}" DESTINATION "${ITK_INSTALL_LIBRARY_DIR}/ITK-${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}/Java")
148+
install(TARGETS "${lib}"
149+
DESTINATION "${ITK_INSTALL_LIBRARY_DIR}/ITK-${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}/Java"
150+
COMPONENT ${WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER}RuntimeLibraries
151+
)
149152

150153
if(EXTERNAL_WRAP_ITK_PROJECT)
151154
# don't depends on the targets from wrapitk in external projects

Wrapping/Generators/Python/CMakeLists.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@ if(NOT PY_SITE_PACKAGES_PATH)
6060
endif()
6161

6262
macro(WRAP_ITK_PYTHON_BINDINGS_INSTALL path)
63-
install(FILES ${ARGN} DESTINATION "${PY_SITE_PACKAGES_PATH}/${path}")
63+
install(FILES ${ARGN}
64+
DESTINATION "${PY_SITE_PACKAGES_PATH}/${path}"
65+
COMPONENT ${WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER}RuntimeLibraries
66+
)
6467
endmacro()
6568

6669

@@ -433,7 +436,10 @@ macro(itk_end_wrap_module_python)
433436
target_link_libraries(${lib} ${WRAPPER_LIBRARY_NAME}Explicit)
434437
add_dependencies(${lib} ${WRAPPER_LIBRARY_NAME}Explicit)
435438
endif()
436-
install(TARGETS "${lib}" DESTINATION "${PY_SITE_PACKAGES_PATH}/itk")
439+
install(TARGETS "${lib}"
440+
DESTINATION "${PY_SITE_PACKAGES_PATH}/itk"
441+
COMPONENT ${WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER}RuntimeLibraries
442+
)
437443
if(NOT EXTERNAL_WRAP_ITK_PROJECT)
438444
# don't depends on the targets from wrapitk in external projects
439445
foreach(dep ${WRAPPER_LIBRARY_DEPENDS})

Wrapping/Generators/Ruby/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,10 @@ macro(itk_end_wrap_module_ruby)
132132
endif()
133133
target_link_libraries(${lib} ${WRAPPER_LIBRARY_LINK_LIBRARIES} ${RUBY_LIBRARY})
134134
add_dependencies(${lib} ${WRAPPER_LIBRARY_NAME}Swig)
135-
install(TARGETS "${lib}" DESTINATION "${ITK_INSTALL_LIBRARY_DIR}/ITK-${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}/Ruby")
135+
install(TARGETS "${lib}"
136+
DESTINATION "${ITK_INSTALL_LIBRARY_DIR}/ITK-${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}/Ruby"
137+
COMPONENT ${WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER}RuntimeLibraries
138+
)
136139
if(NOT EXTERNAL_WRAP_ITK_PROJECT)
137140
# don't depends on the targets from wrapitk in external projects
138141
foreach(dep ${WRAPPER_LIBRARY_DEPENDS})

Wrapping/Generators/Tcl/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,10 @@ macro(itk_end_wrap_module_tcl)
113113
target_link_libraries(${lib} ${WRAPPER_LIBRARY_NAME}Explicit)
114114
endif()
115115
add_dependencies(${lib} ${WRAPPER_LIBRARY_NAME}Swig)
116-
install(TARGETS "${lib}" DESTINATION "${ITK_INSTALL_LIBRARY_DIR}/ITK-${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}/Tcl")
116+
install(TARGETS "${lib}"
117+
DESTINATION "${ITK_INSTALL_LIBRARY_DIR}/ITK-${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}/Tcl"
118+
COMPONENT ${WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER}RuntimeLibraries
119+
)
117120
if(NOT EXTERNAL_WRAP_ITK_PROJECT)
118121
# don't depends on the targets from wrapitk in external projects
119122
foreach(dep ${WRAPPER_LIBRARY_DEPENDS})
@@ -343,6 +346,7 @@ if(NOT EXTERNAL_WRAP_ITK_PROJECT)
343346
${ITK_WRAP_TCL_SOURCE_DIR}/itkdata.tcl
344347
${ITK_WRAP_TCL_SOURCE_DIR}/itkutils.tcl
345348
DESTINATION "${ITK_INSTALL_LIBRARY_DIR}/ITK-${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}/Tcl"
349+
COMPONENT ${WRAP_ITK_INSTALL_COMPONENT_IDENTIFIER}RuntimeLibraries
346350
)
347351

348352
endmacro()

0 commit comments

Comments
 (0)