From 1e439899193d3e4c85239e1ad6a0365edec98b4c Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Sun, 3 May 2020 06:59:51 +0200 Subject: [PATCH] Allow render to be built if SFIZZ_JACK is not set --- CMakeLists.txt | 5 ++--- clients/CMakeLists.txt | 34 +++++++++++++++++++--------------- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index daf8e57b..e71082d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,6 +26,7 @@ endif() option (ENABLE_LTO "Enable Link Time Optimization [default: ON]" ON) option (SFIZZ_JACK "Enable JACK stand-alone build [default: ON]" ON) +option (SFIZZ_RENDER "Enable renderer of SMF files [default: ON]" ON) option (SFIZZ_LV2 "Enable LV2 plug-in build [default: ON]" ON) option (SFIZZ_VST "Enable VST plug-in build [default: OFF]" OFF) option (SFIZZ_BENCHMARKS "Enable benchmarks build [default: OFF]" OFF) @@ -45,9 +46,7 @@ add_subdirectory (external/abseil-cpp EXCLUDE_FROM_ALL) add_subdirectory (src) # Optional targets -if (SFIZZ_JACK) - add_subdirectory (clients) -endif() +add_subdirectory (clients) if (SFIZZ_LV2) add_subdirectory (lv2) diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt index 82b15934..b91c57aa 100644 --- a/clients/CMakeLists.txt +++ b/clients/CMakeLists.txt @@ -1,20 +1,24 @@ project (sfizz) -find_package(PkgConfig REQUIRED) -pkg_check_modules(JACK "jack" REQUIRED) +if (SFIZZ_JACK) + find_package(PkgConfig REQUIRED) + pkg_check_modules(JACK "jack" REQUIRED) -add_executable (sfizz_jack jack_client.cpp) -target_include_directories (sfizz_jack PRIVATE ${JACK_INCLUDE_DIRS}) -target_link_libraries (sfizz_jack PRIVATE sfizz::sfizz jack absl::flags_parse ${JACK_LIBRARIES}) -sfizz_enable_lto_if_needed (sfizz_jack) -install (TARGETS sfizz_jack DESTINATION ${CMAKE_INSTALL_BINDIR} -COMPONENT "jack" OPTIONAL) + add_executable (sfizz_jack jack_client.cpp) + target_include_directories (sfizz_jack PRIVATE ${JACK_INCLUDE_DIRS}) + target_link_libraries (sfizz_jack PRIVATE sfizz::sfizz jack absl::flags_parse ${JACK_LIBRARIES}) + sfizz_enable_lto_if_needed (sfizz_jack) + install (TARGETS sfizz_jack DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT "jack" OPTIONAL) +endif() -add_library(sfizz-fmidi STATIC "external/fmidi/sources/fmidi/fmidi_mini.cpp") -target_include_directories(sfizz-fmidi PUBLIC "external/fmidi/sources") -target_compile_definitions(sfizz-fmidi PUBLIC "FMIDI_STATIC=1" "FMIDI_DISABLE_DESCRIBE_API=1") +if (SFIZZ_RENDER) + add_library(sfizz-fmidi STATIC "external/fmidi/sources/fmidi/fmidi_mini.cpp") + target_include_directories(sfizz-fmidi PUBLIC "external/fmidi/sources") + target_compile_definitions(sfizz-fmidi PUBLIC "FMIDI_STATIC=1" "FMIDI_DISABLE_DESCRIBE_API=1") -add_executable(sfizz_render sfizz_render.cpp) -target_link_libraries(sfizz_render sfizz::sfizz sfizz-fmidi) -sfizz_enable_lto_if_needed (sfizz_render) -install (TARGETS sfizz_render DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT "render" OPTIONAL) + add_executable(sfizz_render sfizz_render.cpp) + target_link_libraries(sfizz_render sfizz::sfizz sfizz-fmidi) + sfizz_enable_lto_if_needed (sfizz_render) + install (TARGETS sfizz_render DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT "render" OPTIONAL) +endif()