Przeglądaj źródła

Merge topic 'link-options-propagation'

af9d4f24ae Link properties: must be transitive over private dependency on static library

Acked-by: Kitware Robot <[email protected]>
Merge-request: !4130
Brad King 5 lat temu
rodzic
commit
f6e29e0405

+ 2 - 2
Source/cmGeneratorTarget.cxx

@@ -1215,8 +1215,8 @@ std::string cmGeneratorTarget::EvaluateInterfaceProperty(
           context->EvaluateForBuildsystem, context->Backtrace,
           context->Language);
         std::string libResult = cmGeneratorExpression::StripEmptyListElements(
-          lib.Target->EvaluateInterfaceProperty(prop, &libContext,
-                                                &dagChecker));
+          lib.Target->EvaluateInterfaceProperty(prop, &libContext, &dagChecker,
+                                                usage_requirements_only));
         if (!libResult.empty()) {
           if (result.empty()) {
             result = std::move(libResult);

+ 6 - 3
Tests/RunCMake/target_link_options/CMP0099.cmake

@@ -9,8 +9,11 @@ endif()
 add_library(LinkOptions_interface INTERFACE)
 target_link_options (LinkOptions_interface INTERFACE ${pre}BADFLAG_INTERFACE${obj})
 
-add_library(LinkOptions_static STATIC LinkOptionsLib.c)
-target_link_libraries (LinkOptions_static PRIVATE LinkOptions_interface)
+add_library(LinkOptions_static1 STATIC LinkOptionsLib.c)
+target_link_libraries (LinkOptions_static1 PRIVATE LinkOptions_interface)
+
+add_library(LinkOptions_static2 STATIC LinkOptionsLib.c)
+target_link_libraries (LinkOptions_static2 PRIVATE LinkOptions_static1)
 
 add_executable(LinkOptions_exe LinkOptionsExe.c)
-target_link_libraries (LinkOptions_exe PRIVATE LinkOptions_static)
+target_link_libraries (LinkOptions_exe PRIVATE LinkOptions_static2)