synths.cmake (1435B)
1 set(synths 2 gearmulator_SYNTH_OSIRUS 3 gearmulator_SYNTH_OSTIRUS 4 gearmulator_SYNTH_VAVRA 5 gearmulator_SYNTH_XENIA 6 gearmulator_SYNTH_NODALRED2X 7 gearmulator_COMPONENT_DSPBRIDGE 8 ) 9 10 set(gearmulator_SYNTH_OSIRUS_name Osirus) 11 set(gearmulator_SYNTH_OSTIRUS_name OsTIrus) 12 set(gearmulator_SYNTH_VAVRA_name Vavra) 13 set(gearmulator_SYNTH_XENIA_name Xenia) 14 set(gearmulator_SYNTH_NODALRED2X_name NodalRed2x) 15 set(gearmulator_COMPONENT_DSPBRIDGE_name DSPBridge) 16 17 set(gearmulator_SYNTH_OSIRUS_folder osirus) 18 set(gearmulator_SYNTH_OSTIRUS_folder ostirus) 19 set(gearmulator_SYNTH_VAVRA_folder vavra) 20 set(gearmulator_SYNTH_XENIA_folder xenia) 21 set(gearmulator_SYNTH_NODALRED2X_folder nodalred2x) 22 set(gearmulator_COMPONENT_DSPBRIDGE_folder dspbridge) 23 24 macro(validateToggle NAME) 25 if(NOT DEFINED ${NAME} OR (NOT ${${NAME}} STREQUAL "on" AND NOT ${${NAME}} STREQUAL "off")) 26 message(FATAL_ERROR "Variable " ${NAME} " needs to be set to on or off but got '" ${${NAME}} "'") 27 else() 28 message(STATUS ${NAME}=${${NAME}}) 29 endif() 30 endmacro() 31 32 # turn off all synths that are not explicitly specified 33 foreach(S IN LISTS synths) 34 if(NOT DEFINED ${S}_name) 35 message(FATAL_ERROR "No name defined for synth ${S}") 36 endif() 37 if(NOT DEFINED ${S}_folder) 38 message(FATAL_ERROR "No folder defined for synth ${S}") 39 endif() 40 if(NOT DEFINED ${S}) 41 set(${S} off) 42 message(STATUS "Synth ${S} unspecified, turning off") 43 else() 44 validateToggle(${S}) 45 endif() 46 endforeach()