From 23ab53401e92a35ad0df7b226474d25fcf984a5b Mon Sep 17 00:00:00 2001 From: Stefan Vigerske Date: Thu, 11 Dec 2025 10:28:07 +0100 Subject: [PATCH 1/2] add sharedlib=on/off as additional dimension to matrix --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c51de0c..3314126 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,12 +8,13 @@ on: jobs: build: - name: ${{ matrix.runner }} - ${{ matrix.buildtype }} - ${{ github.event_name }} + name: ${{ matrix.runner }} - ${{ matrix.buildtype }} - shared${{ matrix.sharedlib }} - ${{ github.event_name }} runs-on: ${{ matrix.runner }} strategy: matrix: runner: [ubuntu-latest, ubuntu-24.04-arm, macos-15-intel, macos-latest, windows-latest, windows-11-arm] buildtype: [debug, release] + sharedlib: [on, off] steps: - uses: actions/checkout@v2 - name: Create Build Environment @@ -22,7 +23,7 @@ jobs: - name: Configure CMake shell: bash working-directory: ${{runner.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.buildtype}} + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.buildtype}} -DBUILD_SHARED_LIBS=${{matrix.sharedlib}} - name: Build working-directory: ${{runner.workspace}}/build From 4385d1c6aec810e858a399105dfbf338bc36ae14 Mon Sep 17 00:00:00 2001 From: Stefan Vigerske Date: Thu, 11 Dec 2025 11:16:17 +0100 Subject: [PATCH 2/2] export all symbols on windows for DLL build --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 21200c4..8f68876 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,6 +62,8 @@ set_target_properties(libbliss PROPERTIES # We cannot do this currently, because the code does not ensure that the API is made visible / exported #CXX_VISIBILITY_PRESET hidden #VISIBILITY_INLINES_HIDDEN ON + # But for Windows, we can ensure that all symbols are exported, which is anyway necessary when building a DLL + WINDOWS_EXPORT_ALL_SYMBOLS 1 ) add_executable(bliss src/bliss.cc)