@@ -4,19 +4,16 @@ cmake_minimum_required(VERSION 3.24.1)
4
4
5
5
# This tells cmake we have goodies in the /cmake folder
6
6
list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /cmake" )
7
+ include (PamplejuceVersion)
7
8
8
9
# This is the name of your plugin
9
- # Change me! Note: It cannot have spaces (but PRODUCT_NAME can)
10
+ # Change me! Note: It cannot have spaces (but JUCE's PRODUCT_NAME can)
11
+ # You may want to append the major version on the end of this (and PRODUCT_NAME)
12
+ # set(PROJECT_NAME "MyPlugin_v${MAJOR_VERSION}")
13
+ # Doing so enables major versions to show up in IDEs and DAWs as separate plugins
14
+ # allowing you to change parameters and behavior without breaking user projects
10
15
set (PROJECT_NAME "Pamplejuce" )
11
16
12
- include (PamplejuceVersion)
13
-
14
- # By default, we add the major version on the end of the plugin name like _v1
15
- # Different major versions then show up in DAWs as separate plugins
16
- # This lets you change parameters and behavior without breaking user projects
17
- # Comment the following line to disable this behavior
18
- set (PROJECT_NAME "Pamplejuce_v${MAJOR_VERSION} " )
19
-
20
17
# Set the plugin formats you'll be building here.
21
18
# Valid choices here: AAX Unity VST VST3 AU AUv3 Standalone
22
19
set (FORMATS Standalone AU VST3 AUv3)
@@ -62,11 +59,13 @@ juce_add_plugin("${PROJECT_NAME}"
62
59
PLUGIN_CODE P001
63
60
FORMATS "${FORMATS} "
64
61
65
- # Change me!
66
62
# The name of your final executable
67
63
# This is how it's listed in the DAW
68
64
# This can be different from PROJECT_NAME and can have spaces!
69
- PRODUCT_NAME "Pamplejuce v1" )
65
+ # You might want to use v${MAJOR_VERSION} here once you go to v2...
66
+ set (PRODUCT_NAME "${PROJECT_NAME} " )
67
+
68
+ PRODUCT_NAME "${PRODUCT_NAME} " )
70
69
71
70
# This lets us use our code in both the JUCE targets and our Test target
72
71
# Without running into ODR violations
@@ -81,7 +80,7 @@ target_compile_features(SharedCode INTERFACE cxx_std_20)
81
80
# Just ensure you employ CONFIGURE_DEPENDS so the build system picks up changes
82
81
# If you want to appease the CMake gods and avoid globs, manually add files like so:
83
82
# set(SourceFiles Source/PluginEditor.h Source/PluginProcessor.h Source/PluginEditor.cpp Source/PluginProcessor.cpp)
84
- file (GLOB_RECURSE SourceFiles CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR} /Source /*.cpp" "${CMAKE_CURRENT_SOURCE_DIR} /Source /*.h" )
83
+ file (GLOB_RECURSE SourceFiles CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR} /source /*.cpp" "${CMAKE_CURRENT_SOURCE_DIR} /source /*.h" )
85
84
target_sources (SharedCode INTERFACE ${SourceFiles} )
86
85
87
86
# Adds a BinaryData target for embedding assets into the binary
@@ -117,7 +116,11 @@ target_link_libraries(SharedCode
117
116
INTERFACE
118
117
Assets
119
118
melatonin_inspector
120
- juce::juce_audio_utils
119
+ juce_audio_utils
120
+ juce_audio_processors
121
+ juce_dsp
122
+ juce_gui_basics
123
+ juce_gui_extra
121
124
juce::juce_recommended_config_flags
122
125
juce::juce_recommended_lto_flags
123
126
juce::juce_recommended_warning_flags)
@@ -128,5 +131,8 @@ target_link_libraries("${PROJECT_NAME}" PRIVATE SharedCode)
128
131
# IPP support, comment out to disable
129
132
include (PamplejuceIPP)
130
133
131
- # Tests target, comment out to disable
134
+ # Everything related to the tests target
132
135
include (Tests)
136
+
137
+ # A separate target keeps the Tests target fast!
138
+ include (Benchmarks)
0 commit comments