diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4444c1db38bf34b8edf55d5413a374f1ad18969a..8b013445c7c484fabc4aa0fb03048fd6010eedf0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -51,3 +51,15 @@ build_macos_x86_64: 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 diff --git a/scripts/homebrew-native-arm64.ini b/scripts/homebrew-native-arm64.ini new file mode 100644 index 0000000000000000000000000000000000000000..cc188a106c1afb77cc2640e445e9c398ad4fbda3 --- /dev/null +++ b/scripts/homebrew-native-arm64.ini @@ -0,0 +1,10 @@ +# Meson native file for compiling under Homebrew / arm64 + +[binaries] +cpp = '/opt/homebrew/bin/g++-13' +flex = '/opt/homebrew/opt/flex/bin/flex' +bison = '/opt/homebrew/opt/bison/bin/bison' + +[built-in options] +# XCode 15 (on Ventura and Sonoma) has a linker issue, see https://github.com/mesonbuild/meson/issues/12282, workaround is to use ld_classic +cpp_link_args = [ '-Wl,-ld_classic' ] \ No newline at end of file diff --git a/scripts/homebrew-native-x86_64.ini b/scripts/homebrew-native-x86_64.ini index d256a0dc425ab54928ee774fde9231aa2562a316..1b56abe3ac400d3ea8bfadc9f05a8d14f41add16 100644 --- a/scripts/homebrew-native-x86_64.ini +++ b/scripts/homebrew-native-x86_64.ini @@ -4,3 +4,7 @@ cpp = '/usr/local/bin/g++-13' flex = '/usr/local/opt/flex/bin/flex' bison = '/usr/local/opt/bison/bin/bison' + +[built-in options] +# XCode 15 (on Ventura and Sonoma) has a linker issue, see https://github.com/mesonbuild/meson/issues/12282, workaround is to use ld_classic +cpp_link_args = [ '-Wl,-ld_classic' ] \ No newline at end of file