From e0de00d1059801aa1111791f6cda6abe14d4226a Mon Sep 17 00:00:00 2001 From: Sudara Date: Mon, 22 Jun 2026 22:21:15 +0200 Subject: [PATCH 1/4] Bump JUCE to 8.0.14 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f2ac5bb..02aece6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,7 +68,7 @@ endif() # Only fetch JUCE when top-level (when used as dependency, JUCE is already available) if (pluginval_IS_TOP_LEVEL) - CPMAddPackage("gh:juce-framework/juce#8.0.13") + CPMAddPackage("gh:juce-framework/juce#8.0.14") endif() From 4923cdffae590c548085a18030b2fea6f8b36f3c Mon Sep 17 00:00:00 2001 From: Sudara Date: Sat, 18 Jul 2026 23:37:06 +0200 Subject: [PATCH 2/4] Skip the pluginval_cli target when the consuming project has no matching plugin target --- CMakeLists.txt | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 02aece6..7331e52 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -234,13 +234,16 @@ else() set(PLUGINVAL_TARGET "${CMAKE_PROJECT_NAME}_VST3") endif() - get_target_property(artefact ${PLUGINVAL_TARGET} JUCE_PLUGIN_ARTEFACT_FILE) - - # TODO: This doesn't populate the executable in clion - add_custom_target(${CMAKE_PROJECT_NAME}_pluginval_cli - COMMAND $ - --validate ${artefact} - --strictness-level 10 - DEPENDS pluginval ${PLUGINVAL_TARGET} - COMMENT "Run pluginval CLI with strict validation") + # An umbrella/multi-product project has no ${CMAKE_PROJECT_NAME}_AU target, so skip instead of hard-erroring. + if (TARGET ${PLUGINVAL_TARGET}) + get_target_property(artefact ${PLUGINVAL_TARGET} JUCE_PLUGIN_ARTEFACT_FILE) + + # TODO: This doesn't populate the executable in clion + add_custom_target(${CMAKE_PROJECT_NAME}_pluginval_cli + COMMAND $ + --validate ${artefact} + --strictness-level 10 + DEPENDS pluginval ${PLUGINVAL_TARGET} + COMMENT "Run pluginval CLI with strict validation") + endif() endif() From d35a6c28fe91d727652262c6b19c3062ef756358 Mon Sep 17 00:00:00 2001 From: Sudara Date: Sun, 16 Aug 2026 17:07:32 +0200 Subject: [PATCH 3/4] Bump JUCE to 9.0.1 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7331e52..a0c2b89 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,7 +68,7 @@ endif() # Only fetch JUCE when top-level (when used as dependency, JUCE is already available) if (pluginval_IS_TOP_LEVEL) - CPMAddPackage("gh:juce-framework/juce#8.0.14") + CPMAddPackage("gh:juce-framework/juce#9.0.1") endif() From 513aead715cf2b14e97d862a15efa2868df9e14b Mon Sep 17 00:00:00 2001 From: Sudara Date: Sun, 16 Aug 2026 17:38:47 +0200 Subject: [PATCH 4/4] Test as-dependency against JUCE 9.0.1 and add libxi-dev to Linux CI deps --- .github/workflows/build.yaml | 6 +++--- tests/pluginval_as_dependency/CMakeLists.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index fa5d16d..4ac3476 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -67,7 +67,7 @@ jobs: run: | sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update - sudo apt-get install -y freeglut3-dev g++ libasound2-dev libcurl4-openssl-dev libfreetype6-dev libjack-jackd2-dev libx11-dev libxcomposite-dev libxcursor-dev libxinerama-dev libxrandr-dev mesa-common-dev ladspa-sdk libwebkit2gtk-4.1-dev xvfb gdb + sudo apt-get install -y freeglut3-dev g++ libasound2-dev libcurl4-openssl-dev libfreetype6-dev libjack-jackd2-dev libx11-dev libxi-dev libxcomposite-dev libxcursor-dev libxinerama-dev libxrandr-dev mesa-common-dev ladspa-sdk libwebkit2gtk-4.1-dev xvfb gdb sudo /usr/bin/Xvfb $DISPLAY & - name: Make VST2 SDK available @@ -175,7 +175,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-15, windows-latest] - juce: ["8.0.13"] + juce: ["8.0.13", "9.0.1"] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -184,7 +184,7 @@ jobs: if: runner.os == 'Linux' run: | sudo apt-get update - sudo apt-get install -y libasound2-dev libfreetype6-dev libx11-dev libxcomposite-dev libxcursor-dev libxinerama-dev libxrandr-dev mesa-common-dev libwebkit2gtk-4.1-dev ladspa-sdk + sudo apt-get install -y libasound2-dev libfreetype6-dev libx11-dev libxi-dev libxcomposite-dev libxcursor-dev libxinerama-dev libxrandr-dev mesa-common-dev libwebkit2gtk-4.1-dev ladspa-sdk - name: Configure run: cmake -B build -S tests/pluginval_as_dependency -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE}} -DJUCE_VERSION="${{ matrix.juce }}" diff --git a/tests/pluginval_as_dependency/CMakeLists.txt b/tests/pluginval_as_dependency/CMakeLists.txt index 0ea3743..59ef097 100644 --- a/tests/pluginval_as_dependency/CMakeLists.txt +++ b/tests/pluginval_as_dependency/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.22) project(PluginvalAsDependency VERSION 1.0.0) -set(JUCE_VERSION "8.0.3" CACHE STRING "JUCE version to test against") +set(JUCE_VERSION "9.0.1" CACHE STRING "JUCE version to test against") include(${CMAKE_CURRENT_LIST_DIR}/../../cmake/CPM.cmake)