From ad366f604204c739f0aa2d6e6b4074cb74610a68 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 10:45:37 -0600 Subject: [PATCH 01/22] `README.md`: replace occurrences of github profiles: `mathiasbredholt` to `IDMIL` --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 009d5d9..b565e39 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,13 @@ A SuperCollider UGen for using libmapper ## Installation * Install [SuperCollider](https://supercollider.github.io/) * Build and install [libmapper](https://github.com/libmapper/libmapper) -* Unzip MapperUGen.zip from [releases](https://github.com/mathiasbredholt/MapperUGen/releases) into SuperCollider extensions folder (Platform.userExtensionDir) +* Unzip MapperUGen.zip from [releases](https://github.com/IDMIL/MapperUGen/releases) into SuperCollider extensions folder (Platform.userExtensionDir) ## Compile from source * Build and install [libmapper](https://github.com/libmapper/libmapper) ### GNU/Linux ``` -git clone https://github.com/mathiasbredholt/MapperUGen.git +git clone https://github.com/IDMIL/MapperUGen.git cd MapperUGen mkdir build && cd build cmake -DSUPERNOVA=ON .. @@ -18,7 +18,7 @@ cmake --build . --target install ``` ### macOS/Windows ``` -git clone --recursive https://github.com/mathiasbredholt/MapperUGen.git +git clone --recursive https://github.com/IDMIL/MapperUGen.git cd MapperUGen mkdir build && cd build cmake -DSUPERNOVA=ON .. From dc9d1d47d45055cad27d38fca4c6f0af8735045b Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 11:04:54 -0600 Subject: [PATCH 02/22] `.github/workflows/cmake-multi-platform.yml`: add ids to steps --- .github/workflows/cmake-multi-platform.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index ca1a201..1f4b7aa 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -43,7 +43,9 @@ jobs: c_compiler: cl steps: - - uses: actions/checkout@v4 + - name: Checkout + id: checkout + uses: actions/checkout@v4 - name: Set reusable strings # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file. @@ -55,6 +57,7 @@ jobs: - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + id: configure run: > cmake -B ${{ steps.strings.outputs.build-output-dir }} -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} @@ -65,9 +68,11 @@ jobs: - name: Build # Build your program with the given configuration. Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator). + id: build run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }} - name: Test + id: test working-directory: ${{ steps.strings.outputs.build-output-dir }} # Execute tests defined by the CMake configuration. Note that --build-config is needed because the default Windows generator is a multi-config generator (Visual Studio generator). # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail From 1791777762b01788110a71dd46470c640294e190 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 11:15:09 -0600 Subject: [PATCH 03/22] `.github/workflows/cmake-multi-platform.yml`: add step `install-libmapper` --- .github/workflows/cmake-multi-platform.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 1f4b7aa..7ac3dd9 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -47,6 +47,13 @@ jobs: id: checkout uses: actions/checkout@v4 + - name: Install libmapper + id: install-libmapper + uses: jaxxstorm/action-install-gh-release@v1.10.0 + with: # Grab a specific tag + repo: libmapper/libmapper + tag: v2.5.1 + - name: Set reusable strings # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file. id: strings From d560a632577fb2e37d9b659a3cf2b792e2dc9f55 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 11:16:30 -0600 Subject: [PATCH 04/22] `.github/workflows/cmake-multi-platform.yml`: simplify `matrix` temporarily --- .github/workflows/cmake-multi-platform.yml | 38 +++++++++++----------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 7ac3dd9..4b20778 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -21,26 +21,26 @@ jobs: # # To add more build types (Release, Debug, RelWithDebInfo, etc.) customize the build_type list. matrix: - os: [ubuntu-latest, windows-latest] + os: [ubuntu-latest] #, windows-latest] build_type: [Release] - c_compiler: [gcc, clang, cl] - include: - - os: windows-latest - c_compiler: cl - cpp_compiler: cl - - os: ubuntu-latest - c_compiler: gcc - cpp_compiler: g++ - - os: ubuntu-latest - c_compiler: clang - cpp_compiler: clang++ - exclude: - - os: windows-latest - c_compiler: gcc - - os: windows-latest - c_compiler: clang - - os: ubuntu-latest - c_compiler: cl + c_compiler: [gcc] #, clang, cl] + # include: + # - os: windows-latest + # c_compiler: cl + # cpp_compiler: cl + # - os: ubuntu-latest + # c_compiler: gcc + # cpp_compiler: g++ + # - os: ubuntu-latest + # c_compiler: clang + # cpp_compiler: clang++ + # exclude: + # - os: windows-latest + # c_compiler: gcc + # - os: windows-latest + # c_compiler: clang + # - os: ubuntu-latest + # c_compiler: cl steps: - name: Checkout From ccfadb2f8fa8b6348ddf7b85ea3407c2051f546a Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 11:26:21 -0600 Subject: [PATCH 05/22] `.github/workflows/cmake-multi-platform.yml`: start with `macos-latest` and `clang` --- .github/workflows/cmake-multi-platform.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 4b20778..c70fc5b 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -21,9 +21,9 @@ jobs: # # To add more build types (Release, Debug, RelWithDebInfo, etc.) customize the build_type list. matrix: - os: [ubuntu-latest] #, windows-latest] + os: [macos-latest] #, ubuntu-latest, windows-latest] build_type: [Release] - c_compiler: [gcc] #, clang, cl] + c_compiler: [clang] #, gcc, cl] # include: # - os: windows-latest # c_compiler: cl From 7a2218bd3bc4c83255a8257f38b99102db5a2601 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 12:16:03 -0600 Subject: [PATCH 06/22] `.github/workflows/cmake-multi-platform.yml`: update `install-libmapper` to use homebrew on macOS --- .github/workflows/cmake-multi-platform.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index c70fc5b..94d0c41 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -47,12 +47,16 @@ jobs: id: checkout uses: actions/checkout@v4 - - name: Install libmapper + - name: Install Homebrew (macOS only) + id: install-homebrew + if: contains(matrix.os,'macos') + run: | + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + - name: Install libmapper (macOS only) id: install-libmapper - uses: jaxxstorm/action-install-gh-release@v1.10.0 - with: # Grab a specific tag - repo: libmapper/libmapper - tag: v2.5.1 + if: contains(matrix.os,'macos') + run: | + sudo brew install libmapper - name: Set reusable strings # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file. From fca127400cf6b06529feef5beb41eaf39c77e1d3 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 12:19:33 -0600 Subject: [PATCH 07/22] `.github/workflows/cmake-multi-platform.yml`: `install-libmapper`: remove `sudo` --- .github/workflows/cmake-multi-platform.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 94d0c41..41d0765 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -56,7 +56,7 @@ jobs: id: install-libmapper if: contains(matrix.os,'macos') run: | - sudo brew install libmapper + brew install libmapper - name: Set reusable strings # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file. From b9d5d15129a07462f8bb0f021fc1f08527d7fdba Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 14:40:03 -0600 Subject: [PATCH 08/22] `.github/workflows/cmake-multi-platform.yml`: `configure`: add `-DCMAKE_POLICY_VERSION_MINIMUM=3.5` --- .github/workflows/cmake-multi-platform.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 41d0765..f3ea529 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -74,6 +74,7 @@ jobs: -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DSUPERNOVA=ON -S ${{ github.workspace }} From 18c887969636ff7cdb2400db1f0f4711fb3b97c2 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 14:56:20 -0600 Subject: [PATCH 09/22] `.github/workflows/cmake-multi-platform.yml`: `matrix`: expand macos config --- .github/workflows/cmake-multi-platform.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index f3ea529..bfc1ef3 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -24,7 +24,10 @@ jobs: os: [macos-latest] #, ubuntu-latest, windows-latest] build_type: [Release] c_compiler: [clang] #, gcc, cl] - # include: + include: + - os: macos-latest + c_compiler: clang + cpp_compiler: clang # - os: windows-latest # c_compiler: cl # cpp_compiler: cl From 9ae4d88245671c790d45dac52676eff1f3e1f387 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 17:13:14 -0600 Subject: [PATCH 10/22] `.github/workflows/cmake-multi-platform.yml`: extend `install-libmapper` to `install-dependencies` to also install boost --- .github/workflows/cmake-multi-platform.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index bfc1ef3..6600689 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -55,11 +55,11 @@ jobs: if: contains(matrix.os,'macos') run: | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - - name: Install libmapper (macOS only) - id: install-libmapper + - name: Install dependencies (macOS only) + id: install-dependencies if: contains(matrix.os,'macos') run: | - brew install libmapper + brew install boost libmapper - name: Set reusable strings # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file. From b8e27a02730effeed375d2ff0fc4cbb53c019968 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 20:50:33 -0600 Subject: [PATCH 11/22] `CMakeLists.txt`: support homebrew on macOS --- CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8559780..72b4688 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -123,6 +123,16 @@ if(MINGW) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mstackrealign") endif() +if(APPLE) + if(DEFINED ENV{HOMEBREW_PREFIX}) + message(STATUS "Homebrew detected with prefix " $ENV{HOMEBREW_PREFIX}) + include_directories(SYSTEM $ENV{HOMEBREW_PREFIX}/include) + link_directories(SYSTEM $ENV{HOMEBREW_PREFIX}/lib) + else() + message(STATUS "Homebrew not detected") + endif() +endif() + add_library(${PROJECT} MODULE ${FILENAME}) target_link_libraries(${PROJECT} ${MAPPER_LIB} ${Boost_libraries}) From 23654efa0ced94a918fd86d6120a4eec9e2d0441 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 20:53:34 -0600 Subject: [PATCH 12/22] `.github/workflows/cmake-multi-platform.yml`: `on: push: branches:`: specify `-main` to avoid triggering jobs twice when pushing commits to pull requests --- .github/workflows/cmake-multi-platform.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 6600689..a14723f 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -4,6 +4,8 @@ name: CMake on multiple platforms on: push: + branches: + - main pull_request: jobs: From 409321056b64e88a54408ac88a6e1608bf5e6105 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 21:16:22 -0600 Subject: [PATCH 13/22] `README.md`: reformat, install libmapper as prerequisite for both Installation from releases and Compilation from source --- README.md | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b565e39..0810594 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,30 @@ # MapperUGen + A SuperCollider UGen for using libmapper -## Installation +## Prerequisites + +### Install libmapper + +Please follow the [libmapper](https://github.com/libmapper/libmapper) documentation, unless your configuration is covered by specific cases below: + +#### macOS with homebrew + +- Install [Homebrew](https://brew.sh/) +- Install dependencies + ``` + brew install boost libmapper + ``` + +## Installation from releases + * Install [SuperCollider](https://supercollider.github.io/) -* Build and install [libmapper](https://github.com/libmapper/libmapper) * Unzip MapperUGen.zip from [releases](https://github.com/IDMIL/MapperUGen/releases) into SuperCollider extensions folder (Platform.userExtensionDir) -## Compile from source -* Build and install [libmapper](https://github.com/libmapper/libmapper) +## Compilation from source + ### GNU/Linux + ``` git clone https://github.com/IDMIL/MapperUGen.git cd MapperUGen @@ -16,7 +32,9 @@ mkdir build && cd build cmake -DSUPERNOVA=ON .. cmake --build . --target install ``` + ### macOS/Windows + ``` git clone --recursive https://github.com/IDMIL/MapperUGen.git cd MapperUGen From dcdddb4e1a4e023e409cd1792f9915c80380910c Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 21:21:58 -0600 Subject: [PATCH 14/22] `README.md`: simplify Compilation from source: unique cross-platform instructions without changing to build directory --- README.md | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 0810594..22c312f 100644 --- a/README.md +++ b/README.md @@ -23,22 +23,10 @@ Please follow the [libmapper](https://github.com/libmapper/libmapper) documentat ## Compilation from source -### GNU/Linux - -``` -git clone https://github.com/IDMIL/MapperUGen.git -cd MapperUGen -mkdir build && cd build -cmake -DSUPERNOVA=ON .. -cmake --build . --target install -``` - -### macOS/Windows - ``` git clone --recursive https://github.com/IDMIL/MapperUGen.git cd MapperUGen -mkdir build && cd build -cmake -DSUPERNOVA=ON .. -cmake --build . --target install +mkdir -p build +cmake -B ./build -DSUPERNOVA=ON +cmake --build build --target install ``` From 7fe3f7fd60733fa830d660496cf0dd846ef5b602 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 21:22:19 -0600 Subject: [PATCH 15/22] `CMakeLists.txt`: update `cmake_minimum_required (VERSION 4.3)` --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 72b4688..a993e4e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ set(FILENAME "Mapper.cpp") #specify the .cpp file here -cmake_minimum_required (VERSION 2.8) +cmake_minimum_required (VERSION 4.3) get_filename_component(PROJECT ${FILENAME} NAME_WE) #automatically sets project name from the filename # set(PROJECT "my_name") #alternatively set project name manually message(STATUS "Project name is ${PROJECT}") From bb5e90b77a68cbd237a699e916647f1aa87a64c3 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 21:22:56 -0600 Subject: [PATCH 16/22] `.github/workflows/cmake-multi-platform.yml`: `configure`: remove `-DCMAKE_POLICY_VERSION_MINIMUM=3.5` --- .github/workflows/cmake-multi-platform.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index a14723f..f0b12ec 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -79,7 +79,6 @@ jobs: -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} - -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DSUPERNOVA=ON -S ${{ github.workspace }} From c14aa0765be70775d75568154febd36fdb661ab2 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 21:54:13 -0600 Subject: [PATCH 17/22] Update supercollider submodule to Version-3.14.1 --- .gitmodules | 2 +- supercollider | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 624f5b2..0e8fe03 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "supercollider"] path = supercollider - url = https://github.com/supercollider/supercollider.git + url = https://github.com/supercollider/supercollider/ diff --git a/supercollider b/supercollider index 95f7814..426edf6 160000 --- a/supercollider +++ b/supercollider @@ -1 +1 @@ -Subproject commit 95f78142b5a2a56ef642be9be499de29ebb0ce61 +Subproject commit 426edf6d8742e1cc3bd85b51ca0c4e595d37a903 From c63f7684e2c95be9de986bf5c4ed0c3e3dccc24f Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 21:58:48 -0600 Subject: [PATCH 18/22] `.github/workflows/cmake-multi-platform.yml`: `checkout`: `with`: submodules: 'recursive'` --- .github/workflows/cmake-multi-platform.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index f0b12ec..36be012 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -51,6 +51,8 @@ jobs: - name: Checkout id: checkout uses: actions/checkout@v4 + with: + submodules: 'recursive' - name: Install Homebrew (macOS only) id: install-homebrew From a89762e5af0c5e72c9064f44edb343de638532ac Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 22:08:11 -0600 Subject: [PATCH 19/22] `.github/workflows/cmake-multi-platform.yml`: `matrix`: update `macos` config to use `cc` and `c++` --- .github/workflows/cmake-multi-platform.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 36be012..c21b736 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -28,8 +28,8 @@ jobs: c_compiler: [clang] #, gcc, cl] include: - os: macos-latest - c_compiler: clang - cpp_compiler: clang + c_compiler: cc + cpp_compiler: c++ # - os: windows-latest # c_compiler: cl # cpp_compiler: cl From f0beaf93af296de7983ee3e542532f845cf65a7f Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 22:11:04 -0600 Subject: [PATCH 20/22] `.github/workflows/cmake-multi-platform.yml`: `c_compiler: [cc]` --- .github/workflows/cmake-multi-platform.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index c21b736..d8509e0 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -25,7 +25,7 @@ jobs: matrix: os: [macos-latest] #, ubuntu-latest, windows-latest] build_type: [Release] - c_compiler: [clang] #, gcc, cl] + c_compiler: [cc] #, clang, gcc, cl] include: - os: macos-latest c_compiler: cc From 1cb41bd3c50eeac2ae6357ff300a54fa9c79cee7 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 22:38:59 -0600 Subject: [PATCH 21/22] `.github/workflows/cmake-multi-platform.yml`: add steps `shorten-sha` and `upload-artifact` --- .github/workflows/cmake-multi-platform.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index d8509e0..526f547 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -95,3 +95,15 @@ jobs: # Execute tests defined by the CMake configuration. Note that --build-config is needed because the default Windows generator is a multi-config generator (Visual Studio generator). # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail run: ctest --build-config ${{ matrix.build_type }} + + - name: Shorten SHA + id: shorten-sha + run: | + echo "SHA_SHORT=$(git rev-parse --short HEAD)" >> $GITHUB_ENV + + - name: Upload artifact + id: upload-artifact + uses: actions/upload-artifact@v7 + with: + name: MapperUGen-${{ env.SHA_SHORT }}-${{matrix.os}}-${{matrix.build_type}}-${{matrix.c_compiler}} + path: build/MapperUGen/ From 9619aa1ad5fb23d37ce869833062e533dbdbcca5 Mon Sep 17 00:00:00 2001 From: Christian Frisson Date: Mon, 20 Apr 2026 22:43:21 -0600 Subject: [PATCH 22/22] `.github/workflows/cmake-multi-platform.yml`: `build`: append `--target install` --- .github/workflows/cmake-multi-platform.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 526f547..88c7a2f 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -87,7 +87,10 @@ jobs: - name: Build # Build your program with the given configuration. Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator). id: build - run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }} + run: > + cmake --build ${{ steps.strings.outputs.build-output-dir }} + --config ${{ matrix.build_type }} + --target install - name: Test id: test