-
-
Notifications
You must be signed in to change notification settings - Fork 1k
/
PluginList.cmake
103 lines (97 loc) · 1.93 KB
/
PluginList.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# Provides a fast mechanism for filtering the plugins used at build-time
SET(PLUGIN_LIST "" CACHE STRING "List of plug-ins to build")
STRING(REPLACE " " ";" PLUGIN_LIST "${PLUGIN_LIST}")
OPTION(LMMS_MINIMAL "Build a minimal list of plug-ins" OFF)
OPTION(LIST_PLUGINS "Lists the available plugins for building" OFF)
SET(MINIMAL_LIST
AudioFileProcessor
Kicker
TripleOscillator
)
IF(LMMS_MINIMAL)
IF("${PLUGIN_LIST}" STREQUAL "")
STRING(REPLACE ";" " " MINIMAL_LIST_STRING "${MINIMAL_LIST}")
MESSAGE(
"-- Using minimal plug-ins: ${MINIMAL_LIST_STRING}\n"
" Note: You can specify specific plug-ins using -DPLUGIN_LIST=\"foo bar\""
)
ENDIF()
SET(PLUGIN_LIST ${MINIMAL_LIST} ${PLUGIN_LIST})
ENDIF()
SET(LMMS_PLUGIN_LIST
${MINIMAL_LIST}
Amplifier
BassBooster
BitInvader
Bitcrush
CarlaBase
CarlaPatchbay
CarlaRack
Compressor
CrossoverEQ
Delay
Dispersion
DualFilter
DynamicsProcessor
Eq
Flanger
GranularPitchShifter
HydrogenImport
LadspaBrowser
LadspaEffect
LOMM
Lv2Effect
Lv2Instrument
Lb302
MidiImport
MidiExport
MultitapEcho
Monstro
Nes
OpulenZ
Organic
FreeBoy
Patman
PeakControllerEffect
GigPlayer
ReverbSC
Sf2Player
Sfxr
Sid
SlicerT
SpectrumAnalyzer
StereoEnhancer
StereoMatrix
Stk
TapTempo
VstBase
Vestige
VstEffect
Watsyn
WaveShaper
Vectorscope
Vibed
Xpressive
ZynAddSubFx
)
IF("${PLUGIN_LIST}" STREQUAL "")
SET(PLUGIN_LIST ${LMMS_PLUGIN_LIST})
ENDIF()
MACRO(LIST_ALL_PLUGINS)
MESSAGE("\n\nAll possible -DPLUGIN_LIST values")
MESSAGE("\n KEYWORD:")
MESSAGE(" -DLMMS_MINIMAL=True")
FOREACH(item IN LISTS MINIMAL_LIST)
MESSAGE(" ${item}")
ENDFOREACH()
MESSAGE("\n NAME:")
FOREACH(item IN LISTS LMMS_PLUGIN_LIST)
MESSAGE(" ${item}")
ENDFOREACH()
MESSAGE("\nNote: This value also impacts the fetching of git submodules.\n")
MESSAGE(FATAL_ERROR "Information was requested, aborting build!")
ENDMACRO()
IF(LIST_PLUGINS)
UNSET(LIST_PLUGINS CACHE)
LIST_ALL_PLUGINS()
ENDIF()