[Cmake-commits] CMake branch, next, updated. v2.8.12-4740-gdcd2506
Brad King
brad.king at kitware.com
Fri Nov 1 10:25:46 EDT 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 dcd250692708ce8a42dfe12fd05e222a96aa3a45 (commit)
via d9605897788d800e892de0d201a305046510d089 (commit)
from 2c713fe7fc13791833cc919a7f4cc6066b8295cd (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=dcd250692708ce8a42dfe12fd05e222a96aa3a45
commit dcd250692708ce8a42dfe12fd05e222a96aa3a45
Merge: 2c713fe d960589
Author: Brad King <brad.king at kitware.com>
AuthorDate: Fri Nov 1 10:25:30 2013 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Nov 1 10:25:30 2013 -0400
Merge topic 'object-library-no-TARGET_FILE' into next
d960589 Genex: Reject $<TARGET_FILE:...> for object libraries (#14532)
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d9605897788d800e892de0d201a305046510d089
commit d9605897788d800e892de0d201a305046510d089
Author: Brad King <brad.king at kitware.com>
AuthorDate: Fri Nov 1 10:14:47 2013 -0400
Commit: Brad King <brad.king at kitware.com>
CommitDate: Fri Nov 1 10:17:01 2013 -0400
Genex: Reject $<TARGET_FILE:...> for object libraries (#14532)
Teach the cmGeneratorExpressionEvaluator filesystem artifact logic
to reject OBJECT_LIBRARY targets since they have no main artifact.
Without the explicit rejection evaluation falls through to an
internal CMake error message in cmTarget::GetOutputInfo.
Extend the RunCMake.GeneratorExpression test to cover these cases.
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
index abe4e70..8b31354 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -1277,7 +1277,7 @@ struct TargetFilesystemArtifact : public cmGeneratorExpressionNode
"No target \"" + name + "\"");
return std::string();
}
- if(target->GetType() >= cmTarget::UTILITY &&
+ if(target->GetType() >= cmTarget::OBJECT_LIBRARY &&
target->GetType() != cmTarget::UNKNOWN_LIBRARY)
{
::reportError(context, content->GetOriginalExpression(),
diff --git a/Tests/RunCMake/GeneratorExpression/BadTargetTypeObject-result.txt b/Tests/RunCMake/GeneratorExpression/BadTargetTypeObject-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadTargetTypeObject-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/GeneratorExpression/BadTargetTypeObject-stderr.txt b/Tests/RunCMake/GeneratorExpression/BadTargetTypeObject-stderr.txt
new file mode 100644
index 0000000..533d38c
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadTargetTypeObject-stderr.txt
@@ -0,0 +1,26 @@
+CMake Error at BadTargetTypeObject.cmake:3 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<TARGET_FILE:objlib>
+
+ Target "objlib" is not an executable or library.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadTargetTypeObject.cmake:3 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<TARGET_SONAME_FILE:objlib>
+
+ Target "objlib" is not an executable or library.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadTargetTypeObject.cmake:3 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<TARGET_LINKER_FILE:objlib>
+
+ Target "objlib" is not an executable or library.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/GeneratorExpression/BadTargetTypeObject.cmake b/Tests/RunCMake/GeneratorExpression/BadTargetTypeObject.cmake
new file mode 100644
index 0000000..c47ee2b
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadTargetTypeObject.cmake
@@ -0,0 +1,7 @@
+enable_language(C)
+add_library(objlib OBJECT empty.c)
+add_custom_target(check ALL COMMAND echo
+ $<TARGET_FILE:objlib>
+ $<TARGET_SONAME_FILE:objlib>
+ $<TARGET_LINKER_FILE:objlib>
+ )
diff --git a/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake b/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake
index 62bf29b..54d5064 100644
--- a/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake
+++ b/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake
@@ -7,4 +7,5 @@ run_cmake(BadNOT)
run_cmake(BadStrEqual)
run_cmake(BadZero)
run_cmake(BadTargetName)
+run_cmake(BadTargetTypeObject)
run_cmake(BadInstallPrefix)
diff --git a/Tests/RunCMake/GeneratorExpression/empty.c b/Tests/RunCMake/GeneratorExpression/empty.c
new file mode 100644
index 0000000..e69de29
-----------------------------------------------------------------------
Summary of changes:
Source/cmGeneratorExpressionEvaluator.cxx | 2 +-
.../BadTargetTypeObject-result.txt} | 0
.../BadTargetTypeObject-stderr.txt | 26 ++++++++++++++++++++
.../GeneratorExpression/BadTargetTypeObject.cmake | 7 +++++
.../GeneratorExpression/RunCMakeTest.cmake | 1 +
.../RunCMake/GeneratorExpression/empty.c | 0
6 files changed, 35 insertions(+), 1 deletions(-)
copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => GeneratorExpression/BadTargetTypeObject-result.txt} (100%)
create mode 100644 Tests/RunCMake/GeneratorExpression/BadTargetTypeObject-stderr.txt
create mode 100644 Tests/RunCMake/GeneratorExpression/BadTargetTypeObject.cmake
copy Modules/IntelVSImplicitPath/hello.f => Tests/RunCMake/GeneratorExpression/empty.c (100%)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list