From 17094eb57207b18597f6029560cdd41e6c773a61 Mon Sep 17 00:00:00 2001 From: Arha Gatram Date: Tue, 16 Jun 2026 10:55:50 -0700 Subject: [PATCH] ALIAS: Add test for generator expressions with ALIAS targets Generator expressions already correctly get properties of an ALIAS from the referenced target. Adds a test to verify a more complicated case that a generator expression set on an ALIAS target to a transitive property that gets a property from the ALIAS evaluates correctly. --- Tests/RunCMake/alias_targets/RunCMakeTest.cmake | 1 + .../alias_targets/generator-expression-check.cmake | 5 +++++ .../RunCMake/alias_targets/generator-expression.cmake | 10 ++++++++++ 3 files changed, 16 insertions(+) create mode 100644 Tests/RunCMake/alias_targets/generator-expression-check.cmake create mode 100644 Tests/RunCMake/alias_targets/generator-expression.cmake diff --git a/Tests/RunCMake/alias_targets/RunCMakeTest.cmake b/Tests/RunCMake/alias_targets/RunCMakeTest.cmake index 4ce22bdd44..4ceb9f5972 100644 --- a/Tests/RunCMake/alias_targets/RunCMakeTest.cmake +++ b/Tests/RunCMake/alias_targets/RunCMakeTest.cmake @@ -14,6 +14,7 @@ run_cmake(alias-target) run_cmake(set_property) run_cmake(set_property-ALIAS_GLOBAL) run_cmake(get_property) +run_cmake(generator-expression) run_cmake(set_target_properties) run_cmake(set_target_properties-ALIAS_GLOBAL) run_cmake(target_link_libraries) diff --git a/Tests/RunCMake/alias_targets/generator-expression-check.cmake b/Tests/RunCMake/alias_targets/generator-expression-check.cmake new file mode 100644 index 0000000000..396db7cc6b --- /dev/null +++ b/Tests/RunCMake/alias_targets/generator-expression-check.cmake @@ -0,0 +1,5 @@ +file(READ "${RunCMake_TEST_BINARY_DIR}/generator-expression-generated.txt" content) + +if(NOT content STREQUAL "value") + set(RunCMake_TEST_FAILED "set_property(): Target property 'COMPILE_DEFINITIONS' set on ALIAS 'alias::lib' has wrong value on aliased target 'lib': '${content}' instead of 'value'.") +endif() diff --git a/Tests/RunCMake/alias_targets/generator-expression.cmake b/Tests/RunCMake/alias_targets/generator-expression.cmake new file mode 100644 index 0000000000..6bb9ba55e3 --- /dev/null +++ b/Tests/RunCMake/alias_targets/generator-expression.cmake @@ -0,0 +1,10 @@ + +enable_language(CXX) + +add_library(lib empty.cpp) + +add_library(alias::lib ALIAS lib) +set_property(TARGET alias::lib PROPERTY COMPILE_DEFINITIONS $) +set_property(TARGET lib PROPERTY FOO value) + +file(GENERATE OUTPUT "generator-expression-generated.txt" CONTENT "$")