summaryrefslogtreecommitdiffstats
path: root/.gitlab
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2020-09-15 13:34:21 (GMT)
committerBen Boeckel <ben.boeckel@kitware.com>2020-09-16 18:03:31 (GMT)
commit8ff3ce730d7a7c89c719caeac4ba7970f35565df (patch)
tree6c4a3bc35a00330ffde243ab1e26c10d9cfdec20 /.gitlab
parent7d4ec05c6f5b4d7f2b27ded68003eab2d0126199 (diff)
downloadCMake-8ff3ce730d7a7c89c719caeac4ba7970f35565df.zip
CMake-8ff3ce730d7a7c89c719caeac4ba7970f35565df.tar.gz
CMake-8ff3ce730d7a7c89c719caeac4ba7970f35565df.tar.bz2
gitlab-ci: add a job to make macOS packages
Diffstat (limited to '.gitlab')
-rw-r--r--.gitlab/artifacts.yml1
-rw-r--r--.gitlab/ci/configure_macos_package.cmake24
-rw-r--r--.gitlab/os-macos.yml35
3 files changed, 60 insertions, 0 deletions
diff --git a/.gitlab/artifacts.yml b/.gitlab/artifacts.yml
index fb33ca7..2eadcb1 100644
--- a/.gitlab/artifacts.yml
+++ b/.gitlab/artifacts.yml
@@ -72,6 +72,7 @@
paths:
# Any packages made.
- build/cmake-*-Linux-x86_64.*
+ - build/cmake-*-Darwin-x86_64.*
.cmake_test_artifacts:
artifacts:
diff --git a/.gitlab/ci/configure_macos_package.cmake b/.gitlab/ci/configure_macos_package.cmake
new file mode 100644
index 0000000..424bc2b
--- /dev/null
+++ b/.gitlab/ci/configure_macos_package.cmake
@@ -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")
diff --git a/.gitlab/os-macos.yml b/.gitlab/os-macos.yml
index 9d123ec..de1093d 100644
--- a/.gitlab/os-macos.yml
+++ b/.gitlab/os-macos.yml
@@ -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