Allow render to be built if SFIZZ_JACK is not set

This commit is contained in:
Jean Pierre Cimalando 2020-05-03 06:59:51 +02:00
parent ac04a61844
commit 1e43989919
2 changed files with 21 additions and 18 deletions

View file

@ -26,6 +26,7 @@ endif()
option (ENABLE_LTO "Enable Link Time Optimization [default: ON]" ON) option (ENABLE_LTO "Enable Link Time Optimization [default: ON]" ON)
option (SFIZZ_JACK "Enable JACK stand-alone build [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_LV2 "Enable LV2 plug-in build [default: ON]" ON)
option (SFIZZ_VST "Enable VST plug-in build [default: OFF]" OFF) option (SFIZZ_VST "Enable VST plug-in build [default: OFF]" OFF)
option (SFIZZ_BENCHMARKS "Enable benchmarks 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) add_subdirectory (src)
# Optional targets # Optional targets
if (SFIZZ_JACK) add_subdirectory (clients)
add_subdirectory (clients)
endif()
if (SFIZZ_LV2) if (SFIZZ_LV2)
add_subdirectory (lv2) add_subdirectory (lv2)

View file

@ -1,20 +1,24 @@
project (sfizz) project (sfizz)
find_package(PkgConfig REQUIRED) if (SFIZZ_JACK)
pkg_check_modules(JACK "jack" REQUIRED) find_package(PkgConfig REQUIRED)
pkg_check_modules(JACK "jack" REQUIRED)
add_executable (sfizz_jack jack_client.cpp) add_executable (sfizz_jack jack_client.cpp)
target_include_directories (sfizz_jack PRIVATE ${JACK_INCLUDE_DIRS}) target_include_directories (sfizz_jack PRIVATE ${JACK_INCLUDE_DIRS})
target_link_libraries (sfizz_jack PRIVATE sfizz::sfizz jack absl::flags_parse ${JACK_LIBRARIES}) target_link_libraries (sfizz_jack PRIVATE sfizz::sfizz jack absl::flags_parse ${JACK_LIBRARIES})
sfizz_enable_lto_if_needed (sfizz_jack) sfizz_enable_lto_if_needed (sfizz_jack)
install (TARGETS sfizz_jack DESTINATION ${CMAKE_INSTALL_BINDIR} install (TARGETS sfizz_jack DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT "jack" OPTIONAL) COMPONENT "jack" OPTIONAL)
endif()
add_library(sfizz-fmidi STATIC "external/fmidi/sources/fmidi/fmidi_mini.cpp") if (SFIZZ_RENDER)
target_include_directories(sfizz-fmidi PUBLIC "external/fmidi/sources") add_library(sfizz-fmidi STATIC "external/fmidi/sources/fmidi/fmidi_mini.cpp")
target_compile_definitions(sfizz-fmidi PUBLIC "FMIDI_STATIC=1" "FMIDI_DISABLE_DESCRIBE_API=1") 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) add_executable(sfizz_render sfizz_render.cpp)
target_link_libraries(sfizz_render sfizz::sfizz sfizz-fmidi) target_link_libraries(sfizz_render sfizz::sfizz sfizz-fmidi)
sfizz_enable_lto_if_needed (sfizz_render) sfizz_enable_lto_if_needed (sfizz_render)
install (TARGETS sfizz_render DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT "render" OPTIONAL) install (TARGETS sfizz_render DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT "render" OPTIONAL)
endif()