# Base configuration for windows builds. .build:windows: extends: .common:windows stage: build variables: EIGEN_CI_BUILD_TARGET: buildtests # Reduce overall build size and compile time. # Note: /d2ReducedOptimizeHugeFunctions is only available in VS 2019. EIGEN_CI_TEST_CUSTOM_CXX_FLAGS: "/d2ReducedOptimizeHugeFunctions /DEIGEN_STRONG_INLINE=inline /Os" script: - ./ci/scripts/build.windows.script.ps1 tags: - eigen-runner - windows - x86-64 rules: - if: $CI_PIPELINE_SOURCE == "schedule" && $CI_PROJECT_NAMESPACE == "libeigen" - if: $CI_PIPELINE_SOURCE == "web" && $CI_PROJECT_NAMESPACE == "libeigen" cache: key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG-BUILD" paths: - ${EIGEN_CI_BUILDDIR}/ ######### MSVC ################################################################# # MSVC 14.16 (VS 2017) build:windows:x86-64:msvc-14.16:default: extends: .build:windows variables: EIGEN_CI_MSVC_VER: "14.16" # Override to remove unsupported /d2ReducedOptimizeHugeFunctions. EIGEN_CI_TEST_CUSTOM_CXX_FLAGS: "/DEIGEN_STRONG_INLINE=inline /Os" # MSVC 14.29 (VS 2019) build:windows:x86-64:msvc-14.29:default: extends: .build:windows variables: EIGEN_CI_MSVC_VER: "14.29" build:windows:x86-64:msvc-14.29:avx2: extends: build:windows:x86-64:msvc-14.29:default variables: EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX2=on" build:windows:x86-64:msvc-14.29:avx512dq: extends: build:windows:x86-64:msvc-14.29:default variables: EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX512DQ=on" ######### MSVC + CUDA ########################################################## .build:windows:cuda: extends: .build:windows variables: # Addtional flags passed to the cuda compiler. EIGEN_CI_CUDA_CXX_FLAGS: "" # Compute architectures present in the GitLab CI runners. EIGEN_CI_CUDA_COMPUTE_ARCH: "50;75" EIGEN_CI_BUILD_TARGET: buildtests_gpu EIGEN_CI_ADDITIONAL_ARGS: -DEIGEN_TEST_CUDA=on -DEIGEN_CUDA_CXX_FLAGS="${EIGEN_CI_CUDA_CXX_FLAGS}" -DEIGEN_CUDA_COMPUTE_ARCH=${EIGEN_CI_CUDA_COMPUTE_ARCH} tags: - eigen-runner - windows - x86-64 - cuda # MSVC 14.16 + CUDA 9.2 build:windows:x86-64:cuda-9.2:msvc-14.16: extends: .build:windows:cuda variables: # CUDA 9.2 doesn't support sm_75. EIGEN_CI_CUDA_COMPUTE_ARCH: "50;70" # CUDA 9.2 only supports up to VS 2017. EIGEN_CI_MSVC_VER: "14.16" EIGEN_CI_TEST_CUSTOM_CXX_FLAGS: "/DEIGEN_STRONG_INLINE=inline /Os" EIGEN_CI_BEFORE_SCRIPT: $$env:CUDA_PATH=$$env:CUDA_PATH_V9_2 # MSVC 14.29 + CUDA 10.2 build:windows:x86-64:cuda-10.2:msvc-14.29: extends: .build:windows:cuda variables: EIGEN_CI_MSVC_VER: "14.29" EIGEN_CI_BEFORE_SCRIPT: $$env:CUDA_PATH=$$env:CUDA_PATH_V10_2 # MSVC 14.29 + CUDA 11.4 build:windows:x86-64:cuda-11.4:msvc-14.29: extends: .build:windows:cuda variables: EIGEN_CI_MSVC_VER: "14.29" EIGEN_CI_BEFORE_SCRIPT: $$env:CUDA_PATH=$$env:CUDA_PATH_V11_4