zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit 67e0af2acaf6bd47510e2789293dbb30018a3a1a
parent be9fc502748c8b19fc4ab67751428734549d958b
Author: David Runge <dave@sleepmap.de>
Date:   Sat, 22 Jan 2022 17:22:52 +0100

Add cmake option to optionally use system rtosc

CMakeLists.txt:
Add `ZYN_SYSTEM_RTOSC` option (defaults to OFF) to optionally use
pkgconf integration to find and use a system provided librtosc.

Diffstat:
MCMakeLists.txt | 37+++++++++++++++++++++++--------------
1 file changed, 23 insertions(+), 14 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt @@ -10,24 +10,33 @@ if(DEFINED ZYN_DATADIR) add_definitions(-DZYN_DATADIR="${ZYN_DATADIR}") endif() +option(ZYN_SYSTEM_RTOSC "Use a system provided librtosc" OFF) + #Include RTOSC -if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/rtosc/CMakeLists.txt") - message(STATUS "RTOSC NOT FOUND") - message(STATUS "Attempting to checkout submodule") - find_package(Git REQUIRED) - execute_process(COMMAND git submodule update --init --recursive) +if(ZYN_SYSTEM_RTOSC) + include(FindPkgConfig) + pkg_check_modules(RTOSC REQUIRED librtosc) + include_directories($RTOSC_INCLUDE_DIR) + message(STATUS "Found system provided librtosc...") +else() if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/rtosc/CMakeLists.txt") - message(FATAL_ERROR "FAILED TO CHECKOUT RTOSC\n" - "please check file permissions and your network") + message(STATUS "RTOSC NOT FOUND") + message(STATUS "Attempting to checkout submodule") + find_package(Git REQUIRED) + execute_process(COMMAND git submodule update --init --recursive) + if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/rtosc/CMakeLists.txt") + message(FATAL_ERROR "FAILED TO CHECKOUT RTOSC\n" + "please check file permissions and your network") + endif() + else() + message(STATUS "Found Rtosc Submodule...") endif() -else() - message(STATUS "Found Rtosc Submodule...") -endif() -set(RTOSC_NO_INSTALL TRUE) -include("rtosc/cmake/ColorMessage.cmake") -add_subdirectory(rtosc) -include_directories(rtosc/include) + set(RTOSC_NO_INSTALL TRUE) + include("rtosc/cmake/ColorMessage.cmake") + add_subdirectory(rtosc) + include_directories(rtosc/include) +endif() enable_testing() include(CTestConfig.cmake)