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, master has been updated
       via  9111590acadbfa662053c7878ae95efa46bbfb36 (commit)
       via  c173ed118429a885947907d2e23a9895a60b839a (commit)
       via  6e0d92cc53fae3f83cacc8c528ea601562fa1753 (commit)
       via  d46bac5d38320907cc1f11a223fddd9a11c9b184 (commit)
       via  a4657ef670962be794d07d1d323c230995ed5593 (commit)
       via  161b33f12b9a225607a4ea8339eabd4875bebbfe (commit)
       via  4f15a6a5c200be8235c3e38390aba438186e7f19 (commit)
       via  5cfc39127e4b9e20d9fdfca885b38272909c5694 (commit)
       via  d50b31be35ed113a41f3944179f8e4a362018f86 (commit)
       via  3391a3eca821ec9e2844af60835e6f2ab722ceed (commit)
      from  00be1957da52acac2988e4702f4f8e95fbf170dd (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=9111590acadbfa662053c7878ae95efa46bbfb36
commit 9111590acadbfa662053c7878ae95efa46bbfb36
Merge: c173ed1 3391a3e
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Thu Jul 25 11:21:06 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Thu Jul 25 07:21:18 2019 -0400

    Merge topic 'ninja-swift-map-file-path'
    
    3391a3eca8 Ninja: do not normalise swift support file paths
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3597


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c173ed118429a885947907d2e23a9895a60b839a
commit c173ed118429a885947907d2e23a9895a60b839a
Merge: 6e0d92c d46bac5
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Thu Jul 25 11:20:00 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Thu Jul 25 07:20:09 2019 -0400

    Merge topic 'makefile-depend-relative-include'
    
    d46bac5d38 Makefile: Fix regression in dependencies on relative includes
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3599


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6e0d92cc53fae3f83cacc8c528ea601562fa1753
commit 6e0d92cc53fae3f83cacc8c528ea601562fa1753
Merge: 00be195 a4657ef
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Thu Jul 25 11:17:11 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Thu Jul 25 07:17:22 2019 -0400

    Merge topic 'clang-gnulike-support'
    
    a4657ef670 Merge branch 'backport-clang-gnulike-support' into 
clang-gnulike-support
    161b33f12b Help/guide/tutorial: Revert "require C++14 for the Tutorial"
    4f15a6a5c2 Tests: Revert "require C++14 for the Tutorial"
    5cfc39127e Merge branch 'backport-clang-gnulike-support' into 
clang-gnulike-support
    d50b31be35 Clang: For MSVC ABI do not use modes older than C++14
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3592


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d46bac5d38320907cc1f11a223fddd9a11c9b184
commit d46bac5d38320907cc1f11a223fddd9a11c9b184
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jul 24 09:53:53 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Jul 24 11:37:31 2019 -0400

    Makefile: Fix regression in dependencies on relative includes
    
    Since commit a13a5c948e (Replace use of CollapseCombinedPath with
    CollapseFullPath, 2019-03-19, v3.15.0-rc1~361^2~1), one code path now
    calls `CollapseFullPath` with a base path that may be relative.
    Backport KWSys commit c6f8e24a3 (SystemTools: Fix CollapseFullPath with
    relative base path, 2019-07-24) to handle such base paths.
    
    This case occurs when a build tree is placed in a directory inside a
    source tree such that CMake is willing to generate a relative path from
    the build tree to the source tree.  Add a test covering this case.
    
    Fixes: #19507

diff --git a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx
index 2135913..ae7a18a 100644
--- a/Source/kwsys/SystemTools.cxx
+++ b/Source/kwsys/SystemTools.cxx
@@ -3394,8 +3394,13 @@ static void SystemToolsAppendComponents(
   static const std::string cur = ".";
   for (std::vector<std::string>::const_iterator i = first; i != last; ++i) {
     if (*i == up) {
-      if (out_components.size() > 1) {
+      // Remove the previous component if possible.  Ignore ../ components
+      // that try to go above the root.  Keep ../ components if they are
+      // at the beginning of a relative path (base path is relative).
+      if (out_components.size() > 1 && out_components.back() != up) {
         out_components.resize(out_components.size() - 1);
+      } else if (!out_components.empty() && out_components[0].empty()) {
+        out_components.emplace_back(std::move(*i));
       }
     } else if (!i->empty() && *i != cur) {
 #if __cplusplus >= 201103L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201103L)
diff --git a/Source/kwsys/testSystemTools.cxx b/Source/kwsys/testSystemTools.cxx
index 9a40b53..ffa6a29 100644
--- a/Source/kwsys/testSystemTools.cxx
+++ b/Source/kwsys/testSystemTools.cxx
@@ -684,9 +684,10 @@ static bool CheckRelativePaths()
 }
 
 static bool CheckCollapsePath(const std::string& path,
-                              const std::string& expected)
+                              const std::string& expected,
+                              const char* base = nullptr)
 {
-  std::string result = kwsys::SystemTools::CollapseFullPath(path);
+  std::string result = kwsys::SystemTools::CollapseFullPath(path, base);
   if (!kwsys::SystemTools::ComparePath(expected, result)) {
     std::cerr << "CollapseFullPath(" << path << ")  yielded " << result
               << " instead of " << expected << std::endl;
@@ -710,6 +711,9 @@ static bool CheckCollapsePath()
   res &= CheckCollapsePath("C:/", "C:/");
   res &= CheckCollapsePath("C:/../", "C:/");
   res &= CheckCollapsePath("C:/../../", "C:/");
+  res &= CheckCollapsePath("../b", "../../b", "../");
+  res &= CheckCollapsePath("../a/../b", "../b", "../rel");
+  res &= CheckCollapsePath("a/../b", "../rel/b", "../rel");
   return res;
 }
 
diff --git a/Tests/RunCMake/BuildDepends/BuildUnderSource.c 
b/Tests/RunCMake/BuildDepends/BuildUnderSource.c
new file mode 100644
index 0000000..688a040
--- /dev/null
+++ b/Tests/RunCMake/BuildDepends/BuildUnderSource.c
@@ -0,0 +1,5 @@
+#include "BuildUnderSource.h"
+int main(void)
+{
+  return BUILD_UNDER_SOURCE;
+}
diff --git a/Tests/RunCMake/BuildDepends/BuildUnderSource.cmake 
b/Tests/RunCMake/BuildDepends/BuildUnderSource.cmake
new file mode 100644
index 0000000..aa2a44f
--- /dev/null
+++ b/Tests/RunCMake/BuildDepends/BuildUnderSource.cmake
@@ -0,0 +1,9 @@
+enable_language(C)
+include_directories(include)
+add_executable(BuildUnderSource BuildUnderSource.c)
+
+file(GENERATE OUTPUT 
${CMAKE_CURRENT_BINARY_DIR}/check-$<LOWER_CASE:$<CONFIG>>.cmake CONTENT "
+set(check_pairs
+  
\"$<TARGET_FILE:BuildUnderSource>|${CMAKE_CURRENT_SOURCE_DIR}/include/BuildUnderSource.h\"
+  )
+")
diff --git a/Tests/RunCMake/BuildDepends/BuildUnderSource.step1.cmake 
b/Tests/RunCMake/BuildDepends/BuildUnderSource.step1.cmake
new file mode 100644
index 0000000..2cdd32b
--- /dev/null
+++ b/Tests/RunCMake/BuildDepends/BuildUnderSource.step1.cmake
@@ -0,0 +1,3 @@
+file(WRITE "${RunCMake_TEST_SOURCE_DIR}/include/BuildUnderSource.h" [[
+#define BUILD_UNDER_SOURCE 1
+]])
diff --git a/Tests/RunCMake/BuildDepends/BuildUnderSource.step2.cmake 
b/Tests/RunCMake/BuildDepends/BuildUnderSource.step2.cmake
new file mode 100644
index 0000000..8e4b858
--- /dev/null
+++ b/Tests/RunCMake/BuildDepends/BuildUnderSource.step2.cmake
@@ -0,0 +1,3 @@
+file(WRITE "${RunCMake_TEST_SOURCE_DIR}/include/BuildUnderSource.h" [[
+#define BUILD_UNDER_SOURCE 2
+]])
diff --git a/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake 
b/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake
index 3445beb..14ae243 100644
--- a/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake
+++ b/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake
@@ -9,7 +9,9 @@ endif()
 
 function(run_BuildDepends CASE)
   # Use a single build tree for a few tests without cleaning.
-  set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${CASE}-build)
+  if(NOT RunCMake_TEST_BINARY_DIR)
+    set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${CASE}-build)
+  endif()
   set(RunCMake_TEST_NO_CLEAN 1)
   if(NOT RunCMake_GENERATOR_IS_MULTI_CONFIG)
     set(RunCMake_TEST_OPTIONS -DCMAKE_BUILD_TYPE=Debug)
@@ -44,6 +46,18 @@ endif()
 run_BuildDepends(Custom-Symbolic-and-Byproduct)
 run_BuildDepends(Custom-Always)
 
+# Test header dependencies with a build tree underneath a source tree.
+set(RunCMake_TEST_SOURCE_DIR "${RunCMake_BINARY_DIR}/BuildUnderSource")
+set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/BuildUnderSource/build")
+file(REMOVE_RECURSE "${RunCMake_TEST_SOURCE_DIR}")
+file(MAKE_DIRECTORY "${RunCMake_TEST_SOURCE_DIR}/include")
+foreach(f CMakeLists.txt BuildUnderSource.cmake BuildUnderSource.c)
+  configure_file("${RunCMake_SOURCE_DIR}/${f}" 
"${RunCMake_TEST_SOURCE_DIR}/${f}" COPYONLY)
+endforeach()
+run_BuildDepends(BuildUnderSource)
+unset(RunCMake_TEST_BINARY_DIR)
+unset(RunCMake_TEST_SOURCE_DIR)
+
 if(RunCMake_GENERATOR MATCHES "Make")
   run_BuildDepends(MakeCustomIncludes)
   if(NOT "${RunCMake_BINARY_DIR}" STREQUAL "${RunCMake_SOURCE_DIR}")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a4657ef670962be794d07d1d323c230995ed5593
commit a4657ef670962be794d07d1d323c230995ed5593
Merge: 161b33f 4f15a6a
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jul 24 08:04:52 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Jul 24 08:04:52 2019 -0400

    Merge branch 'backport-clang-gnulike-support' into clang-gnulike-support


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=161b33f12b9a225607a4ea8339eabd4875bebbfe
commit 161b33f12b9a225607a4ea8339eabd4875bebbfe
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jul 24 07:29:21 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Jul 24 08:04:20 2019 -0400

    Help/guide/tutorial: Revert "require C++14 for the Tutorial"
    
    Revert the changes from commit a2a90f41e3 (Tests: require C++14 for the
    Tutorial, 2019-03-21, v3.15.0-rc1~41^2~2) for the content in its new
    home.  In commit d50b31be35 (Clang: For MSVC ABI do not use modes older
    than C++14, 2019-07-23) we fixed the C++ standard selection for GNU-like
    Clang with the MSVC ABI so the test code itself no longer needs to do
    it.  In particular, changing the tests in this way broke the tutorial's
    narrative.

diff --git a/Help/guide/tutorial/Complete/CMakeLists.txt 
b/Help/guide/tutorial/Complete/CMakeLists.txt
index e84f932..bea611c 100644
--- a/Help/guide/tutorial/Complete/CMakeLists.txt
+++ b/Help/guide/tutorial/Complete/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # set the version number
 set(Tutorial_VERSION_MAJOR 1)
diff --git a/Help/guide/tutorial/Consumer/CMakeLists.txt 
b/Help/guide/tutorial/Consumer/CMakeLists.txt
index 5097917..4033b4d 100644
--- a/Help/guide/tutorial/Consumer/CMakeLists.txt
+++ b/Help/guide/tutorial/Consumer/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 
 if(NOT DEFINED CMAKE_CXX_STANDARD)
-  set(CMAKE_CXX_STANDARD 14)
+  set(CMAKE_CXX_STANDARD 11)
+  set(CMAKE_CXX_STANDARD_REQUIRED True)
 endif()
 
 
diff --git a/Help/guide/tutorial/Step10/CMakeLists.txt 
b/Help/guide/tutorial/Step10/CMakeLists.txt
index 5819272..25bc0c1 100644
--- a/Help/guide/tutorial/Step10/CMakeLists.txt
+++ b/Help/guide/tutorial/Step10/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # Set the version number
 set(Tutorial_VERSION_MAJOR 1)
diff --git a/Help/guide/tutorial/Step11/CMakeLists.txt 
b/Help/guide/tutorial/Step11/CMakeLists.txt
index 2e5cb15..8f29fe2 100644
--- a/Help/guide/tutorial/Step11/CMakeLists.txt
+++ b/Help/guide/tutorial/Step11/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # set the version number
 set(Tutorial_VERSION_MAJOR 1)
diff --git a/Help/guide/tutorial/Step2/CMakeLists.txt 
b/Help/guide/tutorial/Step2/CMakeLists.txt
index 1f43b2b..059b89a 100644
--- a/Help/guide/tutorial/Step2/CMakeLists.txt
+++ b/Help/guide/tutorial/Step2/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # set the version number
 set(Tutorial_VERSION_MAJOR 1)
diff --git a/Help/guide/tutorial/Step3/CMakeLists.txt 
b/Help/guide/tutorial/Step3/CMakeLists.txt
index 966c38a..9804abf 100644
--- a/Help/guide/tutorial/Step3/CMakeLists.txt
+++ b/Help/guide/tutorial/Step3/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # should we use our own math functions
 option(USE_MYMATH "Use tutorial provided math implementation" ON)
diff --git a/Help/guide/tutorial/Step4/CMakeLists.txt 
b/Help/guide/tutorial/Step4/CMakeLists.txt
index a157bda..0ae2648 100644
--- a/Help/guide/tutorial/Step4/CMakeLists.txt
+++ b/Help/guide/tutorial/Step4/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # should we use our own math functions
 option(USE_MYMATH "Use tutorial provided math implementation" ON)
diff --git a/Help/guide/tutorial/Step5/CMakeLists.txt 
b/Help/guide/tutorial/Step5/CMakeLists.txt
index 76b9179..dac9b45 100644
--- a/Help/guide/tutorial/Step5/CMakeLists.txt
+++ b/Help/guide/tutorial/Step5/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # should we use our own math functions
 option(USE_MYMATH "Use tutorial provided math implementation" ON)
diff --git a/Help/guide/tutorial/Step6/CMakeLists.txt 
b/Help/guide/tutorial/Step6/CMakeLists.txt
index 5829891..1465e46 100644
--- a/Help/guide/tutorial/Step6/CMakeLists.txt
+++ b/Help/guide/tutorial/Step6/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # set the version number
 set(Tutorial_VERSION_MAJOR 1)
diff --git a/Help/guide/tutorial/Step7/CMakeLists.txt 
b/Help/guide/tutorial/Step7/CMakeLists.txt
index 17e6a60..a1efa77 100644
--- a/Help/guide/tutorial/Step7/CMakeLists.txt
+++ b/Help/guide/tutorial/Step7/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # set the version number
 set(Tutorial_VERSION_MAJOR 1)
diff --git a/Help/guide/tutorial/Step8/CMakeLists.txt 
b/Help/guide/tutorial/Step8/CMakeLists.txt
index 86725e8..a0316a0 100644
--- a/Help/guide/tutorial/Step8/CMakeLists.txt
+++ b/Help/guide/tutorial/Step8/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # set the version number
 set(Tutorial_VERSION_MAJOR 1)
diff --git a/Help/guide/tutorial/Step9/CMakeLists.txt 
b/Help/guide/tutorial/Step9/CMakeLists.txt
index 07ab90a..e610b99 100644
--- a/Help/guide/tutorial/Step9/CMakeLists.txt
+++ b/Help/guide/tutorial/Step9/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # set the version number
 set(Tutorial_VERSION_MAJOR 1)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4f15a6a5c200be8235c3e38390aba438186e7f19
commit 4f15a6a5c200be8235c3e38390aba438186e7f19
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jul 24 07:29:21 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Jul 24 08:02:37 2019 -0400

    Tests: Revert "require C++14 for the Tutorial"
    
    Revert commit a2a90f41e3 (Tests: require C++14 for the Tutorial,
    2019-03-21, v3.15.0-rc1~41^2~2).  In commit d50b31be35 (Clang: For MSVC
    ABI do not use modes older than C++14, 2019-07-23) we fixed the C++
    standard selection for GNU-like Clang with the MSVC ABI so the test code
    itself no longer needs to do it.  In particular, changing the tests in
    this way broke the tutorial's narrative.

diff --git a/Tests/Tutorial/Complete/CMakeLists.txt 
b/Tests/Tutorial/Complete/CMakeLists.txt
index 1c97545..9658e65 100644
--- a/Tests/Tutorial/Complete/CMakeLists.txt
+++ b/Tests/Tutorial/Complete/CMakeLists.txt
@@ -7,7 +7,8 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
 
diff --git a/Tests/Tutorial/Consumer/CMakeLists.txt 
b/Tests/Tutorial/Consumer/CMakeLists.txt
index 5097917..4033b4d 100644
--- a/Tests/Tutorial/Consumer/CMakeLists.txt
+++ b/Tests/Tutorial/Consumer/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 
 if(NOT DEFINED CMAKE_CXX_STANDARD)
-  set(CMAKE_CXX_STANDARD 14)
+  set(CMAKE_CXX_STANDARD 11)
+  set(CMAKE_CXX_STANDARD_REQUIRED True)
 endif()
 
 
diff --git a/Tests/Tutorial/Step10/CMakeLists.txt 
b/Tests/Tutorial/Step10/CMakeLists.txt
index 79aadd5..b1d46c4 100644
--- a/Tests/Tutorial/Step10/CMakeLists.txt
+++ b/Tests/Tutorial/Step10/CMakeLists.txt
@@ -7,7 +7,8 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
 
diff --git a/Tests/Tutorial/Step11/CMakeLists.txt 
b/Tests/Tutorial/Step11/CMakeLists.txt
index 79aadd5..b1d46c4 100644
--- a/Tests/Tutorial/Step11/CMakeLists.txt
+++ b/Tests/Tutorial/Step11/CMakeLists.txt
@@ -7,7 +7,8 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
 
diff --git a/Tests/Tutorial/Step2/CMakeLists.txt 
b/Tests/Tutorial/Step2/CMakeLists.txt
index 8e50e7c..48afaa3 100644
--- a/Tests/Tutorial/Step2/CMakeLists.txt
+++ b/Tests/Tutorial/Step2/CMakeLists.txt
@@ -1,7 +1,9 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
+
 # the version number.
 set(Tutorial_VERSION_MAJOR 1)
 set(Tutorial_VERSION_MINOR 0)
diff --git a/Tests/Tutorial/Step2/directions.txt 
b/Tests/Tutorial/Step2/directions.txt
index 48de7a2..bb6662c 100644
--- a/Tests/Tutorial/Step2/directions.txt
+++ b/Tests/Tutorial/Step2/directions.txt
@@ -44,7 +44,8 @@ the following:
   cmake_minimum_required(VERSION 3.3)
   project(Tutorial)
 
-  set(CMAKE_CXX_STANDARD 14)
+  set(CMAKE_CXX_STANDARD 11)
+  set(CMAKE_CXX_STANDARD_REQUIRED True)
 
   # the version number.
   set(Tutorial_VERSION_MAJOR 1)
diff --git a/Tests/Tutorial/Step3/CMakeLists.txt 
b/Tests/Tutorial/Step3/CMakeLists.txt
index baa0a44..f904ea7 100644
--- a/Tests/Tutorial/Step3/CMakeLists.txt
+++ b/Tests/Tutorial/Step3/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # should we use our own math functions
 option(USE_MYMATH "Use tutorial provided math implementation" ON)
diff --git a/Tests/Tutorial/Step4/CMakeLists.txt 
b/Tests/Tutorial/Step4/CMakeLists.txt
index 9ce60b9..34eab55 100644
--- a/Tests/Tutorial/Step4/CMakeLists.txt
+++ b/Tests/Tutorial/Step4/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # should we use our own math functions
 option(USE_MYMATH "Use tutorial provided math implementation" ON)
diff --git a/Tests/Tutorial/Step5/CMakeLists.txt 
b/Tests/Tutorial/Step5/CMakeLists.txt
index 828b9fc..63e5410 100644
--- a/Tests/Tutorial/Step5/CMakeLists.txt
+++ b/Tests/Tutorial/Step5/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # should we use our own math functions
 option(USE_MYMATH "Use tutorial provided math implementation" ON)
diff --git a/Tests/Tutorial/Step6/CMakeLists.txt 
b/Tests/Tutorial/Step6/CMakeLists.txt
index a78b0ff..503a312 100644
--- a/Tests/Tutorial/Step6/CMakeLists.txt
+++ b/Tests/Tutorial/Step6/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # the version number.
 set(Tutorial_VERSION_MAJOR 1)
diff --git a/Tests/Tutorial/Step7/CMakeLists.txt 
b/Tests/Tutorial/Step7/CMakeLists.txt
index 33aa039..f2d3839 100644
--- a/Tests/Tutorial/Step7/CMakeLists.txt
+++ b/Tests/Tutorial/Step7/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # the version number.
 set(Tutorial_VERSION_MAJOR 1)
diff --git a/Tests/Tutorial/Step8/CMakeLists.txt 
b/Tests/Tutorial/Step8/CMakeLists.txt
index 03dc7c0..c66bf96 100644
--- a/Tests/Tutorial/Step8/CMakeLists.txt
+++ b/Tests/Tutorial/Step8/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # the version number.
 set(Tutorial_VERSION_MAJOR 1)
diff --git a/Tests/Tutorial/Step9/CMakeLists.txt 
b/Tests/Tutorial/Step9/CMakeLists.txt
index 4981fe2..309d513 100644
--- a/Tests/Tutorial/Step9/CMakeLists.txt
+++ b/Tests/Tutorial/Step9/CMakeLists.txt
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(Tutorial)
 
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
 
 # the version number.
 set(Tutorial_VERSION_MAJOR 1)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5cfc39127e4b9e20d9fdfca885b38272909c5694
commit 5cfc39127e4b9e20d9fdfca885b38272909c5694
Merge: 1f618fa d50b31b
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jul 24 08:00:53 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Jul 24 08:00:53 2019 -0400

    Merge branch 'backport-clang-gnulike-support' into clang-gnulike-support


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d50b31be35ed113a41f3944179f8e4a362018f86
commit d50b31be35ed113a41f3944179f8e4a362018f86
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Jul 23 08:50:30 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Jul 24 07:40:30 2019 -0400

    Clang: For MSVC ABI do not use modes older than C++14
    
    Since commit d44c0db0b2 (clang: setup correct configuration in gnu mode,
    2019-02-20, v3.15.0-rc1~41^2~5) we support the GNU-like Clang that
    targets the MSVC ABI.  However, Clang cannot compile with the MSVC
    standard library unless it runs in a mode aware of C++14 (since MSVC
    itself does not even have a lower mode).  When `CMAKE_CXX_STANDARD` is
    set to 98 or 11, use C++14 anyway.
    
    Since Clang's default mode is aware of C++14, another option is to not
    add any flags for 98 or 11.  However, if a future Clang version ever
    defaults to a higher C++ standard, setting the standard to 98 or 11
    should at least not use a mode higher than 14.
    
    Also revert test updates from commit 4819ff9647 (Tests: fix failures
    with gnu mode clang on windows, 2019-03-21, v3.15.0-rc1~41^2~3) that
    were meant to work around the standard selection problem.
    
    Fixes: #19496

diff --git a/Modules/Compiler/Clang-CXX.cmake b/Modules/Compiler/Clang-CXX.cmake
index 17f3917..61709f8 100644
--- a/Modules/Compiler/Clang-CXX.cmake
+++ b/Modules/Compiler/Clang-CXX.cmake
@@ -58,6 +58,13 @@ if("x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU")
   unset(_clang_version_std17)
 
   if("x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
+    # The MSVC standard library requires C++14, and MSVC itself has no
+    # notion of operating in a mode not aware of at least that standard.
+    set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++14")
+    set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++14")
+    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++14")
+    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++14")
+
     # This clang++ is missing some features because of MSVC compatibility.
     unset(CMAKE_CXX11_STANDARD__HAS_FULL_SUPPORT)
     unset(CMAKE_CXX14_STANDARD__HAS_FULL_SUPPORT)
diff --git a/Tests/AliasTarget/CMakeLists.txt b/Tests/AliasTarget/CMakeLists.txt
index 6271988..fc70135 100644
--- a/Tests/AliasTarget/CMakeLists.txt
+++ b/Tests/AliasTarget/CMakeLists.txt
@@ -7,7 +7,7 @@ set(CMAKE_CXX_STANDARD 98)
 # Clang/C2 in C++98 mode cannot properly handle some of MSVC headers
 if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
     CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC")
-  set(CMAKE_CXX_STANDARD 14)
+  set(CMAKE_CXX_STANDARD 11)
 endif()
 
 add_library(foo SHARED empty.cpp)
diff --git a/Tests/Complex/CMakeLists.txt b/Tests/Complex/CMakeLists.txt
index fef83f6..2e41754 100644
--- a/Tests/Complex/CMakeLists.txt
+++ b/Tests/Complex/CMakeLists.txt
@@ -446,11 +446,6 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
   set(CMAKE_CXX_STANDARD 11)
 endif()
 
-if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
-    CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU")
-  set(CMAKE_CXX_STANDARD 14)
-endif()
-
 #
 # Create the libs and the main exe
 #
diff --git a/Tests/ComplexOneConfig/CMakeLists.txt 
b/Tests/ComplexOneConfig/CMakeLists.txt
index 77baa4c..628cd4e 100644
--- a/Tests/ComplexOneConfig/CMakeLists.txt
+++ b/Tests/ComplexOneConfig/CMakeLists.txt
@@ -403,11 +403,6 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
   set(CMAKE_CXX_STANDARD 11)
 endif()
 
-if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
-    CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU")
-  set(CMAKE_CXX_STANDARD 14)
-endif()
-
 #
 # Create the libs and the main exe
 #
diff --git a/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt 
b/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt
index b30928d..cffef5a 100644
--- a/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt
+++ b/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt
@@ -133,9 +133,7 @@ endif()
 
 # for msvc the compiler version determines which c++11 features are available.
 if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC"
-    OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"
-    AND "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC"
-    AND "x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xMSVC" ))
+    OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND "x${CMAKE_CXX_SIMULATE_ID}" 
STREQUAL "xMSVC"))
   if(";${CMAKE_CXX_COMPILE_FEATURES};" MATCHES ";cxx_delegating_constructors;")
     list(APPEND true_defs EXPECTED_COMPILER_CXX_DELEGATING_CONSTRUCTORS)
     list(APPEND true_defs EXPECTED_COMPILER_CXX_VARIADIC_TEMPLATES)
diff --git a/Tests/Plugin/CMakeLists.txt b/Tests/Plugin/CMakeLists.txt
index c4540db..8e8fa07 100644
--- a/Tests/Plugin/CMakeLists.txt
+++ b/Tests/Plugin/CMakeLists.txt
@@ -5,17 +5,6 @@ project(Plugin)
 # We need proper C++98 support from the compiler
 set(CMAKE_CXX_STANDARD 98)
 
-# Clang/C2 in C++98 mode cannot properly handle some of MSVC headers
-if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
-    CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC")
-  set(CMAKE_CXX_STANDARD 11)
-endif()
-
-if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
-    CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU")
-  set(CMAKE_CXX_STANDARD 14)
-endif()
-
 # Test per-target output directory properties.
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${Plugin_BINARY_DIR}/bin)
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${Plugin_BINARY_DIR}/lib/plugin)
@@ -40,6 +29,12 @@ include_directories(
   ${Plugin_SOURCE_DIR}/include
   )
 
+# Clang/C2 in C++98 mode cannot properly handle some of MSVC headers
+if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
+    CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC")
+  set(CMAKE_CXX_STANDARD 11)
+endif()
+
 # Create an executable that exports an API for use by plugins.
 add_executable(example_exe src/example_exe.cxx)
 set_target_properties(example_exe PROPERTIES
diff --git a/Tests/RunCMake/GenerateExportHeader/GEH.cmake 
b/Tests/RunCMake/GenerateExportHeader/GEH.cmake
index b3f1c7f..ae9a84c 100644
--- a/Tests/RunCMake/GenerateExportHeader/GEH.cmake
+++ b/Tests/RunCMake/GenerateExportHeader/GEH.cmake
@@ -51,11 +51,6 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
   set(CMAKE_CXX_STANDARD 11)
 endif()
 
-if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
-    CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU")
-  set(CMAKE_CXX_STANDARD 14)
-endif()
-
 add_subdirectory(lib_shared_and_static)
 
 if(CMAKE_SYSTEM_NAME MATCHES "AIX" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU"

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3391a3eca821ec9e2844af60835e6f2ab722ceed
commit 3391a3eca821ec9e2844af60835e6f2ab722ceed
Author:     Saleem Abdulrasool <compn...@compnerd.org>
AuthorDate: Tue Jul 23 17:56:19 2019 -0700
Commit:     Saleem Abdulrasool <compn...@compnerd.org>
CommitDate: Tue Jul 23 17:56:19 2019 -0700

    Ninja: do not normalise swift support file paths
    
    When building the output-map-file.json, do not convert the path to a
    Ninja path, which will make it relative.  If `cmake` is invoked with the
    `-B` option the files will be written relative to the directory where
    CMake was invoked rather than relative to the build tree.  This path
    need not be a relative path since it is used internally by CMake to
    determine where to write the output map file.  This allows the use of
    `-B` option in CMake in projects with Swift targets.

diff --git a/Source/cmNinjaTargetGenerator.cxx 
b/Source/cmNinjaTargetGenerator.cxx
index de79817..08c92ff 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -910,8 +910,8 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatements()
   this->GetBuildFileStream() << "\n";
 
   if (!this->SwiftOutputMap.empty()) {
-    std::string const mapFilePath = this->ConvertToNinjaPath(
-      this->GeneratorTarget->GetSupportDirectory() + "/output-file-map.json");
+    std::string const mapFilePath =
+      this->GeneratorTarget->GetSupportDirectory() + "/output-file-map.json";
     std::string const targetSwiftDepsPath = [this]() -> std::string {
       cmGeneratorTarget const* target = this->GeneratorTarget;
       if (const char* name = target->GetProperty("Swift_DEPENDENCIES_FILE")) {

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

Summary of changes:
 Help/guide/tutorial/Complete/CMakeLists.txt             |  3 ++-
 Help/guide/tutorial/Consumer/CMakeLists.txt             |  3 ++-
 Help/guide/tutorial/Step10/CMakeLists.txt               |  3 ++-
 Help/guide/tutorial/Step11/CMakeLists.txt               |  3 ++-
 Help/guide/tutorial/Step2/CMakeLists.txt                |  3 ++-
 Help/guide/tutorial/Step3/CMakeLists.txt                |  3 ++-
 Help/guide/tutorial/Step4/CMakeLists.txt                |  3 ++-
 Help/guide/tutorial/Step5/CMakeLists.txt                |  3 ++-
 Help/guide/tutorial/Step6/CMakeLists.txt                |  3 ++-
 Help/guide/tutorial/Step7/CMakeLists.txt                |  3 ++-
 Help/guide/tutorial/Step8/CMakeLists.txt                |  3 ++-
 Help/guide/tutorial/Step9/CMakeLists.txt                |  3 ++-
 Modules/Compiler/Clang-CXX.cmake                        |  7 +++++++
 Source/cmNinjaTargetGenerator.cxx                       |  4 ++--
 Source/kwsys/SystemTools.cxx                            |  7 ++++++-
 Source/kwsys/testSystemTools.cxx                        |  8 ++++++--
 Tests/AliasTarget/CMakeLists.txt                        |  2 +-
 Tests/Complex/CMakeLists.txt                            |  5 -----
 Tests/ComplexOneConfig/CMakeLists.txt                   |  5 -----
 .../Module/WriteCompilerDetectionHeader/CMakeLists.txt  |  4 +---
 Tests/Plugin/CMakeLists.txt                             | 17 ++++++-----------
 Tests/RunCMake/BuildDepends/BuildUnderSource.c          |  5 +++++
 Tests/RunCMake/BuildDepends/BuildUnderSource.cmake      |  9 +++++++++
 .../RunCMake/BuildDepends/BuildUnderSource.step1.cmake  |  3 +++
 .../RunCMake/BuildDepends/BuildUnderSource.step2.cmake  |  3 +++
 Tests/RunCMake/BuildDepends/RunCMakeTest.cmake          | 16 +++++++++++++++-
 Tests/RunCMake/GenerateExportHeader/GEH.cmake           |  5 -----
 27 files changed, 88 insertions(+), 48 deletions(-)
 create mode 100644 Tests/RunCMake/BuildDepends/BuildUnderSource.c
 create mode 100644 Tests/RunCMake/BuildDepends/BuildUnderSource.cmake
 create mode 100644 Tests/RunCMake/BuildDepends/BuildUnderSource.step1.cmake
 create mode 100644 Tests/RunCMake/BuildDepends/BuildUnderSource.step2.cmake


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
https://cmake.org/mailman/listinfo/cmake-commits

Reply via email to