# macOS-specific builder configurations and build commands

## Base configurations

.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.
        DEVELOPER_DIR: "/Applications/Xcode-14.3.app/Contents/Developer"
        # Avoid conflicting with other projects running on the same machine.
        SCCACHE_SERVER_PORT: 4227

### 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
        # change between the build and test stages which CMake doesn't support.
        # Even if we could, it could change if other runners on the machine
        # could run at the same time, so we drop it.
        GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"

.macos_x86_64_ninja:
    extends: .macos_build

    variables:
        CMAKE_CONFIGURATION: macos_x86_64_ninja
        CTEST_NO_WARNINGS_ALLOWED: 1

.macos_arm64_ninja:
    extends: .macos_build

    variables:
        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
        CMAKE_GENERATOR: "Unix Makefiles"

.macos_package:
    extends: .macos_build

    variables:
        CMAKE_CONFIGURATION: macos_package
        CTEST_NO_WARNINGS_ALLOWED: 1
        CMAKE_CI_NO_INSTALL: 1

.macos10.10_package:
    extends: .macos_build

    variables:
        CMAKE_CONFIGURATION: macos10.10_package
        CTEST_NO_WARNINGS_ALLOWED: 1
        CMAKE_CI_NO_INSTALL: 1

### External testing

.macos_x86_64_xcode:
    extends: .macos

    variables:
        CMAKE_CONFIGURATION: macos_x86_64_xcode
        CMAKE_GENERATOR: Xcode
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.macos_arm64_xcode:
    extends: .macos

    variables:
        CMAKE_CONFIGURATION: macos_arm64_xcode
        CMAKE_GENERATOR: Xcode
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.macos_arm64_xcode_ub:
    extends: .macos

    variables:
        CMAKE_CONFIGURATION: macos_arm64_xcode_ub
        CMAKE_GENERATOR: Xcode
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.macos_arm64_ninja_multi:
    extends: .macos

    variables:
        CMAKE_CONFIGURATION: macos_arm64_ninja_multi
        CMAKE_GENERATOR: "Ninja Multi-Config"
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.macos_x86_64_ninja_ub:
    extends: .macos

    variables:
        CMAKE_CONFIGURATION: macos_x86_64_ninja_ub
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

## Tags

.macos_x86_64_tags:
    tags:
        - cmake # Since this is a bare runner, pin to a project.
        - macos-x86_64
        - shell
        - xcode-14.3
        - nonconcurrent

.macos_x86_64_tags_ext:
    tags:
        - cmake # Since this is a bare runner, pin to a project.
        - macos-x86_64
        - shell
        - xcode-14.3
        - concurrent

.macos_arm64_tags:
    tags:
        - cmake # Since this is a bare runner, pin to a project.
        - macos-arm64
        - shell
        - xcode-14.3
        - nonconcurrent

.macos_arm64_tags_ext:
    tags:
        - cmake # Since this is a bare runner, pin to a project.
        - macos-arm64
        - shell
        - xcode-14.3
        - concurrent

.macos_arm64_tags_package:
    tags:
        - cmake # Since this is a bare runner, pin to a project.
        - macos-arm64
        - shell
        - xcode-14.3
        - nonconcurrent
        - finder

## macOS-specific scripts

.before_script_macos: &before_script_macos
    - source .gitlab/ci/env.sh
    - .gitlab/ci/cmake.sh
    - export PATH=$PWD/.gitlab/cmake/bin:$PATH
    - .gitlab/ci/ninja.sh
    - export PATH=$PWD/.gitlab:$PATH
    - cmake --version
    - ninja --version
    # Download Qt
    - cmake -P .gitlab/ci/download_qt.cmake
    - export CMAKE_PREFIX_PATH=$PWD/.gitlab/qt${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}

.cmake_build_macos:
    stage: build

    script:
        - *before_script_macos
        - .gitlab/ci/sccache.sh
        # Allow the server to already be running.
        - "sccache --start-server || :"
        - sccache --show-stats
        - .gitlab/ci/pre_build.sh
        - ctest -VV -S .gitlab/ci/ctest_configure.cmake
        - ctest -VV -S .gitlab/ci/ctest_build.cmake
        - .gitlab/ci/post_build.sh
        - sccache --show-stats

    interruptible: true

.cmake_test_macos:
    stage: test

    script:
        - *before_script_macos
        - ctest --output-on-failure -V -S .gitlab/ci/ctest_test.cmake

    interruptible: true

.cmake_test_macos_external:
    stage: test-ext

    script:
        - *before_script_macos
        - .gitlab/ci/sccache.sh
        # Allow the server to already be running.
        - "sccache --start-server || :"
        - sccache --show-stats
        - "$LAUNCHER build/install/CMake.app/Contents/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake"
        - sccache --show-stats

    interruptible: true
