Преглед на файлове

Renamed macros and made them usable for external projects.

The ctkMacroGetAll[Non]CTKTargetLibraries can be useful for external
projects using CTK. They can be "customized" from the outside by
providing a macro called GetMyTargetLibraries.
Sascha Zelzer преди 14 години
родител
ревизия
1adf96a4bb

+ 1 - 1
CMake/ctkFunctionGenerateDGraphInput.cmake

@@ -83,7 +83,7 @@ FUNCTION(ctkFunctionGenerateDGraphInput dir target_directories)
         SET(ctk_dependencies ${dependencies})
       ELSE()
         # filter dependencies starting with CTK org org_commontk_
-        ctkMacroGetAllCTKTargetLibraries("${dependencies}" ctk_dependencies)
+        ctkMacroGetAllProjectTargetLibraries("${dependencies}" ctk_dependencies)
       ENDIF()
 
       IF(ctk_dependencies)

+ 1 - 1
CMake/ctkFunctionGenerateProjectXml.cmake

@@ -78,7 +78,7 @@ FUNCTION(ctkFunctionGenerateProjectXml dir name target_directories is_superbuild
       SET(ctk_dependencies)
 
       # filter dependencies starting with CTK
-      ctkMacroGetAllCTKTargetLibraries("${dependencies}" ctk_dependencies)
+      ctkMacroGetAllProjectTargetLibraries("${dependencies}" ctk_dependencies)
 
       IF(${is_superbuild})
         SET(xml_subprojects ${xml_subprojects} "    <Dependency name=\"SuperBuild\"/>\n")

+ 2 - 2
CMake/ctkFunctionGetIncludeDirs.cmake

@@ -35,8 +35,8 @@ FUNCTION(ctkFunctionGetIncludeDirs var_include_dirs)
     SET(ctk_deps )
     SET(ext_deps )
 
-    ctkMacroGetAllCTKTargetLibraries("${${_target}_DEPENDENCIES}" ctk_deps)
-    ctkMacroGetAllNonCTKTargetLibraries("${${_target}_DEPENDENCIES}" ext_deps)
+    ctkMacroGetAllProjectTargetLibraries("${${_target}_DEPENDENCIES}" ctk_deps)
+    ctkMacroGetAllNonProjectTargetLibraries("${${_target}_DEPENDENCIES}" ext_deps)
 
     FOREACH(dep ${ctk_deps})
       LIST(APPEND _include_dirs

+ 1 - 1
CMake/ctkFunctionGetLibraryDirs.cmake

@@ -34,7 +34,7 @@ FUNCTION(ctkFunctionGetLibraryDirs var_library_dirs)
 
     SET(ext_deps )
 
-    ctkMacroGetAllNonCTKTargetLibraries("${${_target}_DEPENDENCIES}" ext_deps)
+    ctkMacroGetAllNonProjectTargetLibraries("${${_target}_DEPENDENCIES}" ext_deps)
     
     FOREACH(dep ${ext_deps})
 

+ 21 - 16
CMake/ctkMacroTargetLibraries.cmake

@@ -195,27 +195,32 @@ MACRO(ctkMacroCollectAllTargetLibraries targets subdir varname)
 ENDMACRO()
 
 #
-# Extract all library names starting with CTK uppercase or org_commontk_
-#
-MACRO(ctkMacroGetAllCTKTargetLibraries all_target_libraries varname)
-  SET(re_ctklib "^(c|C)(t|T)(k|K)[a-zA-Z0-9]+$")
-  SET(re_ctkplugin "^org_commontk_[a-zA-Z0-9_]+$")
-  SET(_tmp_list)
-  LIST(APPEND _tmp_list ${all_target_libraries})
-  #MESSAGE("calling ctkMacroListFilter with varname:${varname}")
-  ctkMacroListFilter(_tmp_list re_ctklib re_ctkplugin OUTPUT_VARIABLE ${varname})
-  #MESSAGE(STATUS "getallctklibs from ${all_target_libraries}")
-  #MESSAGE(STATUS varname:${varname}:${${varname}})
+# Extract all library names which are build within this project
+#
+MACRO(ctkMacroGetAllProjectTargetLibraries all_target_libraries varname)
+  # Allow external projects to override the set of internal targets
+  IF(COMMAND GetMyTargetLibraries)
+    GetMyTargetLibraries("${all_target_libraries}" ${varname})
+  ELSE()
+    SET(re_ctklib "^(c|C)(t|T)(k|K)[a-zA-Z0-9]+$")
+    SET(re_ctkplugin "^org_commontk_[a-zA-Z0-9_]+$")
+    SET(_tmp_list)
+    LIST(APPEND _tmp_list ${all_target_libraries})
+    #MESSAGE("calling ctkMacroListFilter with varname:${varname}")
+    ctkMacroListFilter(_tmp_list re_ctklib re_ctkplugin OUTPUT_VARIABLE ${varname})
+    #MESSAGE(STATUS "getallctklibs from ${all_target_libraries}")
+    #MESSAGE(STATUS varname:${varname}:${${varname}})
+  ENDIF()
 ENDMACRO()
 
 #
-# Extract all library names *NOT* starting with CTK uppercase or org_commontk_
+# Extract all library names *NOT* being build within this project
 #
-MACRO(ctkMacroGetAllNonCTKTargetLibraries all_target_libraries varname)
-  ctkMacroGetAllCTKTargetLibraries("${all_target_libraries}" all_ctk_libraries)
+MACRO(ctkMacroGetAllNonProjectTargetLibraries all_target_libraries varname)
+  ctkMacroGetAllProjectTargetLibraries("${all_target_libraries}" all_project_libraries)
   SET(_tmp_list ${all_target_libraries})
-  IF(all_ctk_libraries)
-    LIST(REMOVE_ITEM _tmp_list ${all_ctk_libraries})
+  IF(all_project_libraries)
+    LIST(REMOVE_ITEM _tmp_list ${all_project_libraries})
   ENDIF()
   SET(${varname} ${_tmp_list})
   #MESSAGE(STATUS varname:${varname}:${${varname}})

+ 1 - 6
CMake/ctkMacroValidateBuildOptions.cmake

@@ -157,12 +157,7 @@ MACRO(ctkMacroValidateBuildOptions dir executable target_directories)
       # Check if all internal CTK targets included in the dependency path are enabled
       SET(int_dep_path_list )
       SET(ext_dep_path_list ${dep_path_list})
-      # Allow external projects to override the set of internal targets
-      IF(COMMAND GetMyTargetLibraries)
-        GetMyTargetLibraries("${dep_path_list}" int_dep_path_list)
-      ELSE()
-        ctkMacroGetAllCTKTargetLibraries("${dep_path_list}" int_dep_path_list)
-      ENDIF()
+      ctkMacroGetAllProjectTargetLibraries("${dep_path_list}" int_dep_path_list)
       IF(int_dep_path_list)
         LIST(REMOVE_ITEM ext_dep_path_list ${int_dep_path_list})
       ENDIF()

+ 1 - 1
SuperBuild.cmake

@@ -100,7 +100,7 @@ ctkMacroCollectAllTargetLibraries("${CTK_APPLICATIONS_SUBDIRS}" "Applications" A
 # Using the variable ALL_TARGET_LIBRARIES initialized above with the help
 # of the macro ctkMacroCollectAllTargetLibraries, let's get the list of all Non-CTK dependencies.
 # NON_CTK_DEPENDENCIES is expected by the macro ctkMacroShouldAddExternalProject
-ctkMacroGetAllNonCTKTargetLibraries("${ALL_TARGET_LIBRARIES}" NON_CTK_DEPENDENCIES)
+ctkMacroGetAllNonProjectTargetLibraries("${ALL_TARGET_LIBRARIES}" NON_CTK_DEPENDENCIES)
 #MESSAGE(STATUS NON_CTK_DEPENDENCIES:${NON_CTK_DEPENDENCIES})
 
 #-----------------------------------------------------------------------------