Quellcode durchsuchen

Simplify logic generating argument to pass to ExternalProject

See #418
Jean-Christophe Fillion-Robin vor 11 Jahren
Ursprung
Commit
b69b8a2d81
1 geänderte Dateien mit 8 neuen und 15 gelöschten Zeilen
  1. 8 15
      CMake/ctkMacroCheckExternalProjectDependency.cmake

+ 8 - 15
CMake/ctkMacroCheckExternalProjectDependency.cmake

@@ -259,7 +259,6 @@ function(_sb_append_to_cmake_args)
       if(NOT TARGET ${_sb_PROJECT})
         set_property(GLOBAL APPEND PROPERTY ${_sb_PROJECT}_EP_${_ep_property} ${varname_and_vartype})
         _sb_extract_varname_and_vartype(${varname_and_vartype} _varname)
-        set_property(GLOBAL APPEND PROPERTY ${_sb_PROJECT}_EP_PROPERTIES ${_ep_property})
       else()
         message(FATAL_ERROR "Function _sb_append_to_cmake_args not allowed is project already added !")
       endif()
@@ -312,20 +311,14 @@ function(_sb_get_external_project_arguments proj varname)
   _sb_collect_args(${_ALL_PROJECT_IDENTIFIER})
 
   set(_ep_arguments "")
-  get_property(_proj_properties GLOBAL PROPERTY ${proj}_EP_PROPERTIES)
-  get_property(_all_properties GLOBAL PROPERTY ${_ALL_PROJECT_IDENTIFIER}_EP_PROPERTIES)
-  set(_properties ${_proj_properties} ${_all_properties})
-  if(_properties)
-    list(REMOVE_DUPLICATES _properties)
-    foreach(property ${_properties})
-      get_property(${proj}_EP_PROPERTY_${property} GLOBAL PROPERTY ${proj}_EP_PROPERTY_${property})
-      get_property(${_ALL_PROJECT_IDENTIFIER}_EP_PROPERTY_${property} GLOBAL PROPERTY ${_ALL_PROJECT_IDENTIFIER}_EP_PROPERTY_${property})
-      if(${proj}_EP_PROPERTY_${property} OR ${_ALL_PROJECT_IDENTIFIER}_EP_PROPERTY_${property})
-        list(APPEND _ep_arguments ${property}
-          ${${proj}_EP_PROPERTY_${property}} ${${_ALL_PROJECT_IDENTIFIER}_EP_PROPERTY_${property}})
-      endif()
-    endforeach()
-  endif()
+  foreach(property CMAKE_ARGS CMAKE_CACHE_ARGS)
+    get_property(${proj}_EP_PROPERTY_${property} GLOBAL PROPERTY ${proj}_EP_PROPERTY_${property})
+    get_property(${_ALL_PROJECT_IDENTIFIER}_EP_PROPERTY_${property} GLOBAL PROPERTY ${_ALL_PROJECT_IDENTIFIER}_EP_PROPERTY_${property})
+    if(${proj}_EP_PROPERTY_${property} OR ${_ALL_PROJECT_IDENTIFIER}_EP_PROPERTY_${property})
+      list(APPEND _ep_arguments ${property}
+        ${${proj}_EP_PROPERTY_${property}} ${${_ALL_PROJECT_IDENTIFIER}_EP_PROPERTY_${property}})
+    endif()
+  endforeach()
 
   list(APPEND _ep_arguments LIST_SEPARATOR ${EP_LIST_SEPARATOR})