[Cmake-commits] CMake branch, next, updated. v3.8.0-rc2-397-gad772c2
Kitware Robot
kwrobot at kitware.com
Tue Mar 7 09:35:02 EST 2017
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 ad772c20e46456021e257b87b9c405b026f0f3a4 (commit)
via bd8b5401cfb2088d5e5494d04236eda36278da8b (commit)
via 9f25e120b4805b612c7abada2c1a02096c878fce (commit)
via e2f25d3e8218fe0ae02680966b71cba8755d38de (commit)
from dca58fa27995e5579b8ff52efbc0a20d00f9918d (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ad772c20e46456021e257b87b9c405b026f0f3a4
commit ad772c20e46456021e257b87b9c405b026f0f3a4
Merge: 9f25e12 bd8b540
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Mar 7 14:31:16 2017 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Tue Mar 7 09:31:18 2017 -0500
Stage topic 'fix_csharp_custom_targets'
Topic-id: 22903
Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/557
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bd8b5401cfb2088d5e5494d04236eda36278da8b
commit bd8b5401cfb2088d5e5494d04236eda36278da8b
Author: Michael Stürmer <michael.stuermer at schaeffler.com>
AuthorDate: Tue Mar 7 11:40:31 2017 +0100
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Mar 7 09:30:27 2017 -0500
VS: Do not treat custom targets as CSharp targets
Fixes: #16697
diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx
index cc2536c..ced0c26 100644
--- a/Source/cmGlobalVisualStudioGenerator.cxx
+++ b/Source/cmGlobalVisualStudioGenerator.cxx
@@ -750,6 +750,10 @@ bool cmGlobalVisualStudioGenerator::TargetIsCSharpOnly(
if (!gt->GetConfigCommonSourceFiles(sources)) {
return false;
}
+ // Only "real" targets are allowed to be C# targets.
+ if (gt->Target->GetType() > cmStateEnums::OBJECT_LIBRARY) {
+ return false;
+ }
}
gt->GetLanguages(languages, "");
if (languages.size() == 1) {
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9f25e120b4805b612c7abada2c1a02096c878fce
commit 9f25e120b4805b612c7abada2c1a02096c878fce
Merge: dca58fa e2f25d3
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Mar 7 14:27:10 2017 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Tue Mar 7 09:27:13 2017 -0500
Stage topic 'fix-static-assert'
Topic-id: 22892
Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/555
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e2f25d3e8218fe0ae02680966b71cba8755d38de
commit e2f25d3e8218fe0ae02680966b71cba8755d38de
Author: Daniel Pfeifer <daniel at pfeifer-mail.de>
AuthorDate: Mon Mar 6 20:52:09 2017 +0100
Commit: Daniel Pfeifer <daniel at pfeifer-mail.de>
CommitDate: Mon Mar 6 20:52:09 2017 +0100
WriteCompilerDetectionHeader: fix STATIC_ASSERT
fixes #16185
diff --git a/Modules/WriteCompilerDetectionHeader.cmake b/Modules/WriteCompilerDetectionHeader.cmake
index 0b16aa4..362099e 100644
--- a/Modules/WriteCompilerDetectionHeader.cmake
+++ b/Modules/WriteCompilerDetectionHeader.cmake
@@ -503,10 +503,19 @@ function(write_compiler_detection_header
if (feature STREQUAL cxx_static_assert)
set(def_value "${prefix_arg}_STATIC_ASSERT(X)")
set(def_value_msg "${prefix_arg}_STATIC_ASSERT_MSG(X, MSG)")
- set(static_assert_struct "template<bool> struct ${prefix_arg}StaticAssert;\ntemplate<> struct ${prefix_arg}StaticAssert<true>{};\n")
- set(def_standard "# define ${def_value} static_assert(X, #X)\n# define ${def_value_msg} static_assert(X, MSG)")
- set(def_alternative "${static_assert_struct}# define ${def_value} sizeof(${prefix_arg}StaticAssert<X>)\n# define ${def_value_msg} sizeof(${prefix_arg}StaticAssert<X>)")
- string(APPEND file_content "# if defined(${def_name}) && ${def_name}\n${def_standard}\n# else\n${def_alternative}\n# endif\n\n")
+ set(def_fallback "enum { ${prefix_arg}_STATIC_ASSERT_JOIN(${prefix_arg}StaticAssertEnum, __LINE__) = sizeof(${prefix_arg}StaticAssert<X>) }")
+ string(APPEND file_content "# if defined(${def_name}) && ${def_name}
+# define ${def_value} static_assert(X, #X)
+# define ${def_value_msg} static_assert(X, MSG)
+# else
+# define ${prefix_arg}_STATIC_ASSERT_JOIN(X, Y) ${prefix_arg}_STATIC_ASSERT_JOIN_IMPL(X, Y)
+# define ${prefix_arg}_STATIC_ASSERT_JOIN_IMPL(X, Y) X##Y
+template<bool> struct ${prefix_arg}StaticAssert;
+template<> struct ${prefix_arg}StaticAssert<true>{};
+# define ${def_value} ${def_fallback}
+# define ${def_value_msg} ${def_fallback}
+# endif
+\n")
endif()
if (feature STREQUAL cxx_alignas)
set(def_value "${prefix_arg}_ALIGNAS(X)")
diff --git a/Tests/Module/WriteCompilerDetectionHeader/main.cpp b/Tests/Module/WriteCompilerDetectionHeader/main.cpp
index 192094c..9979cba 100644
--- a/Tests/Module/WriteCompilerDetectionHeader/main.cpp
+++ b/Tests/Module/WriteCompilerDetectionHeader/main.cpp
@@ -8,6 +8,9 @@
#error Expect no C features defined
#endif
+TEST_STATIC_ASSERT(true);
+TEST_STATIC_ASSERT_MSG(true, "msg");
+
int main()
{
return 0;
diff --git a/Tests/Module/WriteCompilerDetectionHeader/multi_files.cpp b/Tests/Module/WriteCompilerDetectionHeader/multi_files.cpp
index 1635091..d1f178f 100644
--- a/Tests/Module/WriteCompilerDetectionHeader/multi_files.cpp
+++ b/Tests/Module/WriteCompilerDetectionHeader/multi_files.cpp
@@ -8,6 +8,9 @@
#error Expect no C features defined
#endif
+MULTI_STATIC_ASSERT(true);
+MULTI_STATIC_ASSERT_MSG(true, "msg");
+
int main()
{
return 0;
-----------------------------------------------------------------------
Summary of changes:
Modules/WriteCompilerDetectionHeader.cmake | 17 +++++++++++++----
Source/cmGlobalVisualStudioGenerator.cxx | 4 ++++
Tests/Module/WriteCompilerDetectionHeader/main.cpp | 3 +++
.../WriteCompilerDetectionHeader/multi_files.cpp | 3 +++
4 files changed, 23 insertions(+), 4 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list