summaryrefslogtreecommitdiff
path: root/skip/zynaddsubfx/zynaddsubfx-3.0.6-system_rtosc.patch
blob: 799ff8e904c79284280b54d01ae910af3a68c9ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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}")