68 lines
2.1 KiB
YAML
68 lines
2.1 KiB
YAML
variables:
|
|
TERM: linux
|
|
MINGW32_BOOST_VERSION: 1.81.0-7
|
|
MINGW64_BOOST_VERSION: 1.81.0-7
|
|
WGET_OPTIONS: '--no-verbose --no-use-server-timestamps --retry-connrefused --retry-on-host-error'
|
|
# To ensure that "false && true" fails, see https://gitlab.com/gitlab-org/gitlab-runner/-/issues/25394#note_412609647
|
|
FF_ENABLE_BASH_EXIT_CODE_CHECK: 'true'
|
|
|
|
build_linux_x86_64:
|
|
stage: build
|
|
script:
|
|
- meson setup -D buildtype=release build
|
|
- meson compile -C build -v
|
|
artifacts:
|
|
paths:
|
|
- build/src/dynare-preprocessor
|
|
|
|
build_linux_arm64:
|
|
stage: build
|
|
script:
|
|
- meson setup -D buildtype=release --cross-file scripts/linux-arm64-cross.ini build
|
|
- meson compile -C build -v
|
|
artifacts:
|
|
paths:
|
|
- build/src/dynare-preprocessor
|
|
|
|
build_windows_x86_64:
|
|
stage: build
|
|
script:
|
|
- mkdir -p tarballs
|
|
- '[[ -f tarballs/mingw-w64-x86_64-boost-$MINGW64_BOOST_VERSION-any.pkg.tar.zst ]] || wget $WGET_OPTIONS -P tarballs http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-boost-$MINGW64_BOOST_VERSION-any.pkg.tar.zst'
|
|
- mkdir -p deps
|
|
- tar xf tarballs/mingw-w64-x86_64-boost-$MINGW64_BOOST_VERSION-any.pkg.tar.zst --directory deps
|
|
- echo -e "[properties]\nboost_root = '$(pwd)/deps/mingw64/'" > boost.ini
|
|
- meson setup -D buildtype=release --cross-file scripts/windows-cross.ini --cross-file boost.ini build
|
|
- meson compile -C build -v
|
|
cache:
|
|
# This cache is shared between all branches, to save space
|
|
key: $CI_JOB_NAME
|
|
paths:
|
|
- tarballs/
|
|
artifacts:
|
|
paths:
|
|
- build/src/dynare-preprocessor.exe
|
|
|
|
build_macos_x86_64:
|
|
stage: build
|
|
tags:
|
|
- macOS
|
|
script:
|
|
- arch -x86_64 meson setup -D buildtype=release --native-file scripts/homebrew-native-x86_64.ini build
|
|
- arch -x86_64 meson compile -C build -v
|
|
artifacts:
|
|
paths:
|
|
- build/src/dynare-preprocessor
|
|
|
|
build_macos_arm64:
|
|
stage: build
|
|
tags:
|
|
- macOS
|
|
script:
|
|
- export PATH="/opt/homebrew/bin:$PATH"
|
|
- arch -arm64 meson setup -D buildtype=release --native-file scripts/homebrew-native-arm64.ini build
|
|
- arch -arm64 meson compile -C build -v
|
|
artifacts:
|
|
paths:
|
|
- build/src/dynare-preprocessor
|