From 167b609333347bb4afd775b98b9215b37ab5932a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Micha=C3=ABl=20Celerier?= Date: Wed, 17 Jun 2026 05:16:38 -0400 Subject: [PATCH 1/3] ci: also build in/against ossia score (dev / SDK / JIT) Add a `score` job calling the score-addon.yml reusable workflow alongside the standalone back-end build, so the template is validated as an ossia score add-on too (dev tree + SDK + JIT tracks). release left off: the templates ship no release.sh. Renames the existing standalone job ci -> standalone for clarity. Co-Authored-By: Claude Opus 4.7 --- .github/workflows/builds.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/builds.yaml b/.github/workflows/builds.yaml index 07b6422..d4865bf 100644 --- a/.github/workflows/builds.yaml +++ b/.github/workflows/builds.yaml @@ -11,7 +11,15 @@ concurrency: cancel-in-progress: true jobs: - ci: + # Build in/against ossia score: dev tree, SDK, and JIT artifact tracks. + score: + uses: ossia/actions/.github/workflows/score-addon.yml@master + secrets: inherit + with: + release: false # the templates ship no release.sh + + # Build the same object(s) standalone, one artifact per back-end. + standalone: uses: ossia/actions/.github/workflows/avnd-addon.yml@master secrets: inherit with: From ffef2d9ebc1067a36e41585b5e5556b04e13835d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Micha=C3=ABl=20Celerier?= Date: Wed, 17 Jun 2026 08:38:29 -0400 Subject: [PATCH 2/3] fix: integer plugin VERSION for the in-tree score build The score-plugin bootstrap bakes VERSION into generated C++; the dotted 1.0.0 compiled as an invalid float literal. The score plugin version is an integer (the standalone path ignores it), so use VERSION 1. Co-Authored-By: Claude Opus 4.7 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 299310d..5f35aed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,4 +40,4 @@ avnd_addon_object( src/Model.hpp src/Processor.hpp) -avnd_addon_finalize(NAME MyOnnx UUID 2cd49539-0cfe-4e43-bade-16d718ebc747 VERSION 1.0.0) +avnd_addon_finalize(NAME MyOnnx UUID 2cd49539-0cfe-4e43-bade-16d718ebc747 VERSION 1) From 29a09aba5c4d0dfad061ee868297a857e69d40f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Micha=C3=ABl=20Celerier?= Date: Wed, 17 Jun 2026 12:52:37 -0400 Subject: [PATCH 3/3] build: set the static CRT at addon scope (Windows/Max) Set CMAKE_MSVC_RUNTIME_LIBRARY at the top of the addon so the object library and every back-end external share the /MT runtime the Max external needs; mixing /MT and /MD trips MSVC with LNK2038. Co-Authored-By: Claude Opus 4.7 --- CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f35aed..af236f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,14 @@ cmake_minimum_required(VERSION 3.24 FATAL_ERROR) project(MyOnnx CXX) +# Max/MSP externals link the static CRT (/MT) on Windows, as the official +# max-sdk-base requires. Set it for the whole addon -- before Avendish and the +# object library are created -- so every target shares one runtime; mixing /MT +# and /MD trips MSVC with LNK2038. (CMP0091 is NEW via cmake_minimum_required.) +if(MSVC) + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") +endif() + # Use the Avendish the host already provides (e.g. ossia score); otherwise fetch it. # The same CMakeLists builds this as an ossia/score add-on or as a standalone object. find_package(Avendish QUIET)