Skip to content

CMake: Add LV2_AUTO_MANIFEST and juce_enable_lv2_manifest_step - #1704

Open
emezeske wants to merge 1 commit into
juce-framework:developfrom
emezeske:pr/lv2-auto-manifest
Open

CMake: Add LV2_AUTO_MANIFEST and juce_enable_lv2_manifest_step#1704
emezeske wants to merge 1 commit into
juce-framework:developfrom
emezeske:pr/lv2-auto-manifest

Conversation

@emezeske

@emezeske emezeske commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Building a plugin that needs custom code signing fails, because the LV2 manifest helper runs the freshly built binary as a post-build step before any user-added post-build steps have had a chance to process it. VST3 already handles this case with the VST3_AUTO_MANIFEST option and juce_enable_vst3_manifest_step, but there is no LV2 equivalent, so the LV2 manifest step always runs before any user-added post-build steps.

This adds LV2_AUTO_MANIFEST and juce_enable_lv2_manifest_step mirroring the VST3 design: setting LV2_AUTO_MANIFEST FALSE disables the automatic manifest step, and juce_enable_lv2_manifest_step re-enables it after any custom post-build steps have been added.

@emezeske
emezeske marked this pull request as ready for review August 10, 2026 21:31
@juce-push-bot

Copy link
Copy Markdown
Collaborator

This pull request has been mentioned on The JUCE Forum. There might be relevant details there:

https://forum.juce.com/t/pr-cmake-add-lv2-auto-manifest-and-juce-enable-lv2-manifest-step/69281/1

Mirrors VST3_AUTO_MANIFEST and juce_enable_vst3_manifest_step for the LV2
manifest generation step. The LV2 manifest helper executes the freshly
built plugin, which fails when the plugin requires further processing
before it can be loaded (e.g. custom signing). Setting LV2_AUTO_MANIFEST
FALSE disables the automatic post-build manifest step so it can be
re-enabled with juce_enable_lv2_manifest_step after any custom post-build
steps have been added.

juce_enable_lv2_manifest_step is a no-op when the target was configured
without the LV2 format, so cross-platform projects that only enable LV2
on some platforms can call it unconditionally.
@emezeske
emezeske force-pushed the pr/lv2-auto-manifest branch from 8cd6bfd to 649d24f Compare August 10, 2026 23:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants