diff --git a/CMakeLists.txt b/CMakeLists.txt index 5c708574..ef17dbd3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,24 +10,34 @@ if(DEFINED ZYN_DATADIR) add_definitions(-DZYN_DATADIR="${ZYN_DATADIR}") endif() +option(ZYN_SYSTEM_RTOSC "Use system provided librtosc and librtosc-cpp" 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) + pkg_check_modules(RTOSC_CPP REQUIRED librtosc-cpp) + include_directories(${RTOSC_INCLUDE_DIR}) + message(STATUS "Found system provided librtosc and librtosc-cpp...") +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) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2900f4b7..8348df70 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -575,13 +575,27 @@ else() set(PTHREAD_LIBRARY pthread) endif() -target_link_libraries(zynaddsubfx_core - ${ZLIB_LIBRARIES} - ${FFTW3F_LIBRARIES} - ${MXML_LIBRARIES} - ${OS_LIBRARIES} - ${PTHREAD_LIBRARY} - rtosc rtosc-cpp) +if(ZYN_SYSTEM_RTOSC) + target_link_libraries(zynaddsubfx_core + ${ZLIB_LIBRARIES} + ${FFTW3F_LIBRARIES} + ${MXML_LIBRARIES} + ${OS_LIBRARIES} + ${PTHREAD_LIBRARY} + ${RTOSC_LIBRARIES} + ${RTOSC_CPP_LIBRARIES} + ) +else() + target_link_libraries(zynaddsubfx_core + ${ZLIB_LIBRARIES} + ${FFTW3F_LIBRARIES} + ${MXML_LIBRARIES} + ${OS_LIBRARIES} + ${PTHREAD_LIBRARY} + rtosc + rtosc-cpp + ) +endif() if(IwyuErr) message (STATUS "Include what you use: ${IwyuErr}")