summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-12-16 17:42:29 (GMT)
committerBrad King <brad.king@kitware.com>2021-12-16 21:43:17 (GMT)
commitea050286e7f4b659518bf5b6c4adbddefa3cc9a6 (patch)
tree90849ed084ad953d03d0b84eb812c5383140db55 /Tests/RunCMake
parenta97c92e46eff516eb4642776dcf85bd646e63763 (diff)
downloadCMake-ea050286e7f4b659518bf5b6c4adbddefa3cc9a6.zip
CMake-ea050286e7f4b659518bf5b6c4adbddefa3cc9a6.tar.gz
CMake-ea050286e7f4b659518bf5b6c4adbddefa3cc9a6.tar.bz2
CMP0028: Report the target whose link interface has an offending item
Previously items linked via the link interface of a dependency were reported in CMP0028 messages as if directly linked by a target. Clarify the messages to indicate that an offending item is actually in the link interface of a given target, regardless of its consumer. Move the check to the end of generation and look through the final set of link implementations and link interfaces that were used for generation. This avoids repeating messages on link interfaces that have multiple consumers.
Diffstat (limited to 'Tests/RunCMake')
-rw-r--r--Tests/RunCMake/CMP0028/CMP0028-NEW-iface-stderr.txt12
-rw-r--r--Tests/RunCMake/CMP0028/CMP0028-NEW-stderr.txt12
-rw-r--r--Tests/RunCMake/CMP0028/CMP0028-WARN-iface-stderr.txt12
-rw-r--r--Tests/RunCMake/CMP0028/CMP0028-WARN-stderr.txt12
-rw-r--r--Tests/RunCMake/target_link_libraries/CMP0079-link-NEW-bogus-stderr.txt12
-rw-r--r--Tests/RunCMake/target_link_libraries/ConfigCase-stderr.txt28
6 files changed, 65 insertions, 23 deletions
diff --git a/Tests/RunCMake/CMP0028/CMP0028-NEW-iface-stderr.txt b/Tests/RunCMake/CMP0028/CMP0028-NEW-iface-stderr.txt
index 2f264a1..111d1f0 100644
--- a/Tests/RunCMake/CMP0028/CMP0028-NEW-iface-stderr.txt
+++ b/Tests/RunCMake/CMP0028/CMP0028-NEW-iface-stderr.txt
@@ -1,6 +1,12 @@
CMake Error at CMP0028-NEW-iface\.cmake:5 \(target_link_libraries\):
- Target "foo" links to target "External::Library" but the target was not
- found. Perhaps a find_package\(\) call is missing for an IMPORTED target, or
- an ALIAS target is missing\?
+ The link interface of target "iface" contains:
+
+ External::Library
+
+ but the target was not found. Possible reasons include:
+(
+ \*[^
+]+)*
+
Call Stack \(most recent call first\):
CMakeLists\.txt:[0-9]+ \(include\)
diff --git a/Tests/RunCMake/CMP0028/CMP0028-NEW-stderr.txt b/Tests/RunCMake/CMP0028/CMP0028-NEW-stderr.txt
index 7abf318..17b25de 100644
--- a/Tests/RunCMake/CMP0028/CMP0028-NEW-stderr.txt
+++ b/Tests/RunCMake/CMP0028/CMP0028-NEW-stderr.txt
@@ -1,6 +1,12 @@
CMake Error at CMP0028-NEW\.cmake:5 \(target_link_libraries\):
- Target "foo" links to target "External::Library" but the target was not
- found. Perhaps a find_package\(\) call is missing for an IMPORTED target, or
- an ALIAS target is missing\?
+ Target "foo" links to:
+
+ External::Library
+
+ but the target was not found. Possible reasons include:
+(
+ \*[^
+]+)*
+
Call Stack \(most recent call first\):
CMakeLists\.txt:[0-9]+ \(include\)
diff --git a/Tests/RunCMake/CMP0028/CMP0028-WARN-iface-stderr.txt b/Tests/RunCMake/CMP0028/CMP0028-WARN-iface-stderr.txt
index e865d48..bb6a16e 100644
--- a/Tests/RunCMake/CMP0028/CMP0028-WARN-iface-stderr.txt
+++ b/Tests/RunCMake/CMP0028/CMP0028-WARN-iface-stderr.txt
@@ -3,9 +3,15 @@ CMake Warning \(dev\) at CMP0028-WARN-iface\.cmake:3 \(target_link_libraries\):
IMPORTED target. Run "cmake --help-policy CMP0028" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.
- Target "foo" links to target "External::Library" but the target was not
- found. Perhaps a find_package\(\) call is missing for an IMPORTED target, or
- an ALIAS target is missing\?
+ The link interface of target "iface" contains:
+
+ External::Library
+
+ but the target was not found. Possible reasons include:
+(
+ \*[^
+]+)*
+
Call Stack \(most recent call first\):
CMakeLists\.txt:[0-9]+ \(include\)
This warning is for project developers. Use -Wno-dev to suppress it.
diff --git a/Tests/RunCMake/CMP0028/CMP0028-WARN-stderr.txt b/Tests/RunCMake/CMP0028/CMP0028-WARN-stderr.txt
index 533cba3..c0cb5b0 100644
--- a/Tests/RunCMake/CMP0028/CMP0028-WARN-stderr.txt
+++ b/Tests/RunCMake/CMP0028/CMP0028-WARN-stderr.txt
@@ -3,9 +3,15 @@ CMake Warning \(dev\) at CMP0028-WARN\.cmake:3 \(target_link_libraries\):
IMPORTED target. Run "cmake --help-policy CMP0028" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.
- Target "foo" links to target "External::Library" but the target was not
- found. Perhaps a find_package\(\) call is missing for an IMPORTED target, or
- an ALIAS target is missing\?
+ Target "foo" links to:
+
+ External::Library
+
+ but the target was not found. Possible reasons include:
+(
+ \*[^
+]+)*
+
Call Stack \(most recent call first\):
CMakeLists\.txt:[0-9]+ \(include\)
This warning is for project developers. Use -Wno-dev to suppress it.
diff --git a/Tests/RunCMake/target_link_libraries/CMP0079-link-NEW-bogus-stderr.txt b/Tests/RunCMake/target_link_libraries/CMP0079-link-NEW-bogus-stderr.txt
index 644674f..488ae8d 100644
--- a/Tests/RunCMake/target_link_libraries/CMP0079-link-NEW-bogus-stderr.txt
+++ b/Tests/RunCMake/target_link_libraries/CMP0079-link-NEW-bogus-stderr.txt
@@ -1,6 +1,12 @@
^CMake Error at CMP0079-link-NEW-bogus\.cmake:6 \(set_property\):
- Target "top" links to target "::@\(0xdeadbeef\)" but the target was not
- found. Perhaps a find_package\(\) call is missing for an IMPORTED target, or
- an ALIAS target is missing\?
+ Target "top" links to:
+
+ ::@\(0xdeadbeef\)
+
+ but the target was not found. Possible reasons include:
+(
+ \*[^
+]+)*
+
Call Stack \(most recent call first\):
CMakeLists\.txt:[0-9]+ \(include\)
diff --git a/Tests/RunCMake/target_link_libraries/ConfigCase-stderr.txt b/Tests/RunCMake/target_link_libraries/ConfigCase-stderr.txt
index ea078b5..ad48fd0 100644
--- a/Tests/RunCMake/target_link_libraries/ConfigCase-stderr.txt
+++ b/Tests/RunCMake/target_link_libraries/ConfigCase-stderr.txt
@@ -1,13 +1,25 @@
-^CMake Error at ConfigCase\.cmake:6 \(target_link_libraries\):
- 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\?
+^CMake Error at ConfigCase\.cmake:4 \(target_link_libraries\):
+ The link interface of target "iface" contains:
+
+ config::iface-Debug
+
+ but the target was not found. Possible reasons include:
+(
+ \*[^
+]+)*
+
Call Stack \(most recent call first\):
CMakeLists\.txt:[0-9]+ \(include\)
+
-CMake Error at ConfigCase\.cmake:4 \(target_link_libraries\):
- 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\?
+CMake Error at ConfigCase\.cmake:6 \(target_link_libraries\):
+ Target "impl" links to:
+
+ config::impl-Debug
+
+ but the target was not found. Possible reasons include:
+(
+ \*[^
+]+)*
+
Call Stack \(most recent call first\):
CMakeLists\.txt:[0-9]+ \(include\)