CMakeLists.txt (3601B)
1 cmake_minimum_required(VERSION 3.15) 2 3 option(${CMAKE_PROJECT_NAME}_SYNTH_OSIRUS "Build Osirus" on) 4 option(${CMAKE_PROJECT_NAME}_SYNTH_OSTIRUS "Build OsTIrus" on) 5 option(${CMAKE_PROJECT_NAME}_SYNTH_VAVRA "Build Vavra" on) 6 option(${CMAKE_PROJECT_NAME}_SYNTH_XENIA "Build Xenia" on) 7 option(${CMAKE_PROJECT_NAME}_SYNTH_NODALRED2X "Build NodalRed2x" on) 8 9 # ----------------- Add our cmake scripts to IDE 10 11 add_custom_target(cmakeScripts SOURCES 12 findvst2.cmake 13 juce.cmake 14 macsetup.cmake 15 macsetup.command.in 16 runAuValidation.cmake 17 skins.cmake 18 skins.h.in 19 ../base.cmake) 20 21 # ----------------- Tools 22 23 add_subdirectory(changelogGenerator) 24 25 # ----------------- DSP56300 emulator 26 27 set(ASMJIT_STATIC TRUE) 28 set(ASMJIT_NO_INSTALL TRUE) 29 set(BUILD_SHARED_LIBS OFF) 30 31 add_subdirectory(dsp56300/source) 32 33 # ----------------- Common libraries used by all synths 34 35 add_subdirectory(baseLib) 36 add_subdirectory(synthLib) 37 add_subdirectory(libresample) 38 39 include(macsetup.cmake) 40 include(skins.cmake) 41 42 # ----------------- network bridge 43 44 add_subdirectory(ptypes EXCLUDE_FROM_ALL) 45 add_subdirectory(networkLib EXCLUDE_FROM_ALL) 46 add_subdirectory(bridge) 47 48 # ----------------- Try to install VST2 SDK 49 50 include(findvst2.cmake) 51 52 # ----------------- Juce based audio plugin dependencies 53 54 set_property(GLOBAL PROPERTY USE_FOLDERS YES) 55 if(${CMAKE_PROJECT_NAME}_BUILD_JUCEPLUGIN) 56 set(JUCE_ENABLE_MODULE_SOURCE_GROUPS ON CACHE BOOL "" FORCE) 57 add_subdirectory(JUCE EXCLUDE_FROM_ALL) 58 if(${CMAKE_PROJECT_NAME}_BUILD_JUCEPLUGIN_CLAP) 59 add_subdirectory(clap-juce-extensions) 60 endif() 61 add_subdirectory(jucePluginLib EXCLUDE_FROM_ALL) 62 add_subdirectory(juceUiLib EXCLUDE_FROM_ALL) 63 add_subdirectory(jucePluginEditorLib EXCLUDE_FROM_ALL) 64 add_subdirectory(jucePluginData EXCLUDE_FROM_ALL) 65 add_subdirectory(pluginTester) 66 include(juce.cmake) 67 endif() 68 69 # ----------------- dependencies 70 71 add_subdirectory(mc68k EXCLUDE_FROM_ALL) 72 add_subdirectory(hardwareLib EXCLUDE_FROM_ALL) 73 add_subdirectory(wLib EXCLUDE_FROM_ALL) 74 75 # ----------------- Synths Osirus/OsTIrus 76 77 if(${CMAKE_PROJECT_NAME}_SYNTH_OSIRUS OR ${CMAKE_PROJECT_NAME}_SYNTH_OSTIRUS) 78 add_subdirectory(virusLib EXCLUDE_FROM_ALL) 79 add_subdirectory(virusConsoleLib EXCLUDE_FROM_ALL) 80 add_subdirectory(virusTestConsole) 81 add_subdirectory(virusIntegrationTest) 82 if(${CMAKE_PROJECT_NAME}_BUILD_JUCEPLUGIN) 83 add_subdirectory(virusJucePlugin EXCLUDE_FROM_ALL) 84 if(${CMAKE_PROJECT_NAME}_SYNTH_OSIRUS) 85 add_subdirectory(osirusJucePlugin) 86 endif() 87 if(${CMAKE_PROJECT_NAME}_SYNTH_OSTIRUS) 88 add_subdirectory(osTIrusJucePlugin) 89 endif() 90 endif() 91 endif() 92 93 # ----------------- Synth Vavra 94 95 if(${CMAKE_PROJECT_NAME}_SYNTH_VAVRA) 96 add_subdirectory(mqLib EXCLUDE_FROM_ALL) 97 98 # needed for test console 99 set(CPPTERMINAL_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) 100 set(CPPTERMINAL_ENABLE_INSTALL OFF CACHE BOOL "" FORCE) 101 set(CPPTERMINAL_ENABLE_TESING OFF CACHE BOOL "" FORCE) 102 add_subdirectory(cpp-terminal EXCLUDE_FROM_ALL) 103 104 if(NOT ANDROID) 105 add_subdirectory(portmidi EXCLUDE_FROM_ALL) 106 endif() 107 108 set(PA_USE_ASIO OFF CACHE BOOL "" FORCE) 109 add_subdirectory(portaudio EXCLUDE_FROM_ALL) 110 111 add_subdirectory(mqConsoleLib EXCLUDE_FROM_ALL) 112 add_subdirectory(mqTestConsole) 113 add_subdirectory(mqPerformanceTest) 114 115 if(${CMAKE_PROJECT_NAME}_BUILD_JUCEPLUGIN) 116 add_subdirectory(mqJucePlugin) 117 endif() 118 endif() 119 120 # ----------------- Synth Xenia 121 122 if(${CMAKE_PROJECT_NAME}_SYNTH_XENIA) 123 add_subdirectory(xtLib EXCLUDE_FROM_ALL) 124 add_subdirectory(xtTestConsole) 125 126 if(${CMAKE_PROJECT_NAME}_BUILD_JUCEPLUGIN) 127 add_subdirectory(xtJucePlugin) 128 endif() 129 endif() 130 131 # ----------------- all nords 132 133 add_subdirectory(nord)