[Cmake-commits] CMake branch, next, updated. v2.8.12.1-6438-g7367b82
Stephen Kelly
steveire at gmail.com
Thu Dec 26 18:31:30 EST 2013
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 7367b8218df83575f90e3b0327908651063bf4fd (commit)
via cc56b07eb986a63f3b13a3758b5ec5bf68f71bdb (commit)
from 2ba74a2ad5e3d5a721b61a67f0814e821bbe340e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7367b8218df83575f90e3b0327908651063bf4fd
commit 7367b8218df83575f90e3b0327908651063bf4fd
Merge: 2ba74a2 cc56b07
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Thu Dec 26 18:31:27 2013 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Dec 26 18:31:27 2013 -0500
Merge topic 'minor-cleanups' into next
cc56b07 cmTarget: Fix the property compatibility error message
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cc56b07eb986a63f3b13a3758b5ec5bf68f71bdb
commit cc56b07eb986a63f3b13a3758b5ec5bf68f71bdb
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Fri Dec 27 00:29:52 2013 +0100
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Fri Dec 27 00:29:52 2013 +0100
cmTarget: Fix the property compatibility error message
Don't refer to 'both', but a 'mixture'. List all compatible interface
property types possible.
Add another test for a mixture of three compatibilities.
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 7f8bdb7..b89cfcf 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -5962,7 +5962,8 @@ void cmTarget::CheckPropertyCompatibility(cmComputeLinkInformation *info,
<< propsString <<
" property in the dependencies of target \"" << this->GetName() <<
"\". This is not allowed. A property may only require compatibility "
- "in a boolean interpretation or a string interpretation, but not both.";
+ "in a boolean interpretation, a numeric minimum, a numeric maximum or a "
+ "string interpretation, but not a mixture.";
this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
}
}
diff --git a/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Conflict-stderr.txt b/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Conflict-stderr.txt
index 5a8f99d..900e3f8 100644
--- a/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Conflict-stderr.txt
+++ b/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Conflict-stderr.txt
@@ -2,4 +2,5 @@ CMake Error in CMakeLists.txt:
Property "SOMETHING" appears in both the COMPATIBLE_INTERFACE_BOOL and the
COMPATIBLE_INTERFACE_STRING property in the dependencies of target "user".
This is not allowed. A property may only require compatibility in a
- boolean interpretation or a string interpretation, but not both.
+ boolean interpretation, a numeric minimum, a numeric maximum or a string
+ interpretation, but not a mixture.
diff --git a/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Conflict.cmake b/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Conflict.cmake
index 711368a..4bae804 100644
--- a/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Conflict.cmake
+++ b/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Conflict.cmake
@@ -1,9 +1,8 @@
add_library(foo UNKNOWN IMPORTED)
-add_library(bar UNKNOWN IMPORTED)
set_property(TARGET foo APPEND PROPERTY COMPATIBLE_INTERFACE_BOOL SOMETHING)
set_property(TARGET foo APPEND PROPERTY COMPATIBLE_INTERFACE_STRING SOMETHING)
add_executable(user main.cpp)
-target_link_libraries(user foo bar)
+target_link_libraries(user foo)
diff --git a/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Min-Conflict-result.txt b/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Min-Conflict-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Min-Conflict-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Min-Conflict-stderr.txt b/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Min-Conflict-stderr.txt
new file mode 100644
index 0000000..2cfbae4
--- /dev/null
+++ b/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Min-Conflict-stderr.txt
@@ -0,0 +1,7 @@
+CMake Error in CMakeLists.txt:
+ Property "OTHER" appears in both the COMPATIBLE_INTERFACE_BOOL,
+ COMPATIBLE_INTERFACE_NUMBER_MIN and the COMPATIBLE_INTERFACE_STRING
+ property in the dependencies of target "user". This is not allowed. A
+ property may only require compatibility in a boolean interpretation, a
+ numeric minimum, a numeric maximum or a string interpretation, but not a
+ mixture.
diff --git a/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Conflict.cmake b/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Min-Conflict.cmake
similarity index 59%
copy from Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Conflict.cmake
copy to Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Min-Conflict.cmake
index 711368a..164ffd9 100644
--- a/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Conflict.cmake
+++ b/Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Min-Conflict.cmake
@@ -1,9 +1,9 @@
add_library(foo UNKNOWN IMPORTED)
-add_library(bar UNKNOWN IMPORTED)
-set_property(TARGET foo APPEND PROPERTY COMPATIBLE_INTERFACE_BOOL SOMETHING)
-set_property(TARGET foo APPEND PROPERTY COMPATIBLE_INTERFACE_STRING SOMETHING)
+set_property(TARGET foo APPEND PROPERTY COMPATIBLE_INTERFACE_BOOL OTHER)
+set_property(TARGET foo APPEND PROPERTY COMPATIBLE_INTERFACE_STRING OTHER)
+set_property(TARGET foo APPEND PROPERTY COMPATIBLE_INTERFACE_NUMBER_MIN OTHER)
add_executable(user main.cpp)
-target_link_libraries(user foo bar)
+target_link_libraries(user foo)
diff --git a/Tests/RunCMake/CompatibleInterface/RunCMakeTest.cmake b/Tests/RunCMake/CompatibleInterface/RunCMakeTest.cmake
index b87adc8..ec52e5f 100644
--- a/Tests/RunCMake/CompatibleInterface/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CompatibleInterface/RunCMakeTest.cmake
@@ -9,6 +9,7 @@ run_cmake(InterfaceString-mismatch-depend-self)
run_cmake(InterfaceString-mismatched-use)
run_cmake(InterfaceString-builtin-prop)
run_cmake(InterfaceString-Bool-Conflict)
+run_cmake(InterfaceString-Bool-Min-Conflict)
run_cmake(DebugProperties)
if (QT_QMAKE_EXECUTABLE})
-----------------------------------------------------------------------
Summary of changes:
Source/cmTarget.cxx | 3 ++-
.../InterfaceString-Bool-Conflict-stderr.txt | 3 ++-
.../InterfaceString-Bool-Conflict.cmake | 3 +--
.../InterfaceString-Bool-Min-Conflict-result.txt} | 0
.../InterfaceString-Bool-Min-Conflict-stderr.txt | 7 +++++++
...ake => InterfaceString-Bool-Min-Conflict.cmake} | 8 ++++----
.../CompatibleInterface/RunCMakeTest.cmake | 1 +
7 files changed, 17 insertions(+), 8 deletions(-)
copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => CompatibleInterface/InterfaceString-Bool-Min-Conflict-result.txt} (100%)
create mode 100644 Tests/RunCMake/CompatibleInterface/InterfaceString-Bool-Min-Conflict-stderr.txt
copy Tests/RunCMake/CompatibleInterface/{InterfaceString-Bool-Conflict.cmake => InterfaceString-Bool-Min-Conflict.cmake} (59%)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list