[Cmake-commits] CMake branch, next, updated. v2.8.10.1-1007-g5e7567d
Stephen Kelly
steveire at gmail.com
Sat Nov 24 08:45:40 EST 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 5e7567dd588dd1005b6469f64bf61e43010949c4 (commit)
via c955d936dc6cc9d2427b23514c9e78343f80915c (commit)
via bf12a0be8383ea82da8f99dffaa48cc8ec25df90 (commit)
via 4265ce4af3dfa72439cfa2ee47eeb47e8b47f2bc (commit)
from 4672f15930d767b611eec2fbed1bce06110f902a (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=5e7567dd588dd1005b6469f64bf61e43010949c4
commit 5e7567dd588dd1005b6469f64bf61e43010949c4
Merge: 4672f15 c955d93
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Nov 24 08:45:38 2012 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Sat Nov 24 08:45:38 2012 -0500
Merge topic 'tll-set-include-and-defines-requirements' into next
c955d93 Split the GeneratorExpression test into parts.
bf12a0b Add workaround for broken std::remove on some Borland.
4265ce4 Add some newlines to generated files.
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c955d936dc6cc9d2427b23514c9e78343f80915c
commit c955d936dc6cc9d2427b23514c9e78343f80915c
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Nov 24 14:40:01 2012 +0100
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Nov 24 14:44:42 2012 +0100
Split the GeneratorExpression test into parts.
Some shells can't run the custom command as it is getting too long.
diff --git a/Tests/GeneratorExpression/CMakeLists.txt b/Tests/GeneratorExpression/CMakeLists.txt
index 6ab58d7..66c190a 100644
--- a/Tests/GeneratorExpression/CMakeLists.txt
+++ b/Tests/GeneratorExpression/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required (VERSION 2.8.8)
project(GeneratorExpression NONE)
-add_custom_target(check ALL
+add_custom_target(check-part1 ALL
COMMAND ${CMAKE_COMMAND}
-Dtest_0=$<0:nothing>
-Dtest_0_with_comma=$<0:-Wl,--no-undefined>
@@ -57,6 +57,13 @@ add_custom_target(check ALL
-Dtest_colons_3=$<1:Qt5::Core>
-Dtest_colons_4=$<1:C:\\CMake>
-Dtest_colons_5=$<1:C:/CMake>
+ -P ${CMAKE_CURRENT_SOURCE_DIR}/check-part1.cmake
+ COMMAND ${CMAKE_COMMAND} -E echo "check done (part 1 of 2)"
+ VERBATIM
+ )
+
+add_custom_target(check-part2 ALL
+ COMMAND ${CMAKE_COMMAND}
-Dtest_incomplete_1=$<
-Dtest_incomplete_2=$<something
-Dtest_incomplete_3=$<something:
@@ -81,7 +88,7 @@ add_custom_target(check ALL
-Dtest_build_interface=$<BUILD_INTERFACE:build>
-Dtest_install_interface=$<INSTALL_INTERFACE:install>
-Dtest_export_namespace=$<EXPORT_NAMESPACE>x
- -P ${CMAKE_CURRENT_SOURCE_DIR}/check.cmake
- COMMAND ${CMAKE_COMMAND} -E echo "check done"
+ -P ${CMAKE_CURRENT_SOURCE_DIR}/check-part2.cmake
+ COMMAND ${CMAKE_COMMAND} -E echo "check done (part 2 of 2)"
VERBATIM
)
diff --git a/Tests/GeneratorExpression/check-common.cmake b/Tests/GeneratorExpression/check-common.cmake
new file mode 100644
index 0000000..8ffebd7
--- /dev/null
+++ b/Tests/GeneratorExpression/check-common.cmake
@@ -0,0 +1,5 @@
+macro(check var val)
+ if(NOT "${${var}}" STREQUAL "${val}")
+ message(SEND_ERROR "${var} is \"${${var}}\", not \"${val}\"")
+ endif()
+endmacro()
diff --git a/Tests/GeneratorExpression/check-part1.cmake b/Tests/GeneratorExpression/check-part1.cmake
new file mode 100644
index 0000000..7abfa82
--- /dev/null
+++ b/Tests/GeneratorExpression/check-part1.cmake
@@ -0,0 +1,56 @@
+
+include(${CMAKE_CURRENT_LIST_DIR}/check-common.cmake)
+
+message(STATUS "config=[${config}]")
+check(test_0 "")
+check(test_0_with_comma "")
+check(test_1 "content")
+check(test_1_with_comma "-Wl,--no-undefined")
+check(test_and_0 "0")
+check(test_and_0_0 "0")
+check(test_and_0_1 "0")
+check(test_and_1 "1")
+check(test_and_1_0 "0")
+check(test_and_1_1 "1")
+check(test_and_0_invalidcontent "0")
+check(test_config_0 "0")
+check(test_config_1 "1")
+foreach(c debug release relwithdebinfo minsizerel)
+ if(NOT "${test_config_${c}}" MATCHES "^(0+|1+)$")
+ message(SEND_ERROR "test_config_${c} is \"${test_config_${c}}\", not all 0 or all 1")
+ endif()
+endforeach()
+check(test_not_0 "1")
+check(test_not_1 "0")
+check(test_or_0 "0")
+check(test_or_0_0 "0")
+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_or_1_invalidcontent "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_bool_empty "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_strequal_both_empty "1")
+check(test_strequal_one_empty "0")
+check(test_angle_r ">")
+check(test_comma ",")
+check(test_colons_1 ":")
+check(test_colons_2 "::")
+check(test_colons_3 "Qt5::Core")
+check(test_colons_4 "C:\\\\CMake")
+check(test_colons_5 "C:/CMake")
diff --git a/Tests/GeneratorExpression/check-part2.cmake b/Tests/GeneratorExpression/check-part2.cmake
new file mode 100644
index 0000000..4201345
--- /dev/null
+++ b/Tests/GeneratorExpression/check-part2.cmake
@@ -0,0 +1,27 @@
+
+include(${CMAKE_CURRENT_LIST_DIR}/check-common.cmake)
+
+check(test_incomplete_1 "$<")
+check(test_incomplete_2 "$<something")
+check(test_incomplete_3 "$<something:")
+check(test_incomplete_4 "$<something:,")
+check(test_incomplete_5 "$something:,>")
+check(test_incomplete_6 "<something:,>")
+check(test_incomplete_7 "$<something::")
+check(test_incomplete_8 "$<something:,")
+check(test_incomplete_9 "$<something:,,")
+check(test_incomplete_10 "$<something:,:")
+check(test_incomplete_11 "$<something,,")
+check(test_incomplete_12 "$<,,")
+check(test_incomplete_13 "$<somespecialthing")
+check(test_incomplete_14 "$<>")
+check(test_incomplete_15 "$<some$<thing")
+check(test_incomplete_16 "$<BOOL:something")
+check(test_incomplete_17 "some$thing")
+check(test_incomplete_18 "$<1:some,thing")
+check(test_incomplete_19 "$<1:some,thing>")
+check(test_incomplete_20 "$<CONFIGURATION>")
+check(test_incomplete_21 "$<BOOL:something>")
+check(test_build_interface "build")
+check(test_install_interface "")
+check(test_export_namespace "x")
diff --git a/Tests/GeneratorExpression/check.cmake b/Tests/GeneratorExpression/check.cmake
deleted file mode 100644
index 019dd0b..0000000
--- a/Tests/GeneratorExpression/check.cmake
+++ /dev/null
@@ -1,83 +0,0 @@
-macro(check var val)
- if(NOT "${${var}}" STREQUAL "${val}")
- message(SEND_ERROR "${var} is \"${${var}}\", not \"${val}\"")
- endif()
-endmacro()
-
-message(STATUS "config=[${config}]")
-check(test_0 "")
-check(test_0_with_comma "")
-check(test_1 "content")
-check(test_1_with_comma "-Wl,--no-undefined")
-check(test_and_0 "0")
-check(test_and_0_0 "0")
-check(test_and_0_1 "0")
-check(test_and_1 "1")
-check(test_and_1_0 "0")
-check(test_and_1_1 "1")
-check(test_and_0_invalidcontent "0")
-check(test_config_0 "0")
-check(test_config_1 "1")
-foreach(c debug release relwithdebinfo minsizerel)
- if(NOT "${test_config_${c}}" MATCHES "^(0+|1+)$")
- message(SEND_ERROR "test_config_${c} is \"${test_config_${c}}\", not all 0 or all 1")
- endif()
-endforeach()
-check(test_not_0 "1")
-check(test_not_1 "0")
-check(test_or_0 "0")
-check(test_or_0_0 "0")
-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_or_1_invalidcontent "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_bool_empty "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_strequal_both_empty "1")
-check(test_strequal_one_empty "0")
-check(test_angle_r ">")
-check(test_comma ",")
-check(test_colons_1 ":")
-check(test_colons_2 "::")
-check(test_colons_3 "Qt5::Core")
-check(test_colons_4 "C:\\\\CMake")
-check(test_colons_5 "C:/CMake")
-check(test_incomplete_1 "$<")
-check(test_incomplete_2 "$<something")
-check(test_incomplete_3 "$<something:")
-check(test_incomplete_4 "$<something:,")
-check(test_incomplete_5 "$something:,>")
-check(test_incomplete_6 "<something:,>")
-check(test_incomplete_7 "$<something::")
-check(test_incomplete_8 "$<something:,")
-check(test_incomplete_9 "$<something:,,")
-check(test_incomplete_10 "$<something:,:")
-check(test_incomplete_11 "$<something,,")
-check(test_incomplete_12 "$<,,")
-check(test_incomplete_13 "$<somespecialthing")
-check(test_incomplete_14 "$<>")
-check(test_incomplete_15 "$<some$<thing")
-check(test_incomplete_16 "$<BOOL:something")
-check(test_incomplete_17 "some$thing")
-check(test_incomplete_18 "$<1:some,thing")
-check(test_incomplete_19 "$<1:some,thing>")
-check(test_incomplete_20 "$<CONFIGURATION>")
-check(test_incomplete_21 "$<BOOL:something>")
-check(test_build_interface "build")
-check(test_install_interface "")
-check(test_export_namespace "x")
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bf12a0be8383ea82da8f99dffaa48cc8ec25df90
commit bf12a0be8383ea82da8f99dffaa48cc8ec25df90
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Nov 24 12:04:01 2012 +0100
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Nov 24 14:44:39 2012 +0100
Add workaround for broken std::remove on some Borland.
I don't have enough information about which versions of Borland
are affected, but if this workaround works, then it could be
put elsewhere such as cmsys.
http://qc.embarcadero.com/wc/qcmain.aspx?d=4957
http://www.gamedev.net/topic/366171-stdremove/
http://www.delphigroups.info/3/5/7456.html
http://bytes.com/topic/c/answers/59791-std-remove-syntax
http://forums.devx.com/showthread.php?94489-About-std-remove
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 717ebbb..55c47c8 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -2547,6 +2547,27 @@ void cmTarget::PrependTLLIncludeDirectories(const std::string &includes)
);
}
+// A Borland machine on the dashboard has a faulty std::remove.
+template <typename ForwardIterator, typename T>
+ForwardIterator cmStdRemove(ForwardIterator first,
+ ForwardIterator last,
+ const T& value)
+{
+#ifdef __BORLANDC__
+ ForwardIterator result = first;
+ for ( ; first != last; ++first)
+ {
+ if (!(*first == value))
+ {
+ *result++ = *first;
+ }
+ }
+ return result;
+#else
+ return std::remove<ForwardIterator, T>(first, last, value);
+#endif
+}
+
//----------------------------------------------------------------------------
std::vector<std::string> cmTarget::GetIncludeDirectories(const char *config)
{
@@ -2599,7 +2620,7 @@ std::vector<std::string> cmTarget::GetIncludeDirectories(const char *config)
}
// Fall through to OLD behavior
case cmPolicies::OLD:
- includes.erase(std::remove(includes.begin(),
+ includes.erase(cmStdRemove(includes.begin(),
includes.end(), *li),
includes.end());
fromTll.erase(*li);
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4265ce4af3dfa72439cfa2ee47eeb47e8b47f2bc
commit 4265ce4af3dfa72439cfa2ee47eeb47e8b47f2bc
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Nov 24 11:26:12 2012 +0100
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Nov 24 11:26:12 2012 +0100
Add some newlines to generated files.
This might fix the error at
http://open.cdash.org/testDetails.php?test=167546009&build=2679466
diff --git a/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt b/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt
index 4e79d1f..2a0d1a8 100644
--- a/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt
+++ b/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt
@@ -51,13 +51,13 @@ create_header(fiy)
create_header(foh)
create_header(fum)
-file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/lib1.cpp" "#include \"fee.h\"")
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/lib1.cpp" "#include \"fee.h\"\n")
add_library(lib1 "${CMAKE_CURRENT_BINARY_DIR}/lib1.cpp")
set_property(TARGET lib1 APPEND PROPERTY INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/fee")
set_property(TARGET lib1 APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/fiy")
set_property(TARGET lib1 APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:${CMAKE_CURRENT_BINARY_DIR}/foh>")
-file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/lib2.cpp" "#include \"fiy.h\"")
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/lib2.cpp" "#include \"fiy.h\"\n")
add_library(lib2 "${CMAKE_CURRENT_BINARY_DIR}/lib2.cpp")
set_property(TARGET lib2 APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/fum;$<TARGET_PROPERTY:lib1,INTERFACE_INCLUDE_DIRECTORIES>")
set_property(TARGET lib2 APPEND PROPERTY INCLUDE_DIRECTORIES "$<TARGET_PROPERTY:lib1,INTERFACE_INCLUDE_DIRECTORIES>")
-----------------------------------------------------------------------
Summary of changes:
Source/cmTarget.cxx | 23 +++++-
Tests/GeneratorExpression/CMakeLists.txt | 13 +++-
Tests/GeneratorExpression/check-common.cmake | 5 +
Tests/GeneratorExpression/check-part1.cmake | 56 +++++++++++++
Tests/GeneratorExpression/check-part2.cmake | 27 +++++++
Tests/GeneratorExpression/check.cmake | 83 --------------------
.../TargetIncludeDirectories/CMakeLists.txt | 4 +-
7 files changed, 122 insertions(+), 89 deletions(-)
create mode 100644 Tests/GeneratorExpression/check-common.cmake
create mode 100644 Tests/GeneratorExpression/check-part1.cmake
create mode 100644 Tests/GeneratorExpression/check-part2.cmake
delete mode 100644 Tests/GeneratorExpression/check.cmake
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list