From 2549f1dd10993d4b3fdd8df20205ad4d650d471e Mon Sep 17 00:00:00 2001 From: falkTX Date: Thu, 25 May 2023 15:25:43 +0200 Subject: [PATCH] More cmake tweaks, allow to disable some features Signed-off-by: falkTX --- cmake/CMakeLists.txt | 49 ++++++++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index ec7353e42..e41731d1b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -14,6 +14,12 @@ set(CMAKE_VISIBILITY_INLINES_HIDDEN TRUE) set_property(GLOBAL PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) +####################################################################################################################### +# build options + +set(CARLA_USE_JACK TRUE CACHE BOOL "Enable JACK") +set(CARLA_USE_OSC TRUE CACHE BOOL "Enable OSC") + ####################################################################################################################### # required dependencies @@ -32,7 +38,6 @@ find_package(PkgConfig) if(PKGCONFIG_FOUND) pkg_check_modules(FLUIDSYNTH IMPORTED_TARGET fluidsynth) - pkg_check_modules(LIBLO IMPORTED_TARGET liblo) pkg_check_modules(SNDFILE IMPORTED_TARGET sndfile) else() set(FLUIDSYNTH_FOUND FALSE) @@ -40,6 +45,12 @@ else() set(SNDFILE_FOUND FALSE) endif() +if(PKGCONFIG_FOUND AND CARLA_USE_OSC) + pkg_check_modules(LIBLO IMPORTED_TARGET liblo) +else() + set(LIBLO_FOUND FALSE) +endif() + if(PKGCONFIG_FOUND AND NOT WIN32) pkg_check_modules(LIBMAGIC IMPORTED_TARGET libmagic) else() @@ -81,8 +92,8 @@ function(set_common_target_properties TARGET) target_compile_definitions(${TARGET} PRIVATE BUILDING_CARLA - HAVE_JACK HAVE_YSFX + $<$:HAVE_JACK> $<$:HAVE_FLUIDSYNTH> $<$:HAVE_LIBLO> $<$:HAVE_LIBMAGIC> @@ -202,7 +213,7 @@ set_common_target_properties(carla-lilv_sord) target_compile_options(carla-lilv_sord PRIVATE $<$:/wd4005 /wd4090 /wd4133> - $<$:-Wno-unused-parameter> + $<$:-Wno-unused-parameter> # workaround compiler bug, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109585 $<$:-fno-strict-aliasing> ) @@ -260,11 +271,11 @@ set_common_target_properties(carla-lilv_lilv) target_compile_options(carla-lilv_lilv PRIVATE $<$:/wd4005 /wd4090 /wd4133> + $<$:-Wno-incompatible-pointer-types-discards-qualifiers> $<$:-Wno-deprecated-declarations> $<$:-Wno-discarded-qualifiers> $<$:-Wno-format-overflow> - $<$:-Wno-unused-parameter> - $<$:-Wno-incompatible-pointer-types-discards-qualifiers> + $<$:-Wno-unused-parameter> ) target_include_directories(carla-lilv_lilv @@ -403,7 +414,7 @@ set_common_target_properties(carla-water) target_compile_options(carla-water PRIVATE - $<$:-Wno-deprecated-copy> + $<$:-Wno-deprecated-copy> ) target_include_directories(carla-water @@ -437,7 +448,7 @@ set_common_target_properties(carla-water-files) target_compile_options(carla-water-files PRIVATE - $<$:-Wno-deprecated-copy> + $<$:-Wno-deprecated-copy> ) target_include_directories(carla-water-files @@ -487,13 +498,14 @@ target_compile_definitions(carla-ysfx target_compile_options(carla-ysfx PRIVATE $<$:/wd4297> - $<$:-fsigned-char> $<$:-Wno-extra> $<$:-Wno-ignored-attributes> - $<$:-Wno-sign-compare> $<$:-Wno-unused-function> - $<$:-Wno-unused-parameter> - $<$:-Wno-deprecated-copy> + $<$:-fsigned-char> + $<$:-Wno-sign-compare> + $<$:-Wno-unused-parameter> + $<$,$>:-Wno-missing-field-initializers> + $<$,$>:-Wno-deprecated-copy> ) target_include_directories(carla-ysfx @@ -574,10 +586,11 @@ target_compile_definitions(carla-bridge-native # FIXME target_compile_options(carla-bridge-native PRIVATE + $<$:-Wno-unused-but-set-variable> $<$:-Wno-format-truncation> $<$:-Wno-stringop-overflow> $<$:-Wno-unused-parameter> - $<$:-Wno-vla> + $<$:-Wno-unused-parameter> ) target_include_directories(carla-bridge-native @@ -620,7 +633,6 @@ target_sources(carla-bridge-native ../source/backend/engine/CarlaEngineData.cpp ../source/backend/engine/CarlaEngineGraph.cpp ../source/backend/engine/CarlaEngineInternal.cpp - ../source/backend/engine/CarlaEngineJack.cpp ../source/backend/engine/CarlaEnginePorts.cpp ../source/backend/engine/CarlaEngineRunner.cpp ../source/backend/plugin/CarlaPlugin.cpp @@ -629,7 +641,6 @@ target_sources(carla-bridge-native ../source/backend/plugin/CarlaPluginAU.cpp ../source/backend/plugin/CarlaPluginCLAP.cpp ../source/backend/plugin/CarlaPluginFluidSynth.cpp - ../source/backend/plugin/CarlaPluginJack.cpp ../source/backend/plugin/CarlaPluginJuce.cpp ../source/backend/plugin/CarlaPluginJSFX.cpp ../source/backend/plugin/CarlaPluginLADSPADSSI.cpp @@ -638,6 +649,8 @@ target_sources(carla-bridge-native ../source/backend/plugin/CarlaPluginSFZero.cpp ../source/backend/plugin/CarlaPluginVST2.cpp ../source/backend/plugin/CarlaPluginVST3.cpp + $<$:../source/backend/engine/CarlaEngineJack.cpp> + $<$:../source/backend/plugin/CarlaPluginJack.cpp> ) ####################################################################################################################### @@ -690,11 +703,11 @@ target_compile_definitions(carla-standalone # FIXME target_compile_options(carla-standalone PRIVATE + $<$:-Wno-unused-but-set-variable> $<$:-Wno-format-truncation> $<$:-Wno-stringop-overflow> - $<$:-Wno-unused-parameter> - $<$:-Wno-vla> $<$:-Wno-error=cpp> + $<$:-Wno-unused-parameter> ) target_include_directories(carla-standalone @@ -731,7 +744,6 @@ target_sources(carla-standalone ../source/backend/engine/CarlaEngineClient.cpp ../source/backend/engine/CarlaEngineDummy.cpp ../source/backend/engine/CarlaEngineData.cpp - ../source/backend/engine/CarlaEngineJack.cpp ../source/backend/engine/CarlaEngineGraph.cpp ../source/backend/engine/CarlaEngineInternal.cpp ../source/backend/engine/CarlaEngineNative.cpp @@ -746,7 +758,6 @@ target_sources(carla-standalone ../source/backend/plugin/CarlaPluginAU.cpp ../source/backend/plugin/CarlaPluginCLAP.cpp ../source/backend/plugin/CarlaPluginFluidSynth.cpp - ../source/backend/plugin/CarlaPluginJack.cpp ../source/backend/plugin/CarlaPluginJuce.cpp ../source/backend/plugin/CarlaPluginJSFX.cpp ../source/backend/plugin/CarlaPluginLADSPADSSI.cpp @@ -755,6 +766,8 @@ target_sources(carla-standalone ../source/backend/plugin/CarlaPluginSFZero.cpp ../source/backend/plugin/CarlaPluginVST2.cpp ../source/backend/plugin/CarlaPluginVST3.cpp + $<$:../source/backend/engine/CarlaEngineJack.cpp> + $<$:../source/backend/plugin/CarlaPluginJack.cpp> ) #######################################################################################################################