瀏覽代碼

Teach 'superbuild_include_dependencies' how to update <proj> variable.

Jean-Christophe Fillion-Robin 11 年之前
父節點
當前提交
4195603e49

+ 1 - 1
CMake/Testing/SuperBuildTest/TheExternals/TheExternal_LibA.cmake

@@ -8,7 +8,7 @@ set(proj LibA)
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   message(FATAL_ERROR "Enabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")

+ 1 - 1
CMake/Testing/SuperBuildTest/TheExternals/TheExternal_LibB.cmake

@@ -8,7 +8,7 @@ set(proj LibB)
 
 set(${proj}_DEPENDENCIES LibA)
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
    message(FATAL_ERROR "Enabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")

+ 1 - 1
CMake/Testing/SuperBuildTest/TheExternals/TheExternal_LibC.cmake

@@ -8,7 +8,7 @@ set(proj LibC)
 
 set(${proj}_DEPENDENCIES LibD)
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   unset(LibC_DIR CACHE)

+ 8 - 8
CMake/Testing/SuperBuildTest/TheExternals/TheExternal_LibD.cmake

@@ -4,18 +4,18 @@
 
 superbuild_include_once()
 
-set(proj LibD)
+set(proj_libd LibD)
 
-set(${proj}_DEPENDENCIES "")
+set(${proj_libd}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj_libd)
 
-if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
+if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj_libd})
   unset(LibD_DIR CACHE)
 endif()
 
 mark_as_superbuild(
-  VARS ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj}:BOOL
+  VARS ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj_libd}:BOOL
   LABELS "USE_SYSTEM"
   )
 
@@ -24,11 +24,11 @@ if(DEFINED LibD_DIR AND NOT EXISTS ${LibD_DIR})
   message(FATAL_ERROR "LibD_DIR variable is defined but corresponds to non-existing directory")
 endif()
 
-if(NOT DEFINED LibD_DIR AND NOT ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
+if(NOT DEFINED LibD_DIR AND NOT ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj_libd})
 
-  message(FATAL_ERROR "Disabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")
+  message(FATAL_ERROR "Disabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj_libd} is not supported !")
 
 else()
-  superbuild_add_empty_external_project(${proj} "${${proj}_DEPENDENCIES}")
+  superbuild_add_empty_external_project(${proj_libd} "${${proj_libd}_DEPENDENCIES}")
 endif()
 

+ 16 - 1
CMake/ctkMacroCheckExternalProjectDependency.cmake

@@ -352,7 +352,22 @@ endfunction()
 
 #
 # superbuild_include_dependencies(<project>)
-macro(superbuild_include_dependencies proj)
+#
+# superbuild_include_dependencies(PROJECT_VAR <project_var>)
+#
+macro(superbuild_include_dependencies)
+  set(options)
+  set(oneValueArgs PROJECT_VAR)
+  set(multiValueArgs)
+  cmake_parse_arguments(_sb "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+  # XXX Implement invalid parameter checking
+
+  if(NOT "x" STREQUAL "x${_sb_PROJECT_VAR}")
+    set(proj ${${_sb_PROJECT_VAR}})
+  else()
+    set(proj ${_sb_UNPARSED_ARGUMENTS})
+  endif()
 
   # Set indent variable if needed
   if(NOT DEFINED __indent)

+ 1 - 1
CMakeExternals/CTKData.cmake

@@ -8,7 +8,7 @@ set(proj CTKData)
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   message(FATAL_ERROR "Enabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")

+ 1 - 1
CMakeExternals/DCMTK.cmake

@@ -12,7 +12,7 @@ set(${${proj}_enabling_variable}_FIND_PACKAGE_CMD DCMTK)
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   unset(DCMTK_DIR CACHE)

+ 1 - 1
CMakeExternals/ITK.cmake

@@ -13,7 +13,7 @@ set(${${proj}_enabling_variable}_FIND_PACKAGE_CMD ITK)
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   unset(ITK_DIR CACHE)

+ 1 - 1
CMakeExternals/KWStyle.cmake

@@ -8,7 +8,7 @@ set(proj KWStyle)
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   unset(KWSTYLE_EXECUTABLE CACHE)

+ 1 - 1
CMakeExternals/Log4Qt.cmake

@@ -12,7 +12,7 @@ set(${${proj}_enabling_variable}_FIND_PACKAGE_CMD Log4Qt)
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   message(FATAL_ERROR "Enabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")

+ 1 - 1
CMakeExternals/OpenIGTLink.cmake

@@ -13,7 +13,7 @@ set(${${proj}_enabling_variable}_FIND_PACKAGE_CMD OpenIGTLink)
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   unset(OpenIGTLink_DIR CACHE)

+ 1 - 1
CMakeExternals/PythonQt.cmake

@@ -12,7 +12,7 @@ set(${${proj}_enabling_variable}_FIND_PACKAGE_CMD ${proj})
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   message(FATAL_ERROR "Enabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")

+ 1 - 1
CMakeExternals/PythonQtGenerator.cmake

@@ -13,7 +13,7 @@ endif()
 
 set(${proj}_DEPENDENCIES PythonQt)
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   message(FATAL_ERROR "Enabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")

+ 1 - 1
CMakeExternals/QtSOAP.cmake

@@ -13,7 +13,7 @@ set(${${proj}_enabling_variable}_FIND_PACKAGE_CMD QtSOAP)
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   message(FATAL_ERROR "Enabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")

+ 1 - 1
CMakeExternals/QtTesting.cmake

@@ -10,7 +10,7 @@ set(${proj}_DEPENDS)
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   message(FATAL_ERROR "Enabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")

+ 1 - 1
CMakeExternals/VTK.cmake

@@ -13,7 +13,7 @@ set(${${proj}_enabling_variable}_FIND_PACKAGE_CMD VTK)
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   unset(VTK_DIR CACHE)

+ 1 - 1
CMakeExternals/XIP.cmake

@@ -13,7 +13,7 @@ set(${${proj}_enabling_variable}_FIND_PACKAGE_CMD XIP)
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   message(FATAL_ERROR "Enabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")

+ 1 - 1
CMakeExternals/ZMQ.cmake

@@ -13,7 +13,7 @@ set(${${proj}_enabling_variable}_FIND_PACKAGE_CMD ZMQ)
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   message(FATAL_ERROR "Enabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")

+ 1 - 1
CMakeExternals/qxmlrpc.cmake

@@ -13,7 +13,7 @@ set(${${proj}_enabling_variable}_FIND_PACKAGE_CMD qxmlrpc)
 
 set(${proj}_DEPENDENCIES "")
 
-superbuild_include_dependencies(${proj})
+superbuild_include_dependencies(PROJECT_VAR proj)
 
 if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
   message(FATAL_ERROR "Enabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")

+ 1 - 1
CMakeLists.txt

@@ -921,7 +921,7 @@ if(CTK_USE_CONTRIBUTED_PLUGINS)
     ctkFunctionCheckoutRepo(
       NAME ExternalProjectsContrib
       GIT_URL github.com/commontk/ExternalProjectsContrib.git
-      GIT_TAG d8613c6
+      GIT_TAG 8cea706
       )
     mark_as_superbuild(ExternalProjectsContrib_DIR:PATH)
   endif()