Browse Source

Merge topic 'optimize-CPack-module'

000d572d04 CPack.cmake: reduce `foreach` iterations count matching `CPACK*` vars

Acked-by: Kitware Robot <[email protected]>
Merge-request: !11580
Brad King 1 month ago
parent
commit
f2d688bf5f
1 changed files with 8 additions and 9 deletions
  1. 8 9
      Modules/CPack.cmake

+ 8 - 9
Modules/CPack.cmake

@@ -554,16 +554,15 @@ endmacro()
 function(cpack_encode_variables)
   set(commands "")
   get_cmake_property(res VARIABLES)
-  foreach(var ${res})
-    if(var MATCHES "^CPACK")
-      if(CPACK_VERBATIM_VARIABLES)
-        _cpack_escape_for_cmake(value "${${var}}")
-      else()
-        set(value "${${var}}")
-      endif()
-
-      string(APPEND commands "\nset(${var} \"${value}\")")
+  list(FILTER res INCLUDE REGEX "^CPACK")
+  foreach(var IN LISTS res)
+    if(CPACK_VERBATIM_VARIABLES)
+      _cpack_escape_for_cmake(value "${${var}}")
+    else()
+      set(value "${${var}}")
     endif()
+
+    string(APPEND commands "\nset(${var} \"${value}\")")
   endforeach()
 
   set(_CPACK_OTHER_VARIABLES_ "${commands}" PARENT_SCOPE)