@@ -19,25 +19,57 @@ include(CTest)
1919
2020include (${CMAKE_CURRENT_LIST_DIR } /Common.cmake )
2121
22+ option (USE_niral_utilities "Build niral_utilities" ON )
23+
2224if ( DTIPrep_BUILD_SLICER_EXTENSION )
2325 set ( EXTERNAL_SOURCE_IN_BINARY_DIR ON )
2426 set ( USE_SYSTEM_VTK ON CACHE BOOL "Use system VTK" FORCE )
27+ set ( USE_SYSTEM_ITK ON CACHE BOOL "Use system ITK" FORCE )
28+ set ( USE_SYSTEM_SlicerExecutionModel ON CACHE BOOL "Use system SlicerExecutionModel" FORCE )
2529 #VTK_VERSION_MAJOR is define but not a CACHE variable
2630 set ( VTK_VERSION_MAJOR ${VTK_VERSION_MAJOR} CACHE STRING "Choose the expected VTK major version to build Slicer (5, 6, 7)." )
2731 set ( USE_SYSTEM_DCMTK ON CACHE BOOL "Use system DCMTK" FORCE )
2832 set ( USE_SYSTEM_Teem ON CACHE BOOL "Use system Teem" FORCE )
33+ set ( USE_SYSTEM_DTIProcess ON CACHE BOOL "Use system DTIProcess" FORCE )
2934 set ( BUILD_SHARED_LIBS OFF CACHE BOOL "Use shared libraries" FORCE )
30- unsetForSlicer (NAMES CMAKE_MODULE_PATH CMAKE_C_COMPILER CMAKE_CXX_COMPILER DCMTK_DIR ITK_DIR SlicerExecutionModel_DIR VTK_DIR QT_QMAKE_EXECUTABLE ITK_VERSION_MAJOR CMAKE_CXX_FLAGS CMAKE_C_FLAGS Teem_DIR )
35+ unsetForSlicer (NAMES
36+ BRAINSCommonLib_DIR
37+ CMAKE_MODULE_PATH
38+ CMAKE_C_COMPILER
39+ CMAKE_CXX_COMPILER
40+ DCMTK_DIR
41+ ITK_DIR
42+ SlicerExecutionModel_DIR
43+ VTK_DIR
44+ QT_QMAKE_EXECUTABLE
45+ ITK_VERSION_MAJOR
46+ CMAKE_CXX_FLAGS
47+ CMAKE_C_FLAGS
48+ Teem_DIR
49+ )
3150 find_package (Slicer REQUIRED )
32- unsetAllForSlicerBut ( NAMES VTK_DIR QT_QMAKE_EXECUTABLE DCMTK_DIR Teem_DIR )
33- resetForSlicer (NAMES CMAKE_MODULE_PATH CMAKE_C_COMPILER CMAKE_CXX_COMPILER CMAKE_CXX_FLAGS CMAKE_C_FLAGS ITK_DIR SlicerExecutionModel_DIR ITK_VERSION_MAJOR )
51+ unsetAllForSlicerBut ( NAMES
52+ BRAINSCommonLib_DIR
53+ SlicerExecutionModel_DIR
54+ ITK_DIR
55+ VTK_DIR
56+ QT_QMAKE_EXECUTABLE
57+ DCMTK_DIR
58+ Teem_DIR
59+ )
60+ resetForSlicer (NAMES
61+ CMAKE_MODULE_PATH
62+ CMAKE_C_COMPILER
63+ CMAKE_CXX_COMPILER
64+ CMAKE_CXX_FLAGS
65+ CMAKE_C_FLAGS
66+ )
3467 if ( APPLE )
3568 set ( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS } -Wl,-rpath,@loader_path/../../../../../" )
3669 endif ()
3770 find_package (Subversion REQUIRED )
3871else ()
3972 set ( USE_ITK_Module_MGHIO ON )
40- set ( SUPERBUILD_NOT_EXTENSION TRUE )
4173 option (USE_DTIProcess "Build DTIProcess" ON )
4274endif ()
4375
@@ -141,7 +173,12 @@ option(USE_SYSTEM_niral_utilities "Build using external niral_utilities" OFF)
141173#------------------------------------------------------------------------------
142174# ${LOCAL_PROJECT_NAME} dependency list
143175#------------------------------------------------------------------------------
144- set ( ${LOCAL_PROJECT_NAME} _DEPENDENCIES DCMTK ITKv4 SlicerExecutionModel VTK DTIProcess niral_utilities BRAINSTools)
176+ set ( ${LOCAL_PROJECT_NAME} _DEPENDENCIES VTK DCMTK ITKv4 SlicerExecutionModel DTIProcess niral_utilities)
177+ if ( NOT DTIPrep_BUILD_SLICER_EXTENSION )
178+ list (APPEND ${LOCAL_PROJECT_NAME} _DEPENDENCIES
179+ BRAINSTools
180+ )
181+ endif ()
145182set ( ${PROJECT_NAME } _BUILD_DICOM_SUPPORT ON )
146183set ( ${PROJECT_NAME } _BUILD_ZLIB_SUPPORT ON )
147184if ( UNIX )
@@ -237,6 +274,12 @@ if(${LOCAL_PROJECT_NAME}_USE_QT)
237274 )
238275endif ()
239276
277+ # Disable the "You are in 'detached HEAD' state." warning.
278+ set (git_config_arg)
279+ if (CMAKE_VERSION VERSION_GREATER "3.7.2" )
280+ set (git_config_arg GIT_CONFIG "advice.detachedHead=false" )
281+ endif ()
282+
240283_expand_external_project_vars ()
241284set (COMMON_EXTERNAL_PROJECT_ARGS ${${CMAKE_PROJECT_NAME } _SUPERBUILD_EP_ARGS})
242285set (extProjName ${LOCAL_PROJECT_NAME} )
@@ -290,10 +333,6 @@ if( DTIPrep_BUILD_SLICER_EXTENSION )
290333 Slicer_DIR:PATH
291334 DTIPrep_BUILD_SLICER_EXTENSION:BOOL
292335 )
293- else ()
294- list (APPEND ${CMAKE_PROJECT_NAME } _SUPERBUILD_EP_VARS
295- SUPERBUILD_NOT_EXTENSION:BOOL
296- )
297336endif ()
298337_expand_external_project_vars ()
299338set (COMMON_EXTERNAL_PROJECT_ARGS ${${CMAKE_PROJECT_NAME } _SUPERBUILD_EP_ARGS})
@@ -322,15 +361,18 @@ ExternalProject_Add(${proj}
322361 DEPENDS ${${LOCAL_PROJECT_NAME} _DEPENDENCIES}
323362 DOWNLOAD_COMMAND ""
324363 SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR }
325- BINARY_DIR ${LOCAL_PROJECT_NAME} -build
364+ BINARY_DIR ${LOCAL_PROJECT_NAME} -build
326365 CMAKE_GENERATOR ${gen}
327366 CMAKE_ARGS
328367 --no -warn-unused-cli # HACK Only expected variables should be passed down.
329368 ${CMAKE_OSX_EXTERNAL_PROJECT_ARGS}
330369 ${COMMON_EXTERNAL_PROJECT_ARGS}
331370 -D${LOCAL_PROJECT_NAME} _SUPERBUILD:BOOL=OFF
332371 -DBUILD_TESTING:BOOL=${BUILD_TESTING}
333- INSTALL_COMMAND ""
372+ -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR } /${LOCAL_PROJECT_NAME} -install
373+ -DUSE_niral_utilities=${USE_niral_utilities}
374+ -DUSE_DTIProcess=${USE_DTIProcess}
375+ #INSTALL_COMMAND ""
334376 )
335377
336378## Force rebuilding of the main subproject every time building from super structure
0 commit comments