[Cmake-commits] CMake branch, next, updated. v2.8.9-783-gaccd4f6

Stephen Kelly steveire at gmail.com
Tue Sep 25 16:53:30 EDT 2012


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  accd4f6540a2a0a9ed6bc5dccfae8360ddb0a63d (commit)
       via  4525e712e8cd59c501eb34469f0c5d49fcddd6de (commit)
       via  6c2a43c6945336076ec86067e67366e197b25c47 (commit)
       via  4eae42386e31b2ae10d43af35e2991ede254bcc2 (commit)
       via  1d356010ff7a471590be0307f8a65fc04fca9830 (commit)
      from  2fed1ebce8f47e09ed2439b1db37bd11ba7ce8b5 (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=accd4f6540a2a0a9ed6bc5dccfae8360ddb0a63d
commit accd4f6540a2a0a9ed6bc5dccfae8360ddb0a63d
Merge: 2fed1eb 4525e71
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Tue Sep 25 16:52:35 2012 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Sep 25 16:52:35 2012 -0400

    Merge topic 'generator-expression-target-properties' into next
    
    4525e71 Test and fix the new generator expressions.
    6c2a43c Test generator expressions not at the start of the input string.
    4eae423 Fix the logic of finding a generator expression in include directories.
    1d35601 Add testcase for a '<' as the second char in the path.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4525e712e8cd59c501eb34469f0c5d49fcddd6de
commit 4525e712e8cd59c501eb34469f0c5d49fcddd6de
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Tue Sep 25 22:48:50 2012 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Tue Sep 25 22:48:50 2012 +0200

    Test and fix the new generator expressions.

diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
index a4a5c9f..67bcc0b 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -150,7 +150,7 @@ static const struct BoolNode : public cmGeneratorExpressionNode
 {
   BoolNode() {}
 
-  virtual bool AcceptsSingleArbitraryContentParameter() const { return true; }
+  virtual int NumExpectedParameters() const { return 1; }
 
   std::string Evaluate(const std::vector<std::string> &parameters,
                        cmGeneratorExpressionContext *,
@@ -527,7 +527,7 @@ cmGeneratorExpressionNode* GetNode(const std::string &identifier)
     return &strEqualNode;
   else if (identifier == "BOOL")
     return &boolNode;
-  else if (identifier == "RANGLE")
+  else if (identifier == "ANGLE-R")
     return &angle_rNode;
   else if (identifier == "COMMA")
     return &commaNode;
diff --git a/Tests/GeneratorExpression/CMakeLists.txt b/Tests/GeneratorExpression/CMakeLists.txt
index 2b135dc..79a8abb 100644
--- a/Tests/GeneratorExpression/CMakeLists.txt
+++ b/Tests/GeneratorExpression/CMakeLists.txt
@@ -22,6 +22,23 @@ add_custom_target(check ALL
     -Dtest_or_1=$<OR:1>
     -Dtest_or_1_0=$<OR:1,0>
     -Dtest_or_1_1=$<OR:1,1>
+    -Dtest_bool_notfound=$<BOOL:NOTFOUND>
+    -Dtest_bool_foo_notfound=$<BOOL:Foo-NOTFOUND>
+    -Dtest_bool_true=$<BOOL:True>
+    -Dtest_bool_false=$<BOOL:False>
+    -Dtest_bool_on=$<BOOL:On>
+    -Dtest_bool_off=$<BOOL:Off>
+    -Dtest_bool_no=$<BOOL:No>
+    -Dtest_bool_n=$<BOOL:N>
+    -Dtest_strequal_yes_yes=$<STREQUAL:Yes,Yes>
+    -Dtest_strequal_yes_yes_cs=$<STREQUAL:Yes,yes>
+    -Dtest_strequal_yes_no=$<STREQUAL:Yes,No>
+    -Dtest_strequal_no_yes=$<STREQUAL:No,Yes>
+    -Dtest_strequal_angle_r=$<STREQUAL:$<ANGLE-R>,$<ANGLE-R>>
+    -Dtest_strequal_comma=$<STREQUAL:$<COMMA>,$<COMMA>>
+    -Dtest_strequal_angle_r_comma=$<STREQUAL:$<ANGLE-R>,$<COMMA>>
+    -Dtest_angle_r=$<ANGLE-R>
+    -Dtest_comma=$<COMMA>
     -P ${CMAKE_CURRENT_SOURCE_DIR}/check.cmake
   COMMAND ${CMAKE_COMMAND} -E echo "check done"
   VERBATIM
diff --git a/Tests/GeneratorExpression/check.cmake b/Tests/GeneratorExpression/check.cmake
index e243d85..6fb87a2 100644
--- a/Tests/GeneratorExpression/check.cmake
+++ b/Tests/GeneratorExpression/check.cmake
@@ -23,3 +23,20 @@ check(test_or_0_1 "1")
 check(test_or_1 "1")
 check(test_or_1_0 "1")
 check(test_or_1_1 "1")
+check(test_bool_notfound "0")
+check(test_bool_foo_notfound "0")
+check(test_bool_true "1")
+check(test_bool_false "0")
+check(test_bool_on "1")
+check(test_bool_off "0")
+check(test_bool_no "0")
+check(test_bool_n "0")
+check(test_strequal_yes_yes "1")
+check(test_strequal_yes_yes_cs "0")
+check(test_strequal_yes_no "0")
+check(test_strequal_no_yes "0")
+check(test_strequal_angle_r "1")
+check(test_strequal_comma "1")
+check(test_strequal_angle_r_comma "0")
+check(test_angle_r ">")
+check(test_comma ",")

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6c2a43c6945336076ec86067e67366e197b25c47
commit 6c2a43c6945336076ec86067e67366e197b25c47
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Tue Sep 25 22:23:37 2012 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Tue Sep 25 22:23:37 2012 +0200

    Test generator expressions not at the start of the input string.

diff --git a/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt b/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt
index e51147a..4b6f682 100644
--- a/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt
+++ b/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt
@@ -29,3 +29,4 @@ set_property(TARGET TargetIncludeDirectories APPEND PROPERTY
 
 include_directories("${CMAKE_CURRENT_BINARY_DIR}/baz")
 include_directories("$<1:${CMAKE_CURRENT_BINARY_DIR}/bung>")
+include_directories("sing$<1:/ting>")
diff --git a/Tests/IncludeDirectories/TargetIncludeDirectories/main.cpp b/Tests/IncludeDirectories/TargetIncludeDirectories/main.cpp
index 4ecf9f8..63217f4 100644
--- a/Tests/IncludeDirectories/TargetIncludeDirectories/main.cpp
+++ b/Tests/IncludeDirectories/TargetIncludeDirectories/main.cpp
@@ -6,6 +6,7 @@
 #include "bang.h"
 #include "bing.h"
 #include "bung.h"
+#include "ting.h"
 
 int main(int, char**)
 {
diff --git a/Tests/IncludeDirectories/TargetIncludeDirectories/sing/ting/ting.h b/Tests/IncludeDirectories/TargetIncludeDirectories/sing/ting/ting.h
new file mode 100644
index 0000000..4fe01dd
--- /dev/null
+++ b/Tests/IncludeDirectories/TargetIncludeDirectories/sing/ting/ting.h
@@ -0,0 +1 @@
+//ting.h

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4eae42386e31b2ae10d43af35e2991ede254bcc2
commit 4eae42386e31b2ae10d43af35e2991ede254bcc2
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Tue Sep 25 22:17:50 2012 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Tue Sep 25 22:17:50 2012 +0200

    Fix the logic of finding a generator expression in include directories.

diff --git a/Source/cmIncludeDirectoryCommand.cxx b/Source/cmIncludeDirectoryCommand.cxx
index 11c5f4e..ba81849 100644
--- a/Source/cmIncludeDirectoryCommand.cxx
+++ b/Source/cmIncludeDirectoryCommand.cxx
@@ -55,6 +55,11 @@ bool cmIncludeDirectoryCommand
   return true;
 }
 
+static bool StartsWithGeneratorExpression(const std::string &input)
+{
+  return input[0] == '$' && input[1] == '<';
+}
+
 // do a lot of cleanup on the arguments because this is one place where folks
 // sometimes take the output of a program and pass it directly into this
 // command not thinking that a single argument could be filled with spaces
@@ -105,7 +110,7 @@ void cmIncludeDirectoryCommand::AddDirectory(const char *i,
     cmSystemTools::ConvertToUnixSlashes(ret);
     if(!cmSystemTools::FileIsFullPath(ret.c_str()))
       {
-      if(ret[0] != '$' && ret[1] != '<')
+      if(!StartsWithGeneratorExpression(ret))
         {
         std::string tmp = this->Makefile->GetStartDirectory();
         tmp += "/";

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1d356010ff7a471590be0307f8a65fc04fca9830
commit 1d356010ff7a471590be0307f8a65fc04fca9830
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Tue Sep 25 22:13:44 2012 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Tue Sep 25 22:17:27 2012 +0200

    Add testcase for a '<' as the second char in the path.

diff --git a/Tests/IncludeDirectories/CMakeLists.txt b/Tests/IncludeDirectories/CMakeLists.txt
index 60f5e5e..3961c7c 100644
--- a/Tests/IncludeDirectories/CMakeLists.txt
+++ b/Tests/IncludeDirectories/CMakeLists.txt
@@ -36,6 +36,8 @@ else()
     "-ISrcProp")
 endif()
 
+include_directories(a<path)
+
 add_executable(IncludeDirectories main.cpp)
 
 if(USE_FULLPATH)
diff --git a/Tests/IncludeDirectories/a<path/Angle_L_in_path.h b/Tests/IncludeDirectories/a<path/Angle_L_in_path.h
new file mode 100644
index 0000000..ee5e8e7
--- /dev/null
+++ b/Tests/IncludeDirectories/a<path/Angle_L_in_path.h
@@ -0,0 +1 @@
+//Angle_L_in_path.h
diff --git a/Tests/IncludeDirectories/main.cpp b/Tests/IncludeDirectories/main.cpp
index a59d27c..53ab0e5 100644
--- a/Tests/IncludeDirectories/main.cpp
+++ b/Tests/IncludeDirectories/main.cpp
@@ -2,6 +2,7 @@
 #include "IncDir.h"
 #include "SrcProp.h"
 #include "TarProp.h"
+#include "Angle_L_in_path.h"
 
 int main(int argc, char** argv)
 {

-----------------------------------------------------------------------

Summary of changes:
 Source/cmGeneratorExpressionEvaluator.cxx          |    4 ++--
 Source/cmIncludeDirectoryCommand.cxx               |    7 ++++++-
 Tests/GeneratorExpression/CMakeLists.txt           |   17 +++++++++++++++++
 Tests/GeneratorExpression/check.cmake              |   17 +++++++++++++++++
 Tests/IncludeDirectories/CMakeLists.txt            |    2 ++
 .../TargetIncludeDirectories/CMakeLists.txt        |    1 +
 .../TargetIncludeDirectories/main.cpp              |    1 +
 .../TargetIncludeDirectories/sing/ting/ting.h      |    1 +
 Tests/IncludeDirectories/a<path/Angle_L_in_path.h  |    1 +
 Tests/IncludeDirectories/main.cpp                  |    1 +
 10 files changed, 49 insertions(+), 3 deletions(-)
 create mode 100644 Tests/IncludeDirectories/TargetIncludeDirectories/sing/ting/ting.h
 create mode 100644 Tests/IncludeDirectories/a<path/Angle_L_in_path.h


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list