]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
cmake: improve `curl_dumpvars()` and move to `Utilities.cmake`
authorViktor Szakats <commit@vsz.me>
Tue, 12 Nov 2024 20:37:07 +0000 (21:37 +0100)
committerViktor Szakats <commit@vsz.me>
Mon, 16 Dec 2024 17:08:13 +0000 (18:08 +0100)
Also:
- dump variable types.
- show which variables are marked as advanced.
- use `IN ITEMS`.

Closes #15562

CMake/Utilities.cmake
CMakeLists.txt

index 0ecfa31293ef78ef43251dc6290cc1124042e58f..08e679090b32b43d492887a9cd8ebc0f095c967d 100644 (file)
@@ -33,3 +33,21 @@ function(count_true _output_count_var)
   endforeach()
   set(${_output_count_var} ${lst_len} PARENT_SCOPE)
 endfunction()
+
+# Dump all defined variables with their values
+function(curl_dumpvars)
+  message("::group::CMake Variable Dump")
+  get_cmake_property(_vars VARIABLES)
+  foreach(_var IN ITEMS ${_vars})
+    get_property(_var_type CACHE ${_var} PROPERTY TYPE)
+    get_property(_var_advanced CACHE ${_var} PROPERTY ADVANCED)
+    if(_var_type)
+      set(_var_type ":${_var_type}")
+    endif()
+    if(_var_advanced)
+      set(_var_advanced " [adv]")
+    endif()
+    message("${_var}${_var_type}${_var_advanced} = ${${_var}}")
+  endforeach()
+  message("::endgroup::")
+endfunction()
index 7b1797cad0fdc750544dff243a4b309d44553956..eb3108766dfd3c3668eb526758bc8ce1539b6d7a 100644 (file)
@@ -66,15 +66,6 @@ if(NOT "$ENV{CURL_BUILDINFO}$ENV{CURL_CI}$ENV{CI}" STREQUAL "")
   endforeach()
 endif()
 
-function(curl_dumpvars)  # Dump all defined variables with their values
-  message("::group::CMake Variable Dump")
-  get_cmake_property(_vars VARIABLES)
-  foreach(_var ${_vars})
-    message("${_var} = ${${_var}}")
-  endforeach()
-  message("::endgroup::")
-endfunction()
-
 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}")
 include(Utilities)
 include(Macros)