Skip to content

Commit b31b424

Browse files
committed
Merge pull request #39 from jcfr/update-sem-build-macro-to-support-target-folder
ENH: SEMMacroBuildCLI - Add possibility to associate FOLDER with CLI tar...
2 parents aacaca9 + 0b780eb commit b31b424

File tree

4 files changed

+28
-0
lines changed

4 files changed

+28
-0
lines changed

CMake/SEMMacroBuildCLI.cmake

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ macro(SEMMacroBuildCLI)
1515
)
1616
set(oneValueArgs
1717
NAME LOGO_HEADER
18+
FOLDER
1819
CLI_XML_FILE
1920
CLI_LIBRARY_WRAPPER_CXX
2021
CLI_SHARED_LIBRARY_WRAPPER_CXX # Deprecated
@@ -216,5 +217,14 @@ macro(SEMMacroBuildCLI)
216217
)
217218
endif()
218219

220+
# Folder
221+
if(NOT DEFINED LOCAL_SEM_FOLDER)
222+
set(LOCAL_SEM_FOLDER "${SlicerExecutionModel_DEFAULT_CLI_TARGETS_FOLDER_PREFIX}${LOCAL_SEM_NAME}")
223+
endif()
224+
foreach(target ${cli_targets})
225+
set_target_properties(${target} PROPERTIES FOLDER ${LOCAL_SEM_FOLDER})
226+
endforeach()
227+
set(${MODULE_NAME}_TARGETS_FOLDER ${LOCAL_SEM_FOLDER})
228+
219229
endmacro()
220230

CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,13 @@ if(NOT DEFINED SlicerExecutionModel_DEFAULT_CLI_LIBRARY_WRAPPER_CXX)
120120
${CMAKE_CURRENT_SOURCE_DIR}/CMake/SEMCommandLineLibraryWrapper.cxx)
121121
endif()
122122

123+
#-----------------------------------------------------------------------------
124+
# Define default "cli targets folder prefix" used by SEMMacroBuildCLI.cmake
125+
#-----------------------------------------------------------------------------
126+
if(NOT DEFINED SlicerExecutionModel_DEFAULT_CLI_TARGETS_FOLDER_PREFIX)
127+
set(SlicerExecutionModel_DEFAULT_CLI_TARGETS_FOLDER_PREFIX "")
128+
endif()
129+
123130
#-----------------------------------------------------------------------------
124131
# Testing
125132
#-----------------------------------------------------------------------------

GenerateSlicerExecutionModelConfig.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ set(SlicerExecutionModel_DEFAULT_CLI_INSTALL_ARCHIVE_DESTINATION_CONFIG
3535
${SlicerExecutionModel_DEFAULT_CLI_INSTALL_ARCHIVE_DESTINATION}
3636
)
3737

38+
set(SlicerExecutionModel_DEFAULT_CLI_TARGETS_FOLDER_PREFIX_CONFIG
39+
${SlicerExecutionModel_DEFAULT_CLI_TARGETS_FOLDER_PREFIX}
40+
)
41+
3842
set(SlicerExecutionModel_LIBRARY_DIRS_CONFIG
3943
${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
4044
${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}

SlicerExecutionModelConfig.cmake.in

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,13 @@ if(NOT DEFINED SlicerExecutionModel_DEFAULT_CLI_LIBRARY_WRAPPER_CXX)
111111
)
112112
endif()
113113

114+
# If not already defined, set default "cli targets folder prefix" used by SEMMacroBuildCLI.cmake
115+
if(NOT DEFINED SlicerExecutionModel_DEFAULT_CLI_TARGETS_FOLDER_PREFIX)
116+
set(SlicerExecutionModel_DEFAULT_CLI_TARGETS_FOLDER_PREFIX
117+
"@SlicerExecutionModel_DEFAULT_CLI_TARGETS_FOLDER_PREFIX_CONFIG@"
118+
)
119+
endif()
120+
114121
# The SlicerExecutionModel targets file.
115122
if(NOT TARGET GenerateCLP AND EXISTS "@SlicerExecutionModel_EXPORT_FILE@")
116123
include("@SlicerExecutionModel_EXPORT_FILE@")

0 commit comments

Comments
 (0)