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