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  e11f660ae1b31f730212af43e1094f8dc3d42ef8 (commit)
       via  ca6920689300249f67c4914cef521963c72a0d3f (commit)
       via  71fa78ff7af90c8384f1697ea1d0c2df0e0877c9 (commit)
       via  057ecb8f6fe8178d8d50fc9dbf04d1d6027ddc42 (commit)
       via  985d3a162ca7edcb26f35a06ca4754179335c7d3 (commit)
      from  20f042374730b2e1ee756c3b5939b63d6769cac3 (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=e11f660ae1b31f730212af43e1094f8dc3d42ef8
commit e11f660ae1b31f730212af43e1094f8dc3d42ef8
Merge: 20f0423 ca69206
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jun 20 13:42:16 2018 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Wed Jun 20 09:42:25 2018 -0400

    Merge topic 'xcode-10-legacy-build-system'
    
    ca69206893 Tests: Do not use i386 architecture with Xcode 10 and above
    71fa78ff7a Tests: Teach RunCMake to ignore Xcode missing file type warnings
    057ecb8f6f C++ feature checks: Ignore Xcode warnings
    985d3a162c Xcode: Use legacy build system
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !2151


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ca6920689300249f67c4914cef521963c72a0d3f
commit ca6920689300249f67c4914cef521963c72a0d3f
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Jun 19 11:12:50 2018 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Jun 19 11:14:43 2018 -0400

    Tests: Do not use i386 architecture with Xcode 10 and above
    
    Xcode 10 dropped support for i386 builds.

diff --git a/Tests/BuildDepends/Project/CMakeLists.txt 
b/Tests/BuildDepends/Project/CMakeLists.txt
index 3aa57fc..127b365 100644
--- a/Tests/BuildDepends/Project/CMakeLists.txt
+++ b/Tests/BuildDepends/Project/CMakeLists.txt
@@ -1,30 +1,30 @@
 cmake_minimum_required(VERSION 2.6)
 project(testRebuild)
 
-function(test_for_xcode4 result_var)
-  set(${result_var} 0 PARENT_SCOPE)
-  if(APPLE)
-    execute_process(COMMAND xcodebuild -version
-      OUTPUT_VARIABLE ov RESULT_VARIABLE rv
+if(APPLE)
+  set(CMake_TEST_XCODE_VERSION 0)
+  if(XCODE_VERSION)
+    set(CMake_TEST_XCODE_VERSION "${XCODE_VERSION}")
+  else()
+    execute_process(
+      COMMAND xcodebuild -version
+      OUTPUT_VARIABLE _version ERROR_VARIABLE _version
       )
-    if("${rv}" STREQUAL "0" AND ov MATCHES "^Xcode ([0-9]+)\\.")
-      if(NOT CMAKE_MATCH_1 VERSION_LESS 4)
-        set(${result_var} 1 PARENT_SCOPE)
-      endif()
+    if(_version MATCHES "^Xcode ([0-9]+(\\.[0-9]+)*)")
+      set(CMake_TEST_XCODE_VERSION "${CMAKE_MATCH_1}")
     endif()
   endif()
-endfunction()
-
-if(APPLE)
   # only use multi-arch if the sysroot exists on this machine
   # Ninja needs -M which could not be used with multiple -arch flags
   if(EXISTS "${CMAKE_OSX_SYSROOT}" AND NOT "${CMAKE_GENERATOR}" MATCHES 
"Ninja")
-    set(CMAKE_OSX_ARCHITECTURES "ppc;i386")
-    test_for_xcode4(is_xcode4)
-    if(is_xcode4)
-      # Xcode 4, use modern architectures as defaults
-      # Arch 'ppc' no longer works: tools no longer available starting with 
Xcode 4
+    if(CMake_TEST_XCODE_VERSION VERSION_GREATER_EQUAL 10)
+      # Arch 'i386' no longer works in Xcode 10.
+      set(CMAKE_OSX_ARCHITECTURES x86_64)
+    elseif(CMake_TEST_XCODE_VERSION VERSION_GREATER_EQUAL 4)
+      # Arch 'ppc' no longer works in Xcode 4.
       set(CMAKE_OSX_ARCHITECTURES i386 x86_64)
+    else()
+      set(CMAKE_OSX_ARCHITECTURES ppc i386)
     endif()
   endif()
 endif()
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 886e392..b8b724e 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -252,6 +252,10 @@ if(BUILD_TESTING)
         set(CMake_TEST_XCODE_VERSION "${CMAKE_MATCH_1}")
       endif()
     endif()
+    if(NOT CMake_TEST_XCODE_VERSION VERSION_LESS 10)
+      # Since Xcode 10 we do not have two supported architectures for the host.
+      set(CTEST_TEST_OSX_ARCH 0)
+    endif()
     if(CMAKE_OSX_SYSROOT)
       execute_process(
         COMMAND xcodebuild -sdk ${CMAKE_OSX_SYSROOT} -version ProductName

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=71fa78ff7af90c8384f1697ea1d0c2df0e0877c9
commit 71fa78ff7af90c8384f1697ea1d0c2df0e0877c9
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Mon Jun 18 10:31:42 2018 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Jun 19 10:56:50 2018 -0400

    Tests: Teach RunCMake to ignore Xcode missing file type warnings
    
    Xcode 10 beta warns
    
        xcodebuild... warning: file type '::com.apple.instruments.instrdst'
        is based on missing file type 'default::com.apple.package'
    
    Teach RunCMake to drop such lines before matching against expected
    output.

diff --git a/Tests/RunCMake/RunCMake.cmake b/Tests/RunCMake/RunCMake.cmake
index b2b38ef..69c96cc 100644
--- a/Tests/RunCMake/RunCMake.cmake
+++ b/Tests/RunCMake/RunCMake.cmake
@@ -109,6 +109,7 @@ function(run_cmake test)
     "|clang[^:]*: warning: the object size sanitizer has no effect at -O0, but 
is explicitly enabled:"
     "|Error kstat returned"
     "|Hit xcodebuild bug"
+    "|[^\n]*xcodebuild[^\n]*warning: file type[^\n]*is based on missing file 
type"
     "|ld: 0711-224 WARNING: Duplicate symbol: .__init_aix_libgcc_cxa_atexit"
     "|ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more 
information"
     "|[^\n]*is a member of multiple groups"

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=057ecb8f6fe8178d8d50fc9dbf04d1d6027ddc42
commit 057ecb8f6fe8178d8d50fc9dbf04d1d6027ddc42
Author:     Gregor Jasny <gja...@googlemail.com>
AuthorDate: Mon Jun 18 14:17:28 2018 +0200
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Jun 19 10:56:50 2018 -0400

    C++ feature checks: Ignore Xcode warnings

diff --git a/Source/Checks/cm_cxx_features.cmake 
b/Source/Checks/cm_cxx_features.cmake
index 2a1abba..1b57fd8 100644
--- a/Source/Checks/cm_cxx_features.cmake
+++ b/Source/Checks/cm_cxx_features.cmake
@@ -22,6 +22,8 @@ function(cm_check_cxx_feature name)
     # Filter out warnings caused by local configuration.
     string(REGEX REPLACE "[^\n]*warning:[^\n]*directory not found for 
option[^\n]*" "" check_output "${check_output}")
     string(REGEX REPLACE "[^\n]*warning:[^\n]*object file compiled with 
-mlong-branch which is no longer needed[^\n]*" "" check_output 
"${check_output}")
+    # Filter out xcodebuild warnings.
+    string(REGEX REPLACE "[^\n]* xcodebuild\\[[0-9]*:[0-9]*\\] warning: 
[^\n]*" "" check_output "${check_output}")
     # If using the feature causes warnings, treat it as broken/unavailable.
     if(check_output MATCHES "[Ww]arning")
       set(CMake_HAVE_CXX_${FEATURE} OFF CACHE INTERNAL "TRY_COMPILE" FORCE)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=985d3a162ca7edcb26f35a06ca4754179335c7d3
commit 985d3a162ca7edcb26f35a06ca4754179335c7d3
Author:     Gregor Jasny <gja...@googlemail.com>
AuthorDate: Mon Jun 18 13:58:37 2018 +0200
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Jun 19 10:56:50 2018 -0400

    Xcode: Use legacy build system
    
    Closes: #18099

diff --git a/Source/cmGlobalXCodeGenerator.cxx 
b/Source/cmGlobalXCodeGenerator.cxx
index 58888c3..e9a08bf 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -3338,15 +3338,10 @@ void cmGlobalXCodeGenerator::OutputXCodeProject(
   }
   this->WriteXCodePBXProj(fout, root, generators);
 
-  // Since the lowest available Xcode version for testing was 6.4,
-  // I'm setting this as a limit then
-  if (this->XcodeVersion >= 64) {
-    if (root->GetMakefile()->GetCMakeInstance()->GetIsInTryCompile() ||
-        root->GetMakefile()->IsOn("CMAKE_XCODE_GENERATE_SCHEME")) {
-      this->OutputXCodeSharedSchemes(xcodeDir);
-      this->OutputXCodeWorkspaceSettings(xcodeDir);
-    }
+  if (this->IsGeneratingScheme(root)) {
+    this->OutputXCodeSharedSchemes(xcodeDir);
   }
+  this->OutputXCodeWorkspaceSettings(xcodeDir, root);
 
   this->ClearXCodeObjects();
 
@@ -3356,6 +3351,15 @@ void cmGlobalXCodeGenerator::OutputXCodeProject(
     root->GetBinaryDirectory());
 }
 
+bool cmGlobalXCodeGenerator::IsGeneratingScheme(cmLocalGenerator* root) const
+{
+  // Since the lowest available Xcode version for testing was 6.4,
+  // I'm setting this as a limit then
+  return this->XcodeVersion >= 64 &&
+    (root->GetMakefile()->GetCMakeInstance()->GetIsInTryCompile() ||
+     root->GetMakefile()->IsOn("CMAKE_XCODE_GENERATE_SCHEME"));
+}
+
 void cmGlobalXCodeGenerator::OutputXCodeSharedSchemes(
   const std::string& xcProjDir)
 {
@@ -3395,7 +3399,7 @@ void cmGlobalXCodeGenerator::OutputXCodeSharedSchemes(
 }
 
 void cmGlobalXCodeGenerator::OutputXCodeWorkspaceSettings(
-  const std::string& xcProjDir)
+  const std::string& xcProjDir, cmLocalGenerator* root)
 {
   std::string xcodeSharedDataDir = xcProjDir;
   xcodeSharedDataDir += "/project.xcworkspace/xcshareddata";
@@ -3417,8 +3421,15 @@ void 
cmGlobalXCodeGenerator::OutputXCodeWorkspaceSettings(
   xout.StartElement("plist");
   xout.Attribute("version", "1.0");
   xout.StartElement("dict");
-  xout.Element("key", "IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded");
-  xout.Element("false");
+  if (this->XcodeVersion >= 100) {
+    xout.Element("key", "BuildSystemType");
+    xout.Element("string", "Original");
+  }
+  if (this->IsGeneratingScheme(root)) {
+    xout.Element("key",
+                 "IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded");
+    xout.Element("false");
+  }
   xout.EndElement(); // dict
   xout.EndElement(); // plist
   xout.EndDocument();
diff --git a/Source/cmGlobalXCodeGenerator.h b/Source/cmGlobalXCodeGenerator.h
index 0051c4a..ccef6e2 100644
--- a/Source/cmGlobalXCodeGenerator.h
+++ b/Source/cmGlobalXCodeGenerator.h
@@ -182,9 +182,11 @@ private:
                           std::vector<cmLocalGenerator*>& generators);
   void OutputXCodeProject(cmLocalGenerator* root,
                           std::vector<cmLocalGenerator*>& generators);
+  bool IsGeneratingScheme(cmLocalGenerator* root) const;
   // Write shared scheme files for all the native targets
   void OutputXCodeSharedSchemes(const std::string& xcProjDir);
-  void OutputXCodeWorkspaceSettings(const std::string& xcProjDir);
+  void OutputXCodeWorkspaceSettings(const std::string& xcProjDir,
+                                    cmLocalGenerator* root);
   void WriteXCodePBXProj(std::ostream& fout, cmLocalGenerator* root,
                          std::vector<cmLocalGenerator*>& generators);
   cmXCodeObject* CreateXCodeFileReferenceFromPath(const std::string& fullpath,

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

Summary of changes:
 Source/Checks/cm_cxx_features.cmake       |  2 ++
 Source/cmGlobalXCodeGenerator.cxx         | 33 ++++++++++++++++++++----------
 Source/cmGlobalXCodeGenerator.h           |  4 +++-
 Tests/BuildDepends/Project/CMakeLists.txt | 34 +++++++++++++++----------------
 Tests/CMakeLists.txt                      |  4 ++++
 Tests/RunCMake/RunCMake.cmake             |  1 +
 6 files changed, 49 insertions(+), 29 deletions(-)


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

Reply via email to