mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-14 02:08:27 +08:00
Merge topic 'ci-macos-arm64'
397ced99d7
gitlab-ci: Add macos-arm64 jobs for Ninja and Xcode0755c2ffbb
gitlab-ci: rename macos build and test jobs to macos-x86_6473150a3798
ci: add sccache 0.2.15 custom build for aarch64-apple-darwincab41b96ac
ci: update to sccache 0.2.15 on linux builds8dcbe5688a
ci: Use Qt macOS 10.13+ package for macOS build and test jobs Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !5851
This commit is contained in:
@@ -236,62 +236,99 @@ upload:linux-aarch64-package:
|
|||||||
|
|
||||||
# macOS builds
|
# macOS builds
|
||||||
|
|
||||||
build:macos-ninja:
|
build:macos-x86_64-ninja:
|
||||||
extends:
|
extends:
|
||||||
- .macos_ninja
|
- .macos_x86_64_ninja
|
||||||
- .cmake_build_macos
|
- .cmake_build_macos
|
||||||
- .cmake_build_artifacts
|
- .cmake_build_artifacts
|
||||||
- .macos_builder_tags
|
- .macos_x86_64_builder_tags
|
||||||
- .run_manually
|
- .run_manually
|
||||||
|
|
||||||
test:macos-ninja:
|
build:macos-arm64-ninja:
|
||||||
extends:
|
extends:
|
||||||
- .macos_ninja
|
- .macos_arm64_ninja
|
||||||
|
- .cmake_build_macos
|
||||||
|
- .cmake_build_artifacts
|
||||||
|
- .macos_arm64_builder_tags
|
||||||
|
- .run_manually
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_NO_MR: "true"
|
||||||
|
|
||||||
|
test:macos-x86_64-ninja:
|
||||||
|
extends:
|
||||||
|
- .macos_x86_64_ninja
|
||||||
- .cmake_test_macos
|
- .cmake_test_macos
|
||||||
- .cmake_test_artifacts
|
- .cmake_test_artifacts
|
||||||
- .macos_builder_tags
|
- .macos_x86_64_builder_tags
|
||||||
- .run_dependent
|
- .run_dependent
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:macos-ninja
|
- build:macos-x86_64-ninja
|
||||||
needs:
|
needs:
|
||||||
- build:macos-ninja
|
- build:macos-x86_64-ninja
|
||||||
|
|
||||||
build:macos-makefiles:
|
test:macos-arm64-ninja:
|
||||||
extends:
|
extends:
|
||||||
- .macos_makefiles
|
- .macos_arm64_ninja
|
||||||
|
- .cmake_test_macos
|
||||||
|
- .cmake_test_artifacts
|
||||||
|
- .macos_arm64_builder_tags
|
||||||
|
- .run_dependent
|
||||||
|
dependencies:
|
||||||
|
- build:macos-arm64-ninja
|
||||||
|
needs:
|
||||||
|
- build:macos-arm64-ninja
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_NO_MR: "true"
|
||||||
|
|
||||||
|
build:macos-x86_64-makefiles:
|
||||||
|
extends:
|
||||||
|
- .macos_x86_64_makefiles
|
||||||
- .cmake_build_macos
|
- .cmake_build_macos
|
||||||
- .cmake_build_artifacts
|
- .cmake_build_artifacts
|
||||||
- .macos_builder_tags
|
- .macos_x86_64_builder_tags
|
||||||
- .run_manually
|
- .run_manually
|
||||||
|
|
||||||
test:macos-makefiles:
|
test:macos-x86_64-makefiles:
|
||||||
extends:
|
extends:
|
||||||
- .macos_makefiles
|
- .macos_x86_64_makefiles
|
||||||
- .cmake_test_macos
|
- .cmake_test_macos
|
||||||
- .macos_builder_tags
|
- .macos_x86_64_builder_tags
|
||||||
- .run_dependent
|
- .run_dependent
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:macos-makefiles
|
- build:macos-x86_64-makefiles
|
||||||
needs:
|
needs:
|
||||||
- build:macos-makefiles
|
- build:macos-x86_64-makefiles
|
||||||
|
|
||||||
test:macos-xcode:
|
test:macos-x86_64-xcode:
|
||||||
extends:
|
extends:
|
||||||
- .macos_xcode
|
- .macos_x86_64_xcode
|
||||||
- .cmake_test_macos_external
|
- .cmake_test_macos_external
|
||||||
- .macos_builder_ext_tags
|
- .macos_x86_64_builder_ext_tags
|
||||||
- .run_dependent
|
- .run_dependent
|
||||||
dependencies:
|
dependencies:
|
||||||
- test:macos-ninja
|
- test:macos-x86_64-ninja
|
||||||
needs:
|
needs:
|
||||||
- test:macos-ninja
|
- test:macos-x86_64-ninja
|
||||||
|
|
||||||
|
test:macos-arm64-xcode:
|
||||||
|
extends:
|
||||||
|
- .macos_arm64_xcode
|
||||||
|
- .cmake_test_macos_external
|
||||||
|
- .macos_arm64_builder_ext_tags
|
||||||
|
- .run_dependent
|
||||||
|
dependencies:
|
||||||
|
- test:macos-arm64-ninja
|
||||||
|
needs:
|
||||||
|
- test:macos-arm64-ninja
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_NO_MR: "true"
|
||||||
|
|
||||||
build:macos-package:
|
build:macos-package:
|
||||||
extends:
|
extends:
|
||||||
- .macos_package
|
- .macos_package
|
||||||
- .cmake_build_macos_package
|
- .cmake_build_macos_package
|
||||||
- .cmake_release_artifacts
|
- .cmake_release_artifacts
|
||||||
- .macos_builder_tags_package
|
- .macos_x86_64_builder_tags_package
|
||||||
- .run_only_for_package
|
- .run_only_for_package
|
||||||
dependencies:
|
dependencies:
|
||||||
- prep:doc-package
|
- prep:doc-package
|
||||||
@@ -314,7 +351,7 @@ build:macos10.10-package:
|
|||||||
- .macos10.10_package
|
- .macos10.10_package
|
||||||
- .cmake_build_macos_package
|
- .cmake_build_macos_package
|
||||||
- .cmake_release_artifacts
|
- .cmake_release_artifacts
|
||||||
- .macos_builder_tags_package
|
- .macos_x86_64_builder_tags_package
|
||||||
- .run_only_for_package
|
- .run_only_for_package
|
||||||
dependencies:
|
dependencies:
|
||||||
- prep:doc-package
|
- prep:doc-package
|
||||||
|
3
.gitlab/ci/configure_macos_x86_64_ninja.cmake
Normal file
3
.gitlab/ci/configure_macos_x86_64_ninja.cmake
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
set(CMake_TEST_GUI "ON" CACHE BOOL "")
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_common.cmake")
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake")
|
2
.gitlab/ci/configure_macos_x86_64_xcode.cmake
Normal file
2
.gitlab/ci/configure_macos_x86_64_xcode.cmake
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_common.cmake")
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
|
@@ -4,31 +4,6 @@ cmake_minimum_required(VERSION 3.12)
|
|||||||
set(qt_version_major "5")
|
set(qt_version_major "5")
|
||||||
set(qt_version_minor "15")
|
set(qt_version_minor "15")
|
||||||
set(qt_version_patch "1")
|
set(qt_version_patch "1")
|
||||||
# This URL is only visible inside of Kitware's network. Please use your own Qt
|
|
||||||
# Account to obtain these files.
|
|
||||||
if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "package")
|
|
||||||
set(qt_url_root "https://cmake.org/files/dependencies")
|
|
||||||
else ()
|
|
||||||
set(qt_url_root "https://paraview.org/files/dependencies/internal/qt")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# Determine the ABI to fetch for Qt.
|
|
||||||
if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "vs2015")
|
|
||||||
set(qt_platform "windows_x86")
|
|
||||||
set(msvc_year "2015")
|
|
||||||
set(qt_abi "win64_msvc${msvc_year}_64")
|
|
||||||
elseif ("$ENV{CMAKE_CONFIGURATION}" MATCHES "vs2017" OR
|
|
||||||
"$ENV{CMAKE_CONFIGURATION}" MATCHES "vs2019")
|
|
||||||
set(qt_platform "windows_x86")
|
|
||||||
set(msvc_year "2019")
|
|
||||||
set(qt_abi "win64_msvc${msvc_year}_64")
|
|
||||||
elseif ("$ENV{CMAKE_CONFIGURATION}" MATCHES "macos")
|
|
||||||
set(qt_platform "mac_x64")
|
|
||||||
set(qt_abi "clang_64")
|
|
||||||
else ()
|
|
||||||
message(FATAL_ERROR
|
|
||||||
"Unknown ABI to use for Qt")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# Combined version variables.
|
# Combined version variables.
|
||||||
set(qt_version "${qt_version_major}.${qt_version_minor}.${qt_version_patch}")
|
set(qt_version "${qt_version_major}.${qt_version_minor}.${qt_version_patch}")
|
||||||
@@ -36,7 +11,21 @@ set(qt_version_nodot "${qt_version_major}${qt_version_minor}${qt_version_patch}"
|
|||||||
|
|
||||||
# Files needed to download.
|
# Files needed to download.
|
||||||
set(qt_files)
|
set(qt_files)
|
||||||
if (qt_platform STREQUAL "windows_x86")
|
if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "windows")
|
||||||
|
# Determine the ABI to fetch for Qt.
|
||||||
|
if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "vs2015")
|
||||||
|
set(qt_platform "windows_x86")
|
||||||
|
set(msvc_year "2015")
|
||||||
|
set(qt_abi "win64_msvc${msvc_year}_64")
|
||||||
|
elseif ("$ENV{CMAKE_CONFIGURATION}" MATCHES "vs2017" OR
|
||||||
|
"$ENV{CMAKE_CONFIGURATION}" MATCHES "vs2019")
|
||||||
|
set(qt_platform "windows_x86")
|
||||||
|
set(msvc_year "2019")
|
||||||
|
set(qt_abi "win64_msvc${msvc_year}_64")
|
||||||
|
else ()
|
||||||
|
message(FATAL_ERROR "Unknown ABI to use for Qt")
|
||||||
|
endif ()
|
||||||
|
|
||||||
set(qt_build_stamp "202009071110")
|
set(qt_build_stamp "202009071110")
|
||||||
|
|
||||||
set(qt_file_name_prefix "${qt_version}-0-${qt_build_stamp}")
|
set(qt_file_name_prefix "${qt_version}-0-${qt_build_stamp}")
|
||||||
@@ -47,29 +36,23 @@ if (qt_platform STREQUAL "windows_x86")
|
|||||||
endforeach ()
|
endforeach ()
|
||||||
|
|
||||||
set(qt_subdir "${qt_version}/msvc${msvc_year}_64")
|
set(qt_subdir "${qt_version}/msvc${msvc_year}_64")
|
||||||
elseif (qt_platform STREQUAL "mac_x64")
|
|
||||||
if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "macos_package")
|
# This URL is only visible inside of Kitware's network.
|
||||||
list(APPEND qt_files
|
# Please use your own Qt Account to obtain these files.
|
||||||
"qt-5.15.2-macosx10.13-x86_64-arm64.tar.xz")
|
set(qt_url_root "https://paraview.org/files/dependencies/internal/qt")
|
||||||
set(qt_subdir "qt-5.15.2-macosx10.13-x86_64-arm64")
|
set(qt_url_path "${qt_platform}/desktop/qt5_${qt_version_nodot}/qt.qt5.${qt_version_nodot}.${qt_abi}")
|
||||||
elseif ("$ENV{CMAKE_CONFIGURATION}" MATCHES "macos10.10_package")
|
elseif ("$ENV{CMAKE_CONFIGURATION}" MATCHES "macos")
|
||||||
list(APPEND qt_files
|
if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "macos10.10_package")
|
||||||
"qt-5.9.9-macosx10.10-x86_64-arm64.tar.xz")
|
list(APPEND qt_files "qt-5.9.9-macosx10.10-x86_64-arm64.tar.xz")
|
||||||
set(qt_subdir "qt-5.9.9-macosx10.10-x86_64-arm64")
|
set(qt_subdir "qt-5.9.9-macosx10.10-x86_64-arm64")
|
||||||
else ()
|
else ()
|
||||||
set(qt_build_stamp "202009071110")
|
list(APPEND qt_files "qt-5.15.2-macosx10.13-x86_64-arm64.tar.xz")
|
||||||
set(qt_file_name_prefix "${qt_version}-0-${qt_build_stamp}")
|
set(qt_subdir "qt-5.15.2-macosx10.13-x86_64-arm64")
|
||||||
|
endif()
|
||||||
foreach (qt_component IN ITEMS qtbase)
|
set(qt_url_root "https://cmake.org/files/dependencies")
|
||||||
list(APPEND qt_files
|
set(qt_url_path "")
|
||||||
"${qt_file_name_prefix}${qt_component}-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z")
|
else()
|
||||||
endforeach ()
|
message(FATAL_ERROR "Unknown OS to use for Qt")
|
||||||
|
|
||||||
set(qt_subdir "${qt_version}/clang_64")
|
|
||||||
endif ()
|
|
||||||
else ()
|
|
||||||
message(FATAL_ERROR
|
|
||||||
"Unknown files for ${qt_platform}")
|
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Verify that we know what directory will be extracted.
|
# Verify that we know what directory will be extracted.
|
||||||
@@ -79,11 +62,6 @@ if (NOT qt_subdir)
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Build up the path to the file to download.
|
# Build up the path to the file to download.
|
||||||
if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "package")
|
|
||||||
set(qt_url_path "")
|
|
||||||
else ()
|
|
||||||
set(qt_url_path "${qt_platform}/desktop/qt5_${qt_version_nodot}/qt.qt5.${qt_version_nodot}.${qt_abi}")
|
|
||||||
endif ()
|
|
||||||
set(qt_url_prefix "${qt_url_root}/${qt_url_path}")
|
set(qt_url_prefix "${qt_url_root}/${qt_url_path}")
|
||||||
|
|
||||||
# Include the file containing the hashes of the files that matter.
|
# Include the file containing the hashes of the files that matter.
|
||||||
|
@@ -5,17 +5,16 @@ set -e
|
|||||||
readonly kernel="$(uname -s)-$(uname -m)"
|
readonly kernel="$(uname -s)-$(uname -m)"
|
||||||
case $kernel in
|
case $kernel in
|
||||||
Linux-x86_64)
|
Linux-x86_64)
|
||||||
version="0.2.13"
|
version="v0.2.15"
|
||||||
shatool="sha256sum"
|
shatool="sha256sum"
|
||||||
sha256sum="28a5499e340865b08b632306b435913beb590fbd7b49a3f887a623b459fabdeb"
|
sha256sum="e5d03a9aa3b9fac7e490391bbe22d4f42c840d31ef9eaf127a03101930cbb7ca"
|
||||||
platform="x86_64-unknown-linux-musl"
|
platform="x86_64-unknown-linux-musl"
|
||||||
;;
|
;;
|
||||||
Linux-aarch64)
|
Linux-aarch64)
|
||||||
version="g6628e1f"
|
version="v0.2.15"
|
||||||
shatool="sha256sum"
|
shatool="sha256sum"
|
||||||
sha256sum="bb88adbb5a29c166ecaa78d0593493b609a7f84d91d1228502a908f319b513f0"
|
sha256sum="90d91d21a767e3f558196dbd52395f6475c08de5c4951a4c8049575fa6894489"
|
||||||
platform="aarch64-unknown-linux-musl"
|
platform="aarch64-unknown-linux-musl"
|
||||||
url="https://github.com/hwinit/sccache/releases/download/$version"
|
|
||||||
;;
|
;;
|
||||||
Darwin-x86_64)
|
Darwin-x86_64)
|
||||||
version="gfe63078"
|
version="gfe63078"
|
||||||
@@ -24,6 +23,13 @@ case $kernel in
|
|||||||
platform="x86_64-apple-darwin"
|
platform="x86_64-apple-darwin"
|
||||||
url="https://paraview.org/files/dependencies"
|
url="https://paraview.org/files/dependencies"
|
||||||
;;
|
;;
|
||||||
|
Darwin-arm64)
|
||||||
|
version="0.2.15-1-disk_cache_init"
|
||||||
|
shatool="shasum -a 256"
|
||||||
|
sha256sum="f7c9ff78e701810b8b1dbc2a163c7fda1177fc3f69c71f46e7a38242657a99fd"
|
||||||
|
platform="aarch64-apple-darwin"
|
||||||
|
url="https://cmake.org/files/dependencies/sccache"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unrecognized platform $kernel"
|
echo "Unrecognized platform $kernel"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -49,3 +55,4 @@ curl -OL "$url/$tarball"
|
|||||||
$shatool --check sccache.sha256sum
|
$shatool --check sccache.sha256sum
|
||||||
tar xf "$tarball"
|
tar xf "$tarball"
|
||||||
mv "$filename/sccache" .
|
mv "$filename/sccache" .
|
||||||
|
chmod +x sccache
|
||||||
|
@@ -24,18 +24,25 @@
|
|||||||
# could run at the same time, so we drop it.
|
# could run at the same time, so we drop it.
|
||||||
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
|
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
|
||||||
|
|
||||||
.macos_ninja:
|
.macos_x86_64_ninja:
|
||||||
extends: .macos_build
|
extends: .macos_build
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
CMAKE_CONFIGURATION: macos_ninja
|
CMAKE_CONFIGURATION: macos_x86_64_ninja
|
||||||
CTEST_NO_WARNINGS_ALLOWED: 1
|
CTEST_NO_WARNINGS_ALLOWED: 1
|
||||||
|
|
||||||
.macos_makefiles:
|
.macos_arm64_ninja:
|
||||||
extends: .macos_build
|
extends: .macos_build
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
CMAKE_CONFIGURATION: macos_makefiles
|
CMAKE_CONFIGURATION: macos_arm64_ninja
|
||||||
|
CTEST_NO_WARNINGS_ALLOWED: 1
|
||||||
|
|
||||||
|
.macos_x86_64_makefiles:
|
||||||
|
extends: .macos_build
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CMAKE_CONFIGURATION: macos_x86_64_makefiles
|
||||||
CTEST_NO_WARNINGS_ALLOWED: 1
|
CTEST_NO_WARNINGS_ALLOWED: 1
|
||||||
CMAKE_GENERATOR: "Unix Makefiles"
|
CMAKE_GENERATOR: "Unix Makefiles"
|
||||||
|
|
||||||
@@ -57,16 +64,23 @@
|
|||||||
|
|
||||||
### External testing
|
### External testing
|
||||||
|
|
||||||
.macos_xcode:
|
.macos_x86_64_xcode:
|
||||||
extends: .macos
|
extends: .macos
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
CMAKE_CONFIGURATION: macos_xcode
|
CMAKE_CONFIGURATION: macos_x86_64_xcode
|
||||||
|
CMAKE_GENERATOR: Xcode
|
||||||
|
|
||||||
|
.macos_arm64_xcode:
|
||||||
|
extends: .macos
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CMAKE_CONFIGURATION: macos_arm64_xcode
|
||||||
CMAKE_GENERATOR: Xcode
|
CMAKE_GENERATOR: Xcode
|
||||||
|
|
||||||
## Tags
|
## Tags
|
||||||
|
|
||||||
.macos_builder_tags:
|
.macos_x86_64_builder_tags:
|
||||||
tags:
|
tags:
|
||||||
- cmake # Since this is a bare runner, pin to a project.
|
- cmake # Since this is a bare runner, pin to a project.
|
||||||
- macos
|
- macos
|
||||||
@@ -74,7 +88,7 @@
|
|||||||
- xcode-12.3
|
- xcode-12.3
|
||||||
- nonconcurrent
|
- nonconcurrent
|
||||||
|
|
||||||
.macos_builder_tags_package:
|
.macos_x86_64_builder_tags_package:
|
||||||
tags:
|
tags:
|
||||||
- cmake # Since this is a bare runner, pin to a project.
|
- cmake # Since this is a bare runner, pin to a project.
|
||||||
- macos
|
- macos
|
||||||
@@ -83,7 +97,7 @@
|
|||||||
- nonconcurrent
|
- nonconcurrent
|
||||||
- finder
|
- finder
|
||||||
|
|
||||||
.macos_builder_ext_tags:
|
.macos_x86_64_builder_ext_tags:
|
||||||
tags:
|
tags:
|
||||||
- cmake # Since this is a bare runner, pin to a project.
|
- cmake # Since this is a bare runner, pin to a project.
|
||||||
- macos
|
- macos
|
||||||
@@ -91,6 +105,22 @@
|
|||||||
- xcode-12.3
|
- xcode-12.3
|
||||||
- concurrent
|
- concurrent
|
||||||
|
|
||||||
|
.macos_arm64_builder_tags:
|
||||||
|
tags:
|
||||||
|
- cmake # Since this is a bare runner, pin to a project.
|
||||||
|
- macos-arm64
|
||||||
|
- shell
|
||||||
|
- xcode-12.3
|
||||||
|
- nonconcurrent
|
||||||
|
|
||||||
|
.macos_arm64_builder_ext_tags:
|
||||||
|
tags:
|
||||||
|
- cmake # Since this is a bare runner, pin to a project.
|
||||||
|
- macos-arm64
|
||||||
|
- shell
|
||||||
|
- xcode-12.3
|
||||||
|
- concurrent
|
||||||
|
|
||||||
## macOS-specific scripts
|
## macOS-specific scripts
|
||||||
|
|
||||||
.before_script_macos: &before_script_macos
|
.before_script_macos: &before_script_macos
|
||||||
|
Reference in New Issue
Block a user