mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
CMake: Fix CMake bug which caused incorrect plugin manufacturer code to be generated
Please see the breaking changes doc for details.
This commit is contained in:
parent
1dae941600
commit
f27a7c7712
3 changed files with 46 additions and 1 deletions
|
|
@ -1,6 +1,37 @@
|
||||||
JUCE breaking changes
|
JUCE breaking changes
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
Develop
|
||||||
|
=======
|
||||||
|
|
||||||
|
Change
|
||||||
|
------
|
||||||
|
A typo in the JUCEUtils CMake script that caused the wrong manufacturer code to
|
||||||
|
be set in the compile definitions for a plugin was fixed.
|
||||||
|
|
||||||
|
Possible Issues
|
||||||
|
---------------
|
||||||
|
The manufacturer code for plugins built under CMake with this version of JUCE
|
||||||
|
will differ from the manufacturer code that was generated previously.
|
||||||
|
|
||||||
|
Workaround
|
||||||
|
----------
|
||||||
|
If you have released plugins that used the old, incorrect manufacturer code and
|
||||||
|
wish to continue using this code for backwards compatibility, add the following
|
||||||
|
to your `juce_add_plugin` call:
|
||||||
|
|
||||||
|
USE_LEGACY_COMPATIBILITY_PLUGIN_CODE TRUE
|
||||||
|
|
||||||
|
In most cases, this should not be necessary, and we recommend using the fixed
|
||||||
|
behaviour.
|
||||||
|
|
||||||
|
Rationale
|
||||||
|
---------
|
||||||
|
This change ensures that the manufacturer codes used by CMake projects match
|
||||||
|
the codes that would be generated by the Projucer, improving compatibility
|
||||||
|
when transitioning from the Projucer to CMake.
|
||||||
|
|
||||||
|
|
||||||
Version 6.0.2
|
Version 6.0.2
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -495,6 +495,13 @@ attributes directly to these creation functions, rather than adding them later.
|
||||||
hosting plugins. Using this parameter should be preferred over using
|
hosting plugins. Using this parameter should be preferred over using
|
||||||
`target_compile_definitions` to manually set the `JUCE_PLUGINHOST_AU` preprocessor definition.
|
`target_compile_definitions` to manually set the `JUCE_PLUGINHOST_AU` preprocessor definition.
|
||||||
|
|
||||||
|
- `USE_LEGACY_COMPATIBILITY_PLUGIN_CODE`
|
||||||
|
- May be either TRUE or FALSE (defaults to FALSE). If TRUE, will override the value of the
|
||||||
|
preprocessor definition "JucePlugin_ManufacturerCode" with the hex equivalent of "proj". This
|
||||||
|
option exists to maintain compatiblity with a previous, buggy version of JUCE's CMake support
|
||||||
|
which mishandled the manufacturer code property. Most projects should leave this option set to
|
||||||
|
its default value.
|
||||||
|
|
||||||
- `COPY_PLUGIN_AFTER_BUILD`
|
- `COPY_PLUGIN_AFTER_BUILD`
|
||||||
- Whether or not to install the plugin to the current system after building. False by default.
|
- Whether or not to install the plugin to the current system after building. False by default.
|
||||||
If you want all of the plugins in a subdirectory to be installed automatically after building,
|
If you want all of the plugins in a subdirectory to be installed automatically after building,
|
||||||
|
|
|
||||||
|
|
@ -1527,9 +1527,15 @@ function(_juce_configure_plugin_targets target)
|
||||||
get_target_property(project_version_string ${target} JUCE_VERSION)
|
get_target_property(project_version_string ${target} JUCE_VERSION)
|
||||||
_juce_version_code(${project_version_string} project_version_hex)
|
_juce_version_code(${project_version_string} project_version_hex)
|
||||||
|
|
||||||
get_target_property(project_manufacturer_code ${target} JUCE_PLUGIN_MANUFACTURERER_CODE)
|
get_target_property(project_manufacturer_code ${target} JUCE_PLUGIN_MANUFACTURER_CODE)
|
||||||
get_target_property(project_plugin_code ${target} JUCE_PLUGIN_CODE)
|
get_target_property(project_plugin_code ${target} JUCE_PLUGIN_CODE)
|
||||||
|
|
||||||
|
get_target_property(use_legacy_compatibility_plugin_code ${target} JUCE_USE_LEGACY_COMPATIBILITY_PLUGIN_CODE)
|
||||||
|
|
||||||
|
if(use_legacy_compatibility_plugin_code)
|
||||||
|
set(project_manufacturer_code "project_manufacturer_code-NOTFOUND")
|
||||||
|
endif()
|
||||||
|
|
||||||
_juce_to_char_literal(${project_manufacturer_code} project_manufacturer_code)
|
_juce_to_char_literal(${project_manufacturer_code} project_manufacturer_code)
|
||||||
_juce_to_char_literal(${project_plugin_code} project_plugin_code)
|
_juce_to_char_literal(${project_plugin_code} project_plugin_code)
|
||||||
|
|
||||||
|
|
@ -1897,6 +1903,7 @@ function(_juce_initialise_target target)
|
||||||
AU_SANDBOX_SAFE
|
AU_SANDBOX_SAFE
|
||||||
AAX_CATEGORY
|
AAX_CATEGORY
|
||||||
PLUGINHOST_AU # Set this true if you want to host AU plugins
|
PLUGINHOST_AU # Set this true if you want to host AU plugins
|
||||||
|
USE_LEGACY_COMPATIBILITY_PLUGIN_CODE
|
||||||
|
|
||||||
VST_COPY_DIR
|
VST_COPY_DIR
|
||||||
VST3_COPY_DIR
|
VST3_COPY_DIR
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue