From 9d144e5a566c71b4c834f010de6b13bdde18082f Mon Sep 17 00:00:00 2001 From: Adonis Ling Date: Thu, 30 May 2024 11:10:05 +0800 Subject: [PATCH] Build the executables statically in release mode on Linux --- .github/workflows/ci_meson.yml | 10 +++++----- meson.build | 10 ++++++++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci_meson.yml b/.github/workflows/ci_meson.yml index 37f21a7..80ed836 100644 --- a/.github/workflows/ci_meson.yml +++ b/.github/workflows/ci_meson.yml @@ -6,13 +6,13 @@ on: jobs: linux: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: submodules: true fetch-depth: 0 - - uses: actions/setup-python@v1 + - uses: actions/setup-python@v5 with: python-version: '3.x' - run: pip install meson ninja @@ -26,11 +26,11 @@ jobs: macos: runs-on: macos-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: submodules: true fetch-depth: 0 - - uses: actions/setup-python@v1 + - uses: actions/setup-python@v5 with: python-version: '3.x' - run: brew install gcc diff --git a/meson.build b/meson.build index fdc0f51..be98bc8 100644 --- a/meson.build +++ b/meson.build @@ -34,9 +34,15 @@ flags += ['-Werror', '-Wall', '-Wextra', '-Wpedantic'] link_flags = [] -if (build_type.startswith('debug') and compiler == 'gcc') +if build_type.startswith('debug') flags += ['-fsanitize=address', '-fno-omit-frame-pointer'] - link_flags += ['-Wl,-Bstatic', '-lasan', '-Wl,-Bdynamic'] + if host_machine.system() == 'linux' + link_flags += ['-Wl,-Bstatic', '-lasan', '-Wl,-Bdynamic'] + elif host_machine.system() == 'darwin' + link_flags += ['-fsanitize=address'] + endif +elif build_type.startswith('release') and host_machine.system() == 'linux' + link_flags += ['-static'] endif executable(