gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

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)