diff options
author | Ben Boeckel <ben.boeckel@kitware.com> | 2020-09-15 09:34:21 -0400 |
---|---|---|
committer | Ben Boeckel <ben.boeckel@kitware.com> | 2020-09-16 14:03:31 -0400 |
commit | 8ff3ce730d7a7c89c719caeac4ba7970f35565df (patch) | |
tree | 6c4a3bc35a00330ffde243ab1e26c10d9cfdec20 | |
parent | 7d4ec05c6f5b4d7f2b27ded68003eab2d0126199 (diff) | |
download | cmake-8ff3ce730d7a7c89c719caeac4ba7970f35565df.tar.gz |
gitlab-ci: add a job to make macOS packages
-rw-r--r-- | .gitlab-ci.yml | 13 | ||||
-rw-r--r-- | .gitlab/artifacts.yml | 1 | ||||
-rw-r--r-- | .gitlab/ci/configure_macos_package.cmake | 24 | ||||
-rw-r--r-- | .gitlab/os-macos.yml | 35 |
4 files changed, 73 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5e7b20451f..b2a83cbfc5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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: diff --git a/.gitlab/artifacts.yml b/.gitlab/artifacts.yml index fb33ca7e59..2eadcb13b7 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 0000000000..424bc2b70f --- /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 9d123ecab2..de1093d45a 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 |