# Base configuration for linux builds and tests.
.common:linux:cross:
  image: ubuntu:24.04
  variables:
    EIGEN_CI_TARGET_ARCH: ""
    EIGEN_CI_ADDITIONAL_ARGS: ""
    # If host matches target, use the following:
    EIGEN_CI_C_COMPILER: ""
    EIGEN_CI_CXX_COMPILER: ""
    EIGEN_CI_INSTALL: "${EIGEN_CI_C_COMPILER} ${EIGEN_CI_CXX_COMPILER}"
    # If host does not match the target, use the following:
    EIGEN_CI_CROSS_TARGET_TRIPLE: ""
    EIGEN_CI_CROSS_C_COMPILER: ${EIGEN_CI_C_COMPILER}
    EIGEN_CI_CROSS_CXX_COMPILER: ${EIGEN_CI_CXX_COMPILER}
    EIGEN_CI_CROSS_INSTALL: "${EIGEN_CI_CROSS_C_COMPILER} ${EIGEN_CI_CROSS_CXX_COMPILER}"
  before_script:
    # Call script in current shell - it sets up some environment variables.
    - . ci/scripts/common.linux.before_script.sh
  artifacts:
    when: always
    name: "$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG"
    paths:
      - ${EIGEN_CI_BUILDDIR}/
    exclude:
      - ${EIGEN_CI_BUILDDIR}/**/*.o
      - ${EIGEN_CI_BUILDDIR}/**/.ninja_log
      - ${EIGEN_CI_BUILDDIR}/**/.ninja_deps
    expire_in: 2 days

# Base configuration for Windows builds and tests.
.common:windows:
  variables:
    EIGEN_CI_MSVC_ARCH: x64
    EIGEN_CI_MSVC_VER: "14.29"
    EIGEN_CI_ADDITIONAL_ARGS: ""
    EIGEN_CI_BEFORE_SCRIPT: ""
  before_script:
     - . ci/scripts/common.windows.before_script.ps1
  artifacts:
    when: always
    name: "$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_NAME"
    paths:
      - ${EIGEN_CI_BUILDDIR}/
    exclude:
      - ${EIGEN_CI_BUILDDIR}/**/*.obj
      - ${EIGEN_CI_BUILDDIR}/**/.ninja_log
      - ${EIGEN_CI_BUILDDIR}/**/.ninja_deps
    expire_in: 2 days
