CMake: check version for some properties in fl_debug_target()
Build and Test / build-linux (push) Waiting to run
Build and Test / build-wayland (push) Waiting to run
Build and Test / build-macos (push) Waiting to run
Build and Test / build-windows (push) Waiting to run

Debug only, if fl_debug_target() is used:

Prior to CMake 3.19 some properties of "INTERFACE_LIBRARY targets"
can't be read with get_property(). These properties are now
excluded if the CMake version is lower than 3.19.

(Backported from master)
This commit is contained in:
Albrecht Schlosser
2025-04-02 20:01:15 +02:00
parent 2e6e94d118
commit 838b7b98ea
+11 -6
View File
@@ -117,15 +117,20 @@ function(fl_debug_target name)
### INTERFACE_LOCATION)
### endif()
list(APPEND _props
if(NOT _type STREQUAL "INTERFACE_LIBRARY" OR CMAKE_VERSION VERSION_GREATER_EQUAL "3.19")
# Before 3.19: "INTERFACE_LIBRARY targets may only have whitelisted properties"
list(APPEND _props
INCLUDE_DIRECTORIES
LINK_DIRECTORIES
LINK_LIBRARIES
COMPILE_DEFINITIONS
INTERFACE_COMPILE_DEFINITIONS
INTERFACE_INCLUDE_DIRECTORIES
INTERFACE_LINK_DIRECTORIES
INTERFACE_LINK_LIBRARIES)
COMPILE_DEFINITIONS)
endif()
list(APPEND _props
INTERFACE_COMPILE_DEFINITIONS
INTERFACE_INCLUDE_DIRECTORIES
INTERFACE_LINK_DIRECTORIES
INTERFACE_LINK_LIBRARIES)
foreach(prop ${_props})
get_target_property(${prop} ${name} ${prop})