Version: 2
Configurations:

    # =========================================================================
    # Packaging. Universal build with both x86_64 and arm64 architectures.
    # =========================================================================

    # Build on recent macOS version with latest Xcode

    -
        Id: 'macos-universal-on-arm64'
        Template: 'qtci-macos-15-arm-104'
        Compiler: 'Clang'
        Target arch: 'x86_64-arm64'
        Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
        Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -framework'
        Environment variables: [
            'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
            'NON_QTBASE_CMAKE_ARGS=-DFEATURE_gds=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON -DQT_FEATURE_open62541_security=OFF',
        ]

    # Test on all supported macOS versions (deployment targets)

    # On x86_64

    -
        Id: 'macos-13-x86_64-tests'
        Template: 'qtci-macos-13-x86_64-103'
        Compiler: 'Clang'
        Features: ['Sccache', 'TestOnly', 'Packaging']
        Platform dependency: 'macos-universal-on-arm64'
    -
        Id: 'macos-14-x86_64-tests'
        Template: 'qtci-macos-14-x86_64-105'
        Compiler: 'Clang'
        Features: ['Sccache', 'TestOnly', 'Packaging']
        Platform dependency: 'macos-universal-on-arm64'
    -
        Id: 'macos-15-x86_64-tests'
        Template: 'qtci-macos-15-x86_64-103'
        Compiler: 'Clang'
        Features: ['Sccache', 'TestOnly', 'Packaging']
        Platform dependency: 'macos-universal-on-arm64'

    # And arm64

    -
        Id: 'macos-13-arm64-tests'
        Template: 'qtci-macos-13-arm-108'
        Compiler: 'Clang'
        Features: ['Sccache', 'TestOnly', 'Packaging']
        Platform dependency: 'macos-universal-on-arm64'
    -
        Id: 'macos-14-arm64-tests'
        Template: 'qtci-macos-14-arm-106'
        Compiler: 'Clang'
        Features: ['Sccache', 'TestOnly', 'Packaging']
        Platform dependency: 'macos-universal-on-arm64'
    -
        Id: 'macos-15-arm64-tests'
        Template: 'qtci-macos-15-arm-104'
        Compiler: 'Clang'
        Features: ['Sccache', 'TestOnly', 'Packaging']
        Platform dependency: 'macos-universal-on-arm64'
    -
        Id: 'macos-26-arm64-tests'
        Template: 'qtci-macos-26-arm-104'
        Compiler: 'Clang'
        Features: ['Sccache', 'TestOnly', 'Packaging']
        Platform dependency: 'macos-universal-on-arm64'

    # =========================================================================
    # Developer build. Single architecture builds.
    # =========================================================================

    # Build on recent macOS version with latest Xcode

    -
        Id: 'macos-x86_64-developer-build'
        Template: 'qtci-macos-15-x86_64-103'
        Compiler: 'Clang'
        Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
        Configure arguments: '-developer-build -release -force-asserts -force-debug-info -no-pch -no-framework -qtnamespace TestNamespace -make examples'
        Environment variables: [
            'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
            'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
        ]
    -
        Id: 'macos-arm64-developer-build'
        Template: 'qtci-macos-15-arm-104'
        Compiler: 'Clang'
        Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
        Configure arguments: '-developer-build -nomake examples -debug -framework'
        Environment variables: [
            'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
            'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
        ]
    -
        Id: 'macos-26-arm64-developer-build'
        Template: 'qtci-macos-26-arm-104'
        Compiler: 'Clang'
        Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'Insignificant']
        Configure arguments: '-developer-build -nomake examples -debug -framework'
        Environment variables: [
            'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
            'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
        ]

    # Test on all supported macOS versions (deployment targets)
    -
        Id: 'macos-13-arm64-developer-build-tests'
        Template: 'qtci-macos-13-arm-108'
        Compiler: 'Clang'
        Features: ['TestOnly']
        Platform dependency: 'macos-arm64-developer-build'
    -
        Id: 'macos-14-arm64-developer-build-tests'
        Template: 'qtci-macos-14-arm-106'
        Compiler: 'Clang'
        Features: ['TestOnly']
        Platform dependency: 'macos-arm64-developer-build'
    -
        Id: 'macos-15-arm64-developer-build-tests'
        Template: 'qtci-macos-15-arm-104'
        Compiler: 'Clang'
        Features: ['TestOnly']
        Platform dependency: 'macos-arm64-developer-build'
    -
        Id: 'macos-26-arm64-developer-build-tests'
        Template: 'qtci-macos-26-arm-104'
        Compiler: 'Clang'
        Features: ['TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
        Platform dependency: 'macos-26-arm64-developer-build'
        Environment variables: [ 'COIN_CTEST_IGNORE_EXIT_CODE=1' ]
