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.k...@kitware.com> AuthorDate: Fri Nov 1 10:25:30 2013 -0400 Commit: CMake Topic Stage <kwro...@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.k...@kitware.com> AuthorDate: Fri Nov 1 10:14:47 2013 -0400 Commit: Brad King <brad.k...@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 _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits