# Base configuration for linux builds and tests.
.common:linux:cross:
  image: ubuntu:20.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}/
    expire_in: 5 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}/
    expire_in: 5 days
