diff --git a/.gitlab/os-macos.yml b/.gitlab/os-macos.yml index 92602a7fa8..7b13dee815 100644 --- a/.gitlab/os-macos.yml +++ b/.gitlab/os-macos.yml @@ -5,15 +5,20 @@ .macos: variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci ext/$CI_CONCURRENT_ID" - # TODO: Factor this out so that each job selects the Xcode version to - # use so that different versions can be tested in a single pipeline. + +.macos_arm64: + extends: .macos + variables: + DEVELOPER_DIR: "/Applications/Xcode-26.4.app/Contents/Developer" + +.macos_x86_64: + extends: .macos + variables: DEVELOPER_DIR: "/Applications/Xcode-26.3.app/Contents/Developer" ### Build and test .macos_build: - extends: .macos - variables: # Note that shell runners only support runners with a single # concurrency level. We can't use `$CI_CONCURRENCY_ID` because this may @@ -22,8 +27,18 @@ # could run at the same time, so we drop it. GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" +.macos_arm64_build: + extends: + - .macos_arm64 + - .macos_build + +.macos_x86_64_build: + extends: + - .macos_x86_64 + - .macos_build + .macos_x86_64_ninja: - extends: .macos_build + extends: .macos_x86_64_build variables: CMAKE_CONFIGURATION: macos_x86_64_ninja @@ -31,7 +46,7 @@ CTEST_NO_WARNINGS_ALLOWED: 1 .macos_arm64_ninja: - extends: .macos_build + extends: .macos_arm64_build variables: CMAKE_CONFIGURATION: macos_arm64_ninja @@ -39,7 +54,7 @@ CTEST_NO_WARNINGS_ALLOWED: 1 .macos_arm64_ninja_symlinked: - extends: .macos_build + extends: .macos_arm64_build variables: CMAKE_CONFIGURATION: macos_arm64_ninja_symlinked @@ -54,7 +69,7 @@ CMAKE_CONFIGURATION: macos_arm64_pch .macos_x86_64_makefiles: - extends: .macos_build + extends: .macos_x86_64_build variables: CMAKE_CONFIGURATION: macos_x86_64_makefiles @@ -62,7 +77,7 @@ CMAKE_GENERATOR: "Unix Makefiles" .macos_package: - extends: .macos_build + extends: .macos_arm64_build variables: CMAKE_CONFIGURATION: macos_package @@ -70,7 +85,7 @@ CMAKE_CI_NO_INSTALL: 1 .macos10.10_package: - extends: .macos_build + extends: .macos_arm64_build variables: CMAKE_CONFIGURATION: macos10.10_package @@ -85,7 +100,7 @@ ### External testing .macos_x86_64_xcode: - extends: .macos + extends: .macos_x86_64 variables: CMAKE_CONFIGURATION: macos_x86_64_xcode @@ -93,7 +108,7 @@ CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true" .macos_arm64_xcode: - extends: .macos + extends: .macos_arm64 variables: CMAKE_CONFIGURATION: macos_arm64_xcode @@ -101,7 +116,7 @@ CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true" .macos_arm64_xcode_symlinked: - extends: .macos + extends: .macos_arm64 variables: CMAKE_CONFIGURATION: macos_arm64_xcode_symlinked @@ -111,7 +126,7 @@ CMAKE_CI_BUILD_DIR: "real_work/work/build" .macos_arm64_xcode_ub: - extends: .macos + extends: .macos_arm64 variables: CMAKE_CONFIGURATION: macos_arm64_xcode_ub @@ -119,7 +134,7 @@ CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true" .macos_arm64_ninja_multi: - extends: .macos + extends: .macos_arm64 variables: CMAKE_CONFIGURATION: macos_arm64_ninja_multi @@ -127,14 +142,14 @@ CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true" .macos_x86_64_ninja_ub: - extends: .macos + extends: .macos_x86_64 variables: CMAKE_CONFIGURATION: macos_x86_64_ninja_ub CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true" .macos_arm64_fastbuild: - extends: .macos + extends: .macos_arm64 variables: CMAKE_CONFIGURATION: macos_arm64_fastbuild @@ -164,7 +179,7 @@ - cmake # Since this is a bare runner, pin to a project. - macos-arm64 - shell - - xcode-26.3 + - xcode-26.4 - nonconcurrent .macos_arm64_tags_ext: @@ -172,7 +187,7 @@ - cmake # Since this is a bare runner, pin to a project. - macos-arm64 - shell - - xcode-26.3 + - xcode-26.4 - concurrent .macos_arm64_tags_package: @@ -180,7 +195,7 @@ - cmake # Since this is a bare runner, pin to a project. - macos-arm64 - shell - - xcode-26.3 + - xcode-26.4 - nonconcurrent - finder diff --git a/CTestCustom.cmake.in b/CTestCustom.cmake.in index 6daca61cf9..75642c9128 100644 --- a/CTestCustom.cmake.in +++ b/CTestCustom.cmake.in @@ -12,8 +12,8 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION "warning: \\(Long double usage is reported only once for each file" "warning: To disable this warning use" "could not be inlined" - "libcm(curl|expat).*has no symbols" - "cm(curl|expat).build/[^ ]*.o has no symbols" + "libcm(curl|expat|zstd).*has no symbols" + "cm(curl|expat|zstd).build/[^ ]*.o has no symbols" "not sorted slower link editing will result" "stl_deque.h:479" "Utilities.cmzlib." diff --git a/Tests/RunCMake/CMP0156/CMP0156-NEW-AppleClang-Imported-build-stdout.txt b/Tests/RunCMake/CMP0156/CMP0156-NEW-AppleClang-Imported-build-stdout.txt index c60296760a..3828e20fc9 100644 --- a/Tests/RunCMake/CMP0156/CMP0156-NEW-AppleClang-Imported-build-stdout.txt +++ b/Tests/RunCMake/CMP0156/CMP0156-NEW-AppleClang-Imported-build-stdout.txt @@ -1,3 +1,5 @@ -ld: warning: ignoring duplicate libraries: '[^']*liblib1\.a' +[^ +]*ld: warning: ignoring duplicate libraries: '[^']*liblib1\.a' ld: fatal warning\(s\) induced error \(-fatal_warnings\) -(cc|clang): error: linker command failed with exit code 1 \(use -v to see invocation\) +[^ +]*(cc|clang): error: linker command failed with exit code 1 \(use -v to see invocation\) diff --git a/Tests/RunCMake/CMP0156/CMP0156-OLD-AppleClang-build-stdout.txt b/Tests/RunCMake/CMP0156/CMP0156-OLD-AppleClang-build-stdout.txt index 28dfd44a5a..d01e5a92db 100644 --- a/Tests/RunCMake/CMP0156/CMP0156-OLD-AppleClang-build-stdout.txt +++ b/Tests/RunCMake/CMP0156/CMP0156-OLD-AppleClang-build-stdout.txt @@ -1,3 +1,5 @@ -ld: warning: ignoring duplicate libraries: '[^']*liblib1\.a', '[^']*liblib2\.a' +[^ +]*ld: warning: ignoring duplicate libraries: '[^']*liblib1\.a', '[^']*liblib2\.a' ld: fatal warning\(s\) induced error \(-fatal_warnings\) -(cc|clang): error: linker command failed with exit code 1 \(use -v to see invocation\) +[^ +]*(cc|clang): error: linker command failed with exit code 1 \(use -v to see invocation\) diff --git a/Tests/RunCMake/LinkStatic/CMAKE_STATIC_LINKER_FLAGS.cmake b/Tests/RunCMake/LinkStatic/CMAKE_STATIC_LINKER_FLAGS.cmake index f2ef5d1c0c..bdc367f0a8 100644 --- a/Tests/RunCMake/LinkStatic/CMAKE_STATIC_LINKER_FLAGS.cmake +++ b/Tests/RunCMake/LinkStatic/CMAKE_STATIC_LINKER_FLAGS.cmake @@ -4,6 +4,8 @@ enable_language(C) set(obj "${CMAKE_C_OUTPUT_EXTENSION}") if(BORLAND) set(pre -) +elseif(XCODE) + set(pre --badflag=) endif() set(CMAKE_STATIC_LINKER_FLAGS ${pre}BADFLAG${obj}) diff --git a/Tests/RunCMake/LinkStatic/CMAKE_STATIC_LINKER_FLAGS_CONFIG.cmake b/Tests/RunCMake/LinkStatic/CMAKE_STATIC_LINKER_FLAGS_CONFIG.cmake index 5c29274a0a..2f7303805e 100644 --- a/Tests/RunCMake/LinkStatic/CMAKE_STATIC_LINKER_FLAGS_CONFIG.cmake +++ b/Tests/RunCMake/LinkStatic/CMAKE_STATIC_LINKER_FLAGS_CONFIG.cmake @@ -4,6 +4,8 @@ enable_language(C) set(obj "${CMAKE_C_OUTPUT_EXTENSION}") if(BORLAND) set(pre -) +elseif(XCODE) + set(pre --badflag=) endif() # CMAKE_STATIC_LINKER_FLAGS_ variant diff --git a/Tests/RunCMake/LinkStatic/STATIC_LIBRARY_FLAGS.cmake b/Tests/RunCMake/LinkStatic/STATIC_LIBRARY_FLAGS.cmake index d654b4e3f9..07fc6b3d1e 100644 --- a/Tests/RunCMake/LinkStatic/STATIC_LIBRARY_FLAGS.cmake +++ b/Tests/RunCMake/LinkStatic/STATIC_LIBRARY_FLAGS.cmake @@ -4,6 +4,8 @@ enable_language(C) set(obj "${CMAKE_C_OUTPUT_EXTENSION}") if(BORLAND) set(pre -) +elseif(XCODE) + set(pre --badflag=) endif() add_library(StaticLinkFlags STATIC LinkOptionsLib.c) diff --git a/Tests/RunCMake/LinkStatic/STATIC_LIBRARY_OPTIONS.cmake b/Tests/RunCMake/LinkStatic/STATIC_LIBRARY_OPTIONS.cmake index 587af1d96e..dfa8b4f05b 100644 --- a/Tests/RunCMake/LinkStatic/STATIC_LIBRARY_OPTIONS.cmake +++ b/Tests/RunCMake/LinkStatic/STATIC_LIBRARY_OPTIONS.cmake @@ -4,6 +4,8 @@ enable_language(C) set(obj "${CMAKE_C_OUTPUT_EXTENSION}") if(BORLAND) set(pre -) +elseif(XCODE) + set(pre --badflag=) endif() add_library(StaticLinkOptions STATIC LinkOptionsLib.c)