← Commit list

dea00a6d73

Viktor Szakats
Viktor Szakats
2026-08-13
SUCCESS Duration: 438s

Subject

cmake: use built-in variable and target property dump functions with CMake 4.5+

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

CMake/Utilities.cmake+23 -16
@@ -37,24 +37,30 @@ 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()
+ if(CMAKE_VERSION VERSION_GREATER_EQUAL 4.5)
+ cmake_language(PRINT_VARIABLES ALL)
+ else()
+ 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()
+ endif()
message("::endgroup::")
endfunction()
# Dump all target properties
function(curl_dumptargetprops _target)
- if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.19 AND TARGET "${_target}")
+ if(CMAKE_VERSION VERSION_GREATER_EQUAL 4.5)
+ cmake_language(PRINT_PROPERTIES TARGETS "${_target}" ALL)
+ elseif(CMAKE_VERSION VERSION_GREATER_EQUAL 3.19 AND TARGET "${_target}")
execute_process(COMMAND "${CMAKE_COMMAND}" "--help-property-list" OUTPUT_VARIABLE _cmake_property_list)
string(REPLACE "\n" ";" _cmake_property_list "${_cmake_property_list}")
list(REMOVE_DUPLICATES _cmake_property_list)
@@ -64,21 +70,22 @@ function(curl_dumptargetprops _target)
if(NOT _target_imported)
list(REMOVE_ITEM _cmake_property_list "LOCATION" "LOCATION_<CONFIG>" "MACOSX_PACKAGE_LOCATION" "VS_DEPLOYMENT_LOCATION")
endif()
+ list(SORT _cmake_property_list)
foreach(_prop IN LISTS _cmake_property_list)
if(_prop MATCHES "<CONFIG>")
- foreach(_config IN ITEMS "DEBUG" "RELEASE" "MINSIZEREL" "RELWITHDEBINFO")
+ foreach(_config IN ITEMS "DEBUG" "MINSIZEREL" "RELEASE" "RELWITHDEBINFO")
string(REPLACE "<CONFIG>" "${_config}" _propconfig "${_prop}")
get_property(_is_set TARGET "${_target}" PROPERTY "${_propconfig}" SET)
if(_is_set)
get_target_property(_val "${_target}" "${_propconfig}")
- message("${_target}.${_propconfig} = '${_val}'")
+ message(" ${_target}.${_propconfig} = \"${_val}\"")
endif()
endforeach()
else()
get_property(_is_set TARGET "${_target}" PROPERTY "${_prop}" SET)
if(_is_set)
get_target_property(_val "${_target}" "${_prop}")
- message("${_target}.${_prop} = '${_val}'")
+ message(" ${_target}.${_prop} = \"${_val}\"")
endif()
endif()
endforeach()