summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/zynaddsubfx-3.0.6-system-rtosc.patch
blob: 3ed8a7c49578527da87385383a36bd2d74f2188f (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
Adding the option ZYN_SYSTEM_RTOSC to let the use of the system provided RtOSC
instead of using the bundled one.

--- a/CMakeLists.txt	2022-01-22 02:46:21.000000000 +0100
+++ b/CMakeLists.txt	2023-05-03 23:17:58.411667901 +0200
@@ -10,24 +10,34 @@
 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)
--- a/src/CMakeLists.txt	2022-01-22 02:46:21.000000000 +0100
+++ b/src/CMakeLists.txt	2023-05-03 23:17:58.411667901 +0200
@@ -575,13 +575,27 @@
     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}")


When ZYN_SYSTEM_RTOSC is ON, port-checker file is not available and the test
fails.

--- a/src/Tests/CMakeLists.txt	2022-01-22 02:46:21.000000000 +0100
+++ b/src/Tests/CMakeLists.txt	2023-05-04 00:19:01.635383149 +0200
@@ -65,7 +65,6 @@
 
     if(LIBLO_FOUND)
         cp_script(check-ports.rb)
-        add_test(PortChecker check-ports.rb)
     endif()
     add_executable(save-osc SaveOSC.cpp)
     target_link_libraries(save-osc