cmake_minimum_required(VERSION 3.20)

set(CMAKE_OSX_ARCHITECTURES arm64 x86_64)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)

project(UhhyouPlugins
  VERSION 0.65.0)

option(SMTG_ADD_VST3_HOSTING_SAMPLES OFF)
option(SMTG_ENABLE_VST3_PLUGIN_EXAMPLES OFF)
option(SMTG_ENABLE_VST3_HOSTING_EXAMPLES OFF)

add_subdirectory(common)
add_subdirectory(lib/vst3sdk)
smtg_enable_vst3_sdk()

add_subdirectory(AccumulativeRingMod)
add_subdirectory(BasicLimiter)
add_subdirectory(BasicLimiterAutoMake)
add_subdirectory(ClangCymbal)
add_subdirectory(ClangSynth)
add_subdirectory(CollidingCombSynth)
add_subdirectory(CombDistortion)
add_subdirectory(CubicPadSynth)
add_subdirectory(DoubleLoopCymbal)
add_subdirectory(EnvelopedSine)
add_subdirectory(EsPhaser)
add_subdirectory(FDN64Reverb)
add_subdirectory(FDNCymbal)
add_subdirectory(FeedbackPhaser)
add_subdirectory(FoldShaper)
add_subdirectory(GenericDrum)
add_subdirectory(GlitchSprinkler)
add_subdirectory(IterativeSinCluster)
add_subdirectory(L3Reverb)
add_subdirectory(L4Reverb)
add_subdirectory(LatticeReverb)
add_subdirectory(LightPadSynth)
add_subdirectory(LongPhaser)
add_subdirectory(MatrixShifter)
add_subdirectory(MaybeSnare)
add_subdirectory(MembraneSynth)
add_subdirectory(MiniCliffEQ)
add_subdirectory(ModuloShaper)
add_subdirectory(NarrowingDelay)
add_subdirectory(OddPowShaper)
add_subdirectory(OrdinaryPhaser)
add_subdirectory(ParallelComb)
add_subdirectory(ParallelDetune)
add_subdirectory(PitchShiftDelay)
add_subdirectory(RingModSpacer)
add_subdirectory(SevenDelay)
add_subdirectory(SoftClipper)
add_subdirectory(SpectralPhaser)
add_subdirectory(SyncSawSynth)
add_subdirectory(TrapezoidSynth)
add_subdirectory(UltraSynth)
add_subdirectory(UltrasonicRingMod)
add_subdirectory(WaveCymbal)

# ## Below are prototype plugins. Breaking changes will be introduced.
# add_subdirectory(TestBedSynth)
# add_subdirectory(GrowlSynth)
