# Windows-specific builder configurations and build commands

## Base configurations

.windows:
    variables:
        GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake ci ext\\$CI_CONCURRENT_ID"
        # Avoid conflicting with other projects running on the same machine.
        SCCACHE_SERVER_PORT: 4227

### Build and test

.windows_build:
    extends: .windows

    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"

.windows_build_ninja:
    extends: .windows_build

    variables:
        # Debug and RelWithDebinfo build types use the `/Zi` which results in
        # uncacheable compiations.
        # https://github.com/mozilla/sccache/issues/242
        CMAKE_CI_BUILD_TYPE: Release
        CTEST_NO_WARNINGS_ALLOWED: 1

.windows_vcvarsall_vs2022_x64:
    variables:
        VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
        VCVARSPLATFORM: "x64"
        VCVARSVERSION: "14.36.32532"

.windows_vcvarsall_vs2022_x86:
    variables:
        VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
        VCVARSPLATFORM: "x86"
        VCVARSVERSION: "14.36.32532"

.windows_vcvarsall_vs2022_x64_arm64:
    variables:
        VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
        VCVARSPLATFORM: "x64_arm64"
        VCVARSVERSION: "14.36.32532"

.windows_arm64_vcvarsall_vs2022:
    variables:
        VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
        VCVARSPLATFORM: "arm64"
        VCVARSVERSION: "14.36.32532"

.windows_vs2022_x64_pch:
    extends:
        - .windows_vs2022_x64_ninja

    variables:
        CMAKE_CONFIGURATION: windows_vs2022_x64_pch

.windows_vs2022_x64_ninja:
    extends:
        - .windows_build_ninja
        - .windows_vcvarsall_vs2022_x64

    variables:
        CMAKE_CONFIGURATION: windows_vs2022_x64_ninja

.windows_arm64_vs2022_ninja:
    extends:
        - .windows_build_ninja
        - .windows_arm64_vcvarsall_vs2022

    variables:
        CMAKE_CONFIGURATION: windows_arm64_vs2022_ninja

.windows_package:
    extends:
        - .windows_build_ninja

    variables:
        CMAKE_CI_BUILD_TYPE: Release
        CMAKE_CI_NO_INSTALL: 1

.windows_x86_64_package:
    extends:
        - .windows_package
        - .windows_vcvarsall_vs2022_x64

    variables:
        CMAKE_CONFIGURATION: windows_x86_64_package

.windows_i386_package:
    extends:
        - .windows_package
        - .windows_vcvarsall_vs2022_x86

    variables:
        CMAKE_CONFIGURATION: windows_i386_package

.windows_arm64_package:
    extends:
        - .windows_package
        - .windows_vcvarsall_vs2022_x64_arm64

    variables:
        CMAKE_CONFIGURATION: windows_arm64_package

### External testing

.windows_vs2022_x64:
    extends: .windows

    variables:
        CMAKE_CONFIGURATION: windows_vs2022_x64
        CMAKE_GENERATOR: "Visual Studio 17 2022"
        CMAKE_GENERATOR_PLATFORM: "x64"
        CMAKE_GENERATOR_TOOLSET: "v143,version=14.36.32532"
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.windows_vs2019_x64:
    extends: .windows

    variables:
        CMAKE_CONFIGURATION: windows_vs2019_x64
        CMAKE_GENERATOR: "Visual Studio 16 2019"
        CMAKE_GENERATOR_PLATFORM: "x64"
        CMAKE_GENERATOR_TOOLSET: "v142,version=14.29.30133"
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.windows_borland:
    extends: .windows

    variables:
        CMAKE_GENERATOR: "Borland Makefiles"
        CMAKE_CI_BUILD_TYPE: Release
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.windows_borland5.5:
    extends: .windows_borland

    variables:
        CMAKE_CONFIGURATION: windows_borland5.5

.windows_borland5.8:
    extends: .windows_borland

    variables:
        CMAKE_CONFIGURATION: windows_borland5.8

.windows_ninja:
    extends: .windows

    variables:
        CMAKE_GENERATOR: "Ninja"
        CMAKE_CI_BUILD_TYPE: Release
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.windows_ninja_multi:
    extends: .windows

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

.windows_nmake:
    extends: .windows

    variables:
        CMAKE_GENERATOR: "NMake Makefiles"
        CMAKE_CI_BUILD_TYPE: Release
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.windows_jom:
    extends: .windows

    variables:
        CMAKE_GENERATOR: "NMake Makefiles JOM"
        CMAKE_CI_BUILD_TYPE: Release
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.windows_vs2022_x64_nmake:
    extends:
        - .windows_nmake
        - .windows_vcvarsall_vs2022_x64

    variables:
        CMAKE_CONFIGURATION: windows_vs2022_x64_nmake

.windows_vs2022_x64_jom:
    extends:
        - .windows_jom
        - .windows_vcvarsall_vs2022_x64

    variables:
        CMAKE_CONFIGURATION: windows_vs2022_x64_jom

.windows_vs2022_x64_ninja_multi:
    extends:
        - .windows_ninja_multi
        - .windows_vcvarsall_vs2022_x64

    variables:
        CMAKE_CONFIGURATION: windows_vs2022_x64_ninja_multi

.windows_clang_ninja:
    extends:
        - .windows_ninja
        - .windows_vcvarsall_vs2022_x64

    variables:
        CMAKE_CONFIGURATION: windows_clang_ninja

.windows_clang_nmake:
    extends:
        - .windows_nmake
        - .windows_vcvarsall_vs2022_x64

    variables:
        CMAKE_CONFIGURATION: windows_clang_nmake

.windows_msvc_v71_nmake:
    extends: .windows_nmake

    variables:
        CMAKE_CONFIGURATION: windows_msvc_v71_nmake

.windows_intelclassic_ninja:
    extends:
        - .windows_ninja
        - .windows_vcvarsall_vs2022_x64

    variables:
        CMAKE_CONFIGURATION: windows_intelclassic_ninja

.windows_inteloneapi_ninja:
    extends:
        - .windows_ninja
        - .windows_vcvarsall_vs2022_x64

    variables:
        CMAKE_CONFIGURATION: windows_inteloneapi_ninja

.windows_openwatcom:
    extends: .windows

    variables:
        # Watcom does not support spaces in the path.
        GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake-ci-ext\\$CI_CONCURRENT_ID"
        CMAKE_GENERATOR: "Watcom WMake"
        CMAKE_CI_BUILD_TYPE: Release
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.windows_openwatcom1.9:
    extends: .windows_openwatcom

    variables:
        CMAKE_CONFIGURATION: windows_openwatcom1.9

.windows_orangec:
    extends: .windows

    variables:
        CMAKE_GENERATOR: "Ninja"
        CMAKE_CI_BUILD_TYPE: Release
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.windows_orangec6.73.1:
    extends: .windows_orangec

    variables:
        CMAKE_CONFIGURATION: windows_orangec6.73.1

.windows_arm64_vs2022:
    extends: .windows

    variables:
        CMAKE_CONFIGURATION: windows_arm64_vs2022
        CMAKE_GENERATOR: "Visual Studio 17 2022"
        CMAKE_GENERATOR_PLATFORM: "ARM64"
        CMAKE_GENERATOR_TOOLSET: "v143,version=14.36.32532"
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.mingw_osdn_io:
    extends: .windows

    variables:
        # Place MinGW environment in a path without spaces.
        GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake-ci-ext\\$CI_CONCURRENT_ID"
        CMAKE_CI_BUILD_TYPE: Debug
        CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"

.mingw_osdn_io_mingw_makefiles:
    extends: .mingw_osdn_io

    variables:
        CMAKE_CONFIGURATION: mingw_osdn_io_mingw_makefiles
        CMAKE_GENERATOR: "MinGW Makefiles"

.mingw_osdn_io_msys_makefiles:
    extends: .mingw_osdn_io

    variables:
        CMAKE_CONFIGURATION: mingw_osdn_io_msys_makefiles
        CMAKE_GENERATOR: "MSYS Makefiles"

## Tags

.windows_x86_64_tags_nonconcurrent_vs2022:
    tags:
        - cmake # Since this is a bare runner, pin to a project.
        - windows-x86_64
        - shell
        - vs2022
        - msvc-19.36
        - nonconcurrent

.windows_x86_64_tags_nonconcurrent_vs2022_arm64:
    tags:
        - cmake # Since this is a bare runner, pin to a project.
        - windows-x86_64
        - shell
        - vs2022
        - msvc-19.36-arm64
        - nonconcurrent

.windows_x86_64_tags_concurrent_vs2022:
    tags:
        - cmake # Since this is a bare runner, pin to a project.
        - windows-x86_64
        - shell
        - vs2022
        - msvc-19.36
        - concurrent

.windows_x86_64_tags_concurrent_vs2019:
    tags:
        - cmake # Since this is a bare runner, pin to a project.
        - windows-x86_64
        - shell
        - vs2019
        - msvc-19.29-16.11
        - concurrent

.windows_x86_64_tags_concurrent:
    tags:
        - cmake # Since this is a bare runner, pin to a project.
        - windows-x86_64
        - shell
        - concurrent

.windows_arm64_tags_nonconcurrent_vs2022:
    tags:
        - cmake # Since this is a bare runner, pin to a project.
        - windows-arm64
        - shell
        - vs2022
        - msvc-19.36
        - nonconcurrent

.windows_arm64_tags_concurrent_vs2022:
    tags:
        - cmake # Since this is a bare runner, pin to a project.
        - windows-arm64
        - shell
        - vs2022
        - msvc-19.36
        - concurrent

## Windows-specific scripts

.before_script_windows: &before_script_windows
    - . .gitlab/ci/env.ps1
    - $pwdpath = $pwd.Path
    - (& "$pwsh" -File ".gitlab/ci/wix.ps1")
    - Set-Item -Force -Path "env:WIX" -Value "$pwdpath\.gitlab\wix"
    - (& "$pwsh" -File ".gitlab/ci/cmake.ps1")
    - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\cmake\bin;$env:PATH"
    - $cmake = "cmake"
    - . .gitlab/ci/ninja-env.ps1
    - (& "$env:WIX\bin\light.exe" -help) | Select -First 1
    - cmake --version
    - . .gitlab/ci/qt-env.ps1
    - . .gitlab/ci/python-env.ps1

.before_script_windows_external: &before_script_windows_external
    - . .gitlab/ci/env.ps1
    - . .gitlab/ci/python-env.ps1

.cmake_build_windows:
    stage: build

    script:
        - *before_script_windows
        - Set-Item -Force -Path "env:PATH" -Value "$env:PATH;$env:SCCACHE_PATH"
        - Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
        - sccache --start-server
        - sccache --show-stats
        - (& "$pwsh" -File ".gitlab/ci/pre_build.ps1")
        - ctest -VV -S .gitlab/ci/ctest_configure.cmake
        - ctest -VV -S .gitlab/ci/ctest_build.cmake
        - (& "$pwsh" -File ".gitlab/ci/post_build.ps1")
        - sccache --show-stats
        - sccache --stop-server

    interruptible: true

.cmake_test_windows:
    stage: test

    script:
        - *before_script_windows
        - Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
        - ctest --output-on-failure -V -S .gitlab/ci/ctest_test.cmake

    interruptible: true

.cmake_test_windows_external:
    stage: test-ext

    script:
        - *before_script_windows_external
        - build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake

    interruptible: true
