소스 검색

ENH: The main CMakeLists.txt now present the option to build CTK application.

Jean-Christophe Fillion-Robin 15 년 전
부모
커밋
acd4e3bdd1
3개의 변경된 파일50개의 추가작업 그리고 15개의 파일을 삭제
  1. 0 4
      Applications/CMakeLists.txt
  2. 28 8
      CMakeLists.txt
  3. 22 3
      SuperBuild.cmake

+ 0 - 4
Applications/CMakeLists.txt

@@ -1,4 +0,0 @@
-
-add_subdirectory(
-  ctkDICOM
-  )

+ 28 - 8
CMakeLists.txt

@@ -98,7 +98,7 @@ SET(ctk_libs
   Widgets
   DICOM/Core
   DICOM/Widgets
-  DICOM/Applications)
+  )
 
 #-----------------------------------------------------------------------------
 # CTK Plugins
@@ -106,6 +106,13 @@ SET(ctk_libs
 SET(ctk_plugins
   org.commontk.cli
   )
+
+#-----------------------------------------------------------------------------
+# CTK Applications
+#
+SET(ctk_applications
+  ctkDICOM
+  )
   
 #-----------------------------------------------------------------------------
 # To make options show up in both CTK-SuperBuild and CTK regular build, let's add them
@@ -122,12 +129,17 @@ OPTION(CTK_USE_KWSTYLE     "Enable sourcecode-based style tests." OFF)
 
 # Build options associated with CTK libraries
 FOREACH(lib ${ctk_libs})
-  OPTION(CTK_ENABLE_${lib} "Enable ${lib} Support." ON)
+  OPTION(CTK_LIB_${lib} "Enable ${lib} Library." ON)
 ENDFOREACH()
 
 # Build options associated with CTK plugins
 FOREACH(plugin ${ctk_plugins})
-  OPTION(CTK_ENABLE_${plugin} "Enable ${plugin} Support." ON)
+  OPTION(CTK_PLUGIN_${plugin} "Build ${plugin} Plugin." ON)
+ENDFOREACH()
+
+# Build options associated with CTK applications
+FOREACH(app ${ctk_applications})
+  OPTION(CTK_APP_${app} "Build ${app} Application." ON)
 ENDFOREACH()
 
 #-----------------------------------------------------------------------------
@@ -142,27 +154,35 @@ IF(CTK_SUPERBUILD)
 ENDIF()
 
 #-----------------------------------------------------------------------------
-# Add CTK libraries subdirectories
+# Add CTK library subdirectories
 #
 FOREACH(lib ${ctk_libs})
-  IF (CTK_ENABLE_${lib})
+  IF (CTK_LIB_${lib})
     ADD_SUBDIRECTORY(Libs/${lib})
   ENDIF()
 ENDFOREACH()
 
 #-----------------------------------------------------------------------------
-# Add CTK plugins subdirectories
+# Add CTK plugin subdirectories
 #
 FOREACH(plugin ${ctk_plugins})
-  IF (CTK_ENABLE_${plugin})
+  IF (CTK_PLUGIN_${plugin})
     ADD_SUBDIRECTORY(Plugins/${plugin})
   ENDIF()
 ENDFOREACH()
 
 #-----------------------------------------------------------------------------
+# Add CTK application subdirectories
+#
+FOREACH(app ${ctk_applications})
+  IF (CTK_APP_${app})
+    ADD_SUBDIRECTORY(Applications/${app})
+  ENDIF()
+ENDFOREACH()
+
+#-----------------------------------------------------------------------------
 # Add general purpose subdirectories
 #
-ADD_SUBDIRECTORY(Applications)
 ADD_SUBDIRECTORY(Testing)
 ADD_SUBDIRECTORY(Examples)
     

+ 22 - 3
SuperBuild.cmake

@@ -163,7 +163,25 @@ ExternalProject_Add(${proj}
     "OpenIGTLink"
 #     "XIP"
 )
-  
+
+#-----------------------------------------------------------------------------
+# Generate cmake variable name corresponding to Libs, Plugins and Applications
+#
+SET(ctk_libs_bool_vars)
+FOREACH(lib ${ctk_libs})
+  LIST(APPEND ctk_libs_bool_vars CTK_LIB_${lib})
+ENDFOREACH()
+
+SET(ctk_plugins_bool_vars)
+FOREACH(plugin ${ctk_plugins})
+  LIST(APPEND ctk_plugins_bool_vars CTK_PLUGIN_${plugin})
+ENDFOREACH()
+
+SET(ctk_applications_bool_vars)
+FOREACH(app ${ctk_applications})
+  LIST(APPEND ctk_applications_bool_vars CTK_APP_${app})
+ENDFOREACH()
+
 #-----------------------------------------------------------------------------
 # Convenient macro allowing to define superbuild arg
 #
@@ -172,7 +190,6 @@ MACRO(ctk_set_superbuild_boolean_arg ctk_cmake_var)
   IF(DEFINED ${ctk_cmake_var} AND NOT ${ctk_cmake_var})
     SET(superbuild_${ctk_cmake_var} OFF)
   ENDIF()
-  SET(superbuild_ep_arg_${ctk_cmake_var} -D${ctk_cmake_arg}:BOOL=${superbuild_${ctk_cmake_var}})
 ENDMACRO()
 
 #-----------------------------------------------------------------------------
@@ -182,7 +199,9 @@ ENDMACRO()
 SET(ctk_cmake_boolean_args
   BUILD_TESTING
   CTK_USE_KWSTYLE
-  ${ctk_libs}
+  ${ctk_libs_bool_vars}
+  ${ctk_plugins_bool_vars}
+  ${ctk_applications_bool_vars}
   )
 
 SET(ctk_superbuild_boolean_args)