mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-14 02:08:27 +08:00
gitlab-ci: add a job to make macOS packages
This commit is contained in:
@@ -11,6 +11,7 @@ include:
|
||||
stages:
|
||||
- build
|
||||
- test
|
||||
- package
|
||||
- test-ext
|
||||
|
||||
################################################################################
|
||||
@@ -175,6 +176,18 @@ test:macos-xcode:
|
||||
needs:
|
||||
- test:macos-ninja
|
||||
|
||||
package:macos:
|
||||
extends:
|
||||
- .macos_package
|
||||
- .cmake_build_macos_package
|
||||
- .cmake_release_artifacts
|
||||
- .macos_builder_tags_package
|
||||
- .run_only_for_package
|
||||
dependencies:
|
||||
- build:fedora31-sphinx-package
|
||||
needs:
|
||||
- build:fedora31-sphinx-package
|
||||
|
||||
# Windows builds
|
||||
|
||||
build:windows-vs2019-x64-ninja:
|
||||
|
@@ -72,6 +72,7 @@
|
||||
paths:
|
||||
# Any packages made.
|
||||
- build/cmake-*-Linux-x86_64.*
|
||||
- build/cmake-*-Darwin-x86_64.*
|
||||
|
||||
.cmake_test_artifacts:
|
||||
artifacts:
|
||||
|
24
.gitlab/ci/configure_macos_package.cmake
Normal file
24
.gitlab/ci/configure_macos_package.cmake
Normal file
@@ -0,0 +1,24 @@
|
||||
set(CMake_DOC_ARTIFACT_PREFIX "$ENV{CI_PROJECT_DIR}/build/install-doc" CACHE PATH "")
|
||||
|
||||
# Set up install destinations as expected by the packaging scripts.
|
||||
set(CMAKE_INSTALL_PREFIX "/" CACHE PATH "")
|
||||
set(CMAKE_DOC_DIR "doc/cmake" CACHE STRING "")
|
||||
|
||||
# Settings for CMake packages for macOS.
|
||||
set(CPACK_DMG_FORMAT "UDBZ" CACHE STRING "")
|
||||
set(CMAKE_CXX_FLAGS "-stdlib=libc++" CACHE STRING "")
|
||||
set(CMAKE_C_STANDARD "11" CACHE STRING "")
|
||||
set(CMAKE_CXX_STANDARD "14" CACHE STRING "")
|
||||
set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "")
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.7" CACHE STRING "")
|
||||
set(CMAKE_SKIP_BOOTSTRAP_TEST "TRUE" CACHE STRING "")
|
||||
set(CPACK_SYSTEM_NAME "Darwin-x86_64" CACHE STRING "")
|
||||
set(BUILD_CursesDialog "ON" CACHE BOOL "")
|
||||
set(BUILD_QtDialog "TRUE" CACHE BOOL "")
|
||||
set(CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL "3" CACHE STRING "")
|
||||
set(CMake_INSTALL_DEPENDENCIES "ON" CACHE BOOL "")
|
||||
set(CMAKE_SKIP_RPATH "TRUE" CACHE BOOL "")
|
||||
set(CMake_TEST_NO_FindPackageModeMakefileTest "TRUE" CACHE BOOL "")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_common.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake")
|
@@ -37,6 +37,14 @@
|
||||
CTEST_NO_WARNINGS_ALLOWED: 1
|
||||
CMAKE_GENERATOR: "Unix Makefiles"
|
||||
|
||||
.macos_package:
|
||||
extends: .macos_build
|
||||
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: macos_package
|
||||
CTEST_NO_WARNINGS_ALLOWED: 1
|
||||
CMake_SKIP_INSTALL: 1
|
||||
|
||||
### External testing
|
||||
|
||||
.macos_xcode:
|
||||
@@ -56,6 +64,15 @@
|
||||
- xcode-11.5
|
||||
- nonconcurrent
|
||||
|
||||
.macos_builder_tags_package:
|
||||
tags:
|
||||
- cmake # Since this is a bare runner, pin to a project.
|
||||
- macos
|
||||
- shell
|
||||
- xcode-11.5
|
||||
- nonconcurrent
|
||||
- finder
|
||||
|
||||
.macos_builder_ext_tags:
|
||||
tags:
|
||||
- cmake # Since this is a bare runner, pin to a project.
|
||||
@@ -91,6 +108,24 @@
|
||||
|
||||
interruptible: true
|
||||
|
||||
.cmake_build_macos_package:
|
||||
stage: package
|
||||
|
||||
script:
|
||||
- *before_script_macos
|
||||
- .gitlab/ci/sccache.sh
|
||||
# Allow the server to already be running.
|
||||
- "sccache --start-server || :"
|
||||
- sccache --show-stats
|
||||
- ctest -VV -S .gitlab/ci/ctest_configure.cmake
|
||||
- ctest -VV -S .gitlab/ci/ctest_build.cmake
|
||||
- sccache --show-stats
|
||||
- cd build
|
||||
- cpack -G TGZ
|
||||
- cpack -G DragNDrop
|
||||
|
||||
interruptible: true
|
||||
|
||||
.cmake_test_macos:
|
||||
stage: test
|
||||
|
||||
|
Reference in New Issue
Block a user