Merge topic 'link-libs-config-case'

2af18704fd Merge branch 'backport-3.16-link-libs-config-case'
3f976bf201 target_link_libraries: Fix regression in case of $<CONFIG> genex
5a95b5e091 target_link_libraries: Fix regression in case of $<CONFIG> genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4544
This commit is contained in:
Brad King
2020-03-31 13:19:34 +00:00
committed by Kitware Robot
5 changed files with 30 additions and 6 deletions

View File

@@ -0,0 +1 @@
1

View File

@@ -0,0 +1,13 @@
^CMake Error at ConfigCase.cmake:[0-9]+ \(add_library\):
Target "impl" links to target "config::impl-Debug" but the target was not
found. Perhaps a find_package\(\) call is missing for an IMPORTED target, or
an ALIAS target is missing\?
Call Stack \(most recent call first\):
CMakeLists.txt:[0-9]+ \(include\)
+
CMake Error at ConfigCase.cmake:[0-9]+ \(add_library\):
Target "impl" links to target "config::iface-Debug" but the target was not
found. Perhaps a find_package\(\) call is missing for an IMPORTED target, or
an ALIAS target is missing\?
Call Stack \(most recent call first\):
CMakeLists.txt:[0-9]+ \(include\)

View File

@@ -0,0 +1,6 @@
cmake_policy(VERSION 3.15)
enable_language(C)
add_library(iface INTERFACE)
target_link_libraries(iface INTERFACE "config::iface-$<CONFIG>")
add_library(impl empty.c)
target_link_libraries(impl PRIVATE "config::impl-$<CONFIG>" iface)

View File

@@ -1,5 +1,13 @@
include(RunCMake)
if(RunCMake_GENERATOR_IS_MULTI_CONFIG)
set(RunCMake_TEST_OPTIONS -DCMAKE_CONFIGURATION_TYPES=Debug)
else()
set(RunCMake_TEST_OPTIONS -DCMAKE_BUILD_TYPE=Debug)
endif()
run_cmake(ConfigCase)
unset(RunCMake_TEST_OPTIONS)
run_cmake(CMP0023-WARN)
run_cmake(CMP0023-NEW)
run_cmake(CMP0023-WARN-2)