Merge lp:~vibhavp/ubuntu/saucy/csound/merge-from-debian into lp:ubuntu/saucy/csound
- Saucy (13.10)
- merge-from-debian
- Merge into saucy
Proposed by
Vibhav Pant
Status: | Merged |
---|---|
Merge reported by: | Sebastien Bacher |
Merged at revision: | not available |
Proposed branch: | lp:~vibhavp/ubuntu/saucy/csound/merge-from-debian |
Merge into: | lp:ubuntu/saucy/csound |
Diff against target: |
5640 lines (+48/-5348) 24 files modified
.pc/0000-backported-cmake-additions.diff/Opcodes/CMakeLists.txt (+0/-161) .pc/0003-csoundac.patch/frontends/CsoundAC/CMakeLists.txt (+0/-132) .pc/0004-swig-java-package.patch/interfaces/CMakeLists.txt (+0/-148) .pc/1000-csoundac-cmake-bugfix.patch/frontends/CsoundAC/CMakeLists.txt (+0/-134) .pc/2000-avoid-nonfree-scansyn-plugin.diff/Opcodes/CMakeLists.txt (+0/-160) .pc/2001-lua-link.diff/frontends/CsoundAC/CMakeLists.txt (+0/-133) .pc/2001-lua-link.diff/interfaces/CMakeLists.txt (+0/-149) .pc/2004-fix-gettext.diff/Top/getstring.c (+0/-168) .pc/2007-apidoc-dotpath.patch/Doxyfile (+0/-1522) .pc/2008-apidoc-listings-pkg.patch/refman_header.tex (+0/-158) .pc/2013-no-rawwave-defined.diff/Opcodes/stk/stkOpcodes.cpp (+0/-723) .pc/2014-cmake-libsndfile-hack.patch/CMakeLists.txt (+0/-856) .pc/2020-libpthread-underlinkage.patch/CMakeLists.txt (+0/-864) .pc/applied-patches (+0/-12) CMakeLists.txt (+1/-9) Doxyfile (+1/-1) Opcodes/CMakeLists.txt (+6/-1) Opcodes/stk/stkOpcodes.cpp (+13/-7) Top/getstring.c (+4/-1) debian/changelog (+13/-0) debian/rules (+4/-0) frontends/CsoundAC/CMakeLists.txt (+4/-5) interfaces/CMakeLists.txt (+2/-3) refman_header.tex (+0/-1) |
To merge this branch: | bzr merge lp:~vibhavp/ubuntu/saucy/csound/merge-from-debian |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sebastien Bacher | Approve | ||
Ubuntu branches | Pending | ||
Review via email: mp+162768@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
- 30. By Vibhav Pant
-
* Merge from Debian unstable. Remaining Changes:
- Added missing pthread lib to link, fixing FTBFS.
Revision history for this message
Sebastien Bacher (seb128) wrote : | # |
could you also maybe send that patch/diff to debian so we could sync with them again later on?
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === removed directory '.pc/0000-backported-cmake-additions.diff' | |||
2 | === removed directory '.pc/0000-backported-cmake-additions.diff/Opcodes' | |||
3 | === removed file '.pc/0000-backported-cmake-additions.diff/Opcodes/CMakeLists.txt' | |||
4 | --- .pc/0000-backported-cmake-additions.diff/Opcodes/CMakeLists.txt 2012-06-16 10:01:58 +0000 | |||
5 | +++ .pc/0000-backported-cmake-additions.diff/Opcodes/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
6 | @@ -1,161 +0,0 @@ | |||
7 | 1 | option(BUILD_CHUA_OPCODES "Build the chua opcodes (requires boost)" ON) | ||
8 | 2 | option(BUILD_DSSI_OPCODES "Build the DSSI opcodes" ON) | ||
9 | 3 | option(BUILD_FLUID_OPCODES "Build the fluidsynth opcodes" ON) | ||
10 | 4 | option(BUILD_JACK_OPCODES "Build the JACK related opcodes" ON) | ||
11 | 5 | option(BUILD_LINEAR_ALGEBRA_OPCODES "Build the Linear Algebra Opcodes" ON) | ||
12 | 6 | option(BUILD_OSC_OPCODES "Build the OSC Opcodes" ON) | ||
13 | 7 | option(BUILD_IMAGE_OPCODES "Build the image opcodes" ON) | ||
14 | 8 | option(BUILD_PYTHON_OPCODES "Build the Python opcodes" ON) | ||
15 | 9 | option(BUILD_LUA_OPCODES "Build the Lua opcodes" ON) | ||
16 | 10 | option(BUILD_WIIMOTE_OPCODES "Build the Lua opcodes" ON) | ||
17 | 11 | |||
18 | 12 | find_package(Boost) | ||
19 | 13 | check_include_file(ladspa.h LADSPA_H) | ||
20 | 14 | check_include_file(fluidsynth.h FLUIDSYNTH_H) | ||
21 | 15 | find_library(JACK_LIBRARY jack) | ||
22 | 16 | find_library(JACKDMP_LIBRARY jackdmp) | ||
23 | 17 | check_include_file(jack/jack.h JACK_HEADER) | ||
24 | 18 | check_include_file_cxx(gmm/gmm.h GMM_HEADER) | ||
25 | 19 | check_include_file(lo/lo.h OSC_HEADER) | ||
26 | 20 | find_package(PNG) | ||
27 | 21 | find_package(PythonLibs) | ||
28 | 22 | find_package(Lua51) | ||
29 | 23 | check_include_file(wiiuse.h WIIUSE_H) | ||
30 | 24 | find_library(WIIUSE_LIB wiiuse) | ||
31 | 25 | |||
32 | 26 | ## OPCODE LIBS WITH NO EXTERNAL DEPENDENCIES ## | ||
33 | 27 | |||
34 | 28 | make_plugin(mixer mixer.cpp) | ||
35 | 29 | make_plugin(signalflowgraph signalflowgraph.cpp) | ||
36 | 30 | |||
37 | 31 | make_plugin(ampmidid ampmidid.cpp) | ||
38 | 32 | make_plugin(cs_date date.c) | ||
39 | 33 | make_plugin(system_call system_call.c) | ||
40 | 34 | make_plugin(doppler doppler.cpp) | ||
41 | 35 | make_plugin(fractalnoise tl/fractalnoise.cpp) | ||
42 | 36 | |||
43 | 37 | make_plugin(fareygen fareygen.c) | ||
44 | 38 | |||
45 | 39 | make_plugin(cellular cellular.c) | ||
46 | 40 | |||
47 | 41 | # temporarily do not build on Windows until these opcodes are fixed | ||
48 | 42 | # to compile | ||
49 | 43 | if(NOT WIN32) | ||
50 | 44 | make_plugin(udprecv sockrecv.c) | ||
51 | 45 | make_plugin(udpsend socksend.c) | ||
52 | 46 | |||
53 | 47 | endif() | ||
54 | 48 | |||
55 | 49 | set(scansyn_SRCS | ||
56 | 50 | scansyn.c scansynx.c) | ||
57 | 51 | make_plugin(scansyn "${scansyn_SRCS}" m) | ||
58 | 52 | |||
59 | 53 | if(UNIX) | ||
60 | 54 | make_plugin(control control.c) | ||
61 | 55 | endif() | ||
62 | 56 | |||
63 | 57 | if(LINUX) | ||
64 | 58 | make_plugin(urandom urandom.c) | ||
65 | 59 | endif() | ||
66 | 60 | |||
67 | 61 | ## OPCODES WITH EXTERNAL DEPENDENCIES ## | ||
68 | 62 | |||
69 | 63 | check_deps(BUILD_CHUA_OPCODES Boost_FOUND) | ||
70 | 64 | if(BUILD_CHUA_OPCODES) | ||
71 | 65 | include_directories(${Boost_INCLUDE_DIRS}) | ||
72 | 66 | make_plugin(chua chua/ChuaOscillator.cpp) | ||
73 | 67 | endif() | ||
74 | 68 | |||
75 | 69 | check_deps(BUILD_DSSI_OPCODES LADSPA_H) | ||
76 | 70 | if(BUILD_DSSI_OPCODES) | ||
77 | 71 | set(dssi_SRC dssi4cs/src/load.c dssi4cs/src/dssi4cs.c) | ||
78 | 72 | make_plugin(dssi4cs "${dssi_SRC}" dl) | ||
79 | 73 | endif() | ||
80 | 74 | |||
81 | 75 | check_deps(BUILD_FLUID_OPCODES FLUIDSYNTH_H) | ||
82 | 76 | if(BUILD_FLUID_OPCODES) | ||
83 | 77 | make_plugin(fluidOpcodes fluidOpcodes/fluidOpcodes.cpp fluidsynth) | ||
84 | 78 | endif() | ||
85 | 79 | |||
86 | 80 | set(JACK_LIB (JACK_LIBRARY OR JACKDMP_LIBRARY)) | ||
87 | 81 | check_deps(BUILD_JACK_OPCODES JACK_HEADER JACK_LIB) | ||
88 | 82 | if(BUILD_JACK_OPCODES) | ||
89 | 83 | set(jack_LIBS ${PTHREAD_LIBRARY}) | ||
90 | 84 | if(JACKDMP_LIBRARY) | ||
91 | 85 | list(APPEND jack_LIBS ${JACKDMP_LIBRARY}) | ||
92 | 86 | else() | ||
93 | 87 | list(APPEND jack_LIBS ${JACK_LIBRARY}) | ||
94 | 88 | endif() | ||
95 | 89 | make_plugin(jacko jacko.cpp "${jack_LIBS}") | ||
96 | 90 | make_plugin(jackTransport jackTransport.c "${jack_LIBS}") | ||
97 | 91 | endif() | ||
98 | 92 | |||
99 | 93 | check_deps(BUILD_LINEAR_ALGEBRA_OPCODES GMM_HEADER) | ||
100 | 94 | if(BUILD_LINEAR_ALGEBRA_OPCODES) | ||
101 | 95 | make_plugin(linear_algebra linear_algebra.cpp) | ||
102 | 96 | endif() | ||
103 | 97 | |||
104 | 98 | check_deps(BUILD_OSC_OPCODES OSC_HEADER) | ||
105 | 99 | if(BUILD_OSC_OPCODES) | ||
106 | 100 | make_plugin(osc OSC.c) | ||
107 | 101 | target_link_libraries(osc lo pthread) | ||
108 | 102 | endif() | ||
109 | 103 | |||
110 | 104 | check_deps(BUILD_IMAGE_OPCODES PNG_FOUND) | ||
111 | 105 | if(BUILD_IMAGE_OPCODES) | ||
112 | 106 | include_directories(${PNG_INCLUDE_DIR}) | ||
113 | 107 | make_plugin(image imageOpcodes.c "${PNG_LIBRARIES}") | ||
114 | 108 | set_target_properties(image | ||
115 | 109 | PROPERTIES COMPILER_FLAGS "${PNG_DEFINITIONS}") | ||
116 | 110 | endif() | ||
117 | 111 | |||
118 | 112 | check_deps(BUILD_PYTHON_OPCODES PYTHONLIBS_FOUND) | ||
119 | 113 | if(BUILD_PYTHON_OPCODES) | ||
120 | 114 | include_directories(${PYTHON_INCLUDE_DIRS}) | ||
121 | 115 | make_plugin(py py/pythonopcodes.c ${PYTHON_LIBRARIES}) | ||
122 | 116 | endif() | ||
123 | 117 | |||
124 | 118 | check_deps(BUILD_LUA_OPCODES LUA51_FOUND) | ||
125 | 119 | if(BUILD_LUA_OPCODES) | ||
126 | 120 | include_directories(${LUA_INCLUDE_DIR}) | ||
127 | 121 | make_plugin(LuaCsound LuaCsound.cpp ${LUA_LIBRARIES}) | ||
128 | 122 | endif() | ||
129 | 123 | |||
130 | 124 | check_deps(BUILD_WIIMOTE_OPCODES WIIUSE_H) | ||
131 | 125 | if(BUILD_WIIMOTE_OPCODES) | ||
132 | 126 | make_plugin(wiimote wiimote.c ${WIIUSE_LIB}) | ||
133 | 127 | endif() | ||
134 | 128 | |||
135 | 129 | |||
136 | 130 | # OGG Opcode previously was built only for OLPC | ||
137 | 131 | #if(VORBISFILE_LIBRARY) | ||
138 | 132 | # set(vorbis_LIBS ${libcsound_LIBS} ${VORBISFILE_LIBRARY}) | ||
139 | 133 | # make_plugin(ogg ogg.c "${vorbis_LIBS}") | ||
140 | 134 | #endif() | ||
141 | 135 | |||
142 | 136 | |||
143 | 137 | |||
144 | 138 | #set(sfont_FLAGS "") | ||
145 | 139 | |||
146 | 140 | #if(CMAKE_C_COMPILER MATCHES "gcc") | ||
147 | 141 | # set(sfont_FLAGS ${sfont_FLAGS} -fno-strict-aliasing) | ||
148 | 142 | #endif() | ||
149 | 143 | #if(BIG_ENDIAN) | ||
150 | 144 | # set(sfont_FLAGS ${sfont_FLAGS} -DWORDS_BIGENDIAN) | ||
151 | 145 | #endif() | ||
152 | 146 | #message(STATUS "Compiler flags used for sfont lib: ${sfont_FLAGS}") | ||
153 | 147 | #make_plugin(sfont sfont.c m) | ||
154 | 148 | #set_target_properties(sfont | ||
155 | 149 | # PROPERTIES COMPILER_FLAGS "${sfont_FLAGS}") | ||
156 | 150 | |||
157 | 151 | |||
158 | 152 | |||
159 | 153 | |||
160 | 154 | #if wiifound==1: | ||
161 | 155 | # WiiEnvironment = pluginEnvironment.Clone() | ||
162 | 156 | # makePlugin(WiiEnvironment, 'wiimote', ['wiimote.c']) | ||
163 | 157 | #if p5gfound==1: | ||
164 | 158 | # P5GEnvironment = pluginEnvironment.Clone() | ||
165 | 159 | # makePlugin(P5GEnvironment, 'p5g', ['p5glove.c']) | ||
166 | 160 | |||
167 | 161 | add_subdirectory(stk) | ||
168 | 162 | 0 | ||
169 | === removed directory '.pc/0003-csoundac.patch' | |||
170 | === removed directory '.pc/0003-csoundac.patch/frontends' | |||
171 | === removed directory '.pc/0003-csoundac.patch/frontends/CsoundAC' | |||
172 | === removed file '.pc/0003-csoundac.patch/frontends/CsoundAC/CMakeLists.txt' | |||
173 | --- .pc/0003-csoundac.patch/frontends/CsoundAC/CMakeLists.txt 2012-06-16 10:01:58 +0000 | |||
174 | +++ .pc/0003-csoundac.patch/frontends/CsoundAC/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
175 | @@ -1,132 +0,0 @@ | |||
176 | 1 | # Build CsoundAC | ||
177 | 2 | |||
178 | 3 | option(BUILD_CSOUND_AC "Build CsoundAC extension module for Csound with algorithmic composition (needs C++ interface)" ON) | ||
179 | 4 | option(BUILD_CSOUND_AC_PYTHON_INTERFACE "Build the Csound AC Python interface" ON) | ||
180 | 5 | option(BUILD_CSOUND_AC_LUA_INTERFACE "Build the Csound AC Lua interface" ON) | ||
181 | 6 | |||
182 | 7 | |||
183 | 8 | find_package(Boost) | ||
184 | 9 | find_library(MUSICXML_LIBRARY musicxml2) | ||
185 | 10 | find_package(FLTK) | ||
186 | 11 | find_package(SWIG) | ||
187 | 12 | find_package(PythonLibs) | ||
188 | 13 | find_package(Lua51) | ||
189 | 14 | |||
190 | 15 | check_deps(BUILD_CSOUND_AC Boost_FOUND BUILD_CXX_INTERFACE FLTK_FOUND LIBSNDFILE_LIBRARY) | ||
191 | 16 | check_deps(BUILD_CSOUND_AC_PYTHON_INTERFACE SWIG_FOUND PYTHONLIBS_FOUND) | ||
192 | 17 | check_deps(BUILD_CSOUND_AC_LUA_INTERFACE SWIG_FOUND LUA51_FOUND) | ||
193 | 18 | |||
194 | 19 | if(BUILD_CSOUND_AC) | ||
195 | 20 | include_directories(${CMAKE_HOME_DIRECTORY}/interfaces) | ||
196 | 21 | include_directories(${Boost_INCLUDE_DIRS}) | ||
197 | 22 | include_directories(${FLTK_INCLUDE_DIR}) | ||
198 | 23 | set(libcsoundac_SRCS | ||
199 | 24 | allegro.cpp | ||
200 | 25 | allegrord.cpp | ||
201 | 26 | allegroserial.cpp | ||
202 | 27 | allegrosmfrd.cpp | ||
203 | 28 | allegrosmfwr.cpp | ||
204 | 29 | allegrowr.cpp | ||
205 | 30 | Cell.cpp | ||
206 | 31 | ChordLindenmayer.cpp | ||
207 | 32 | cmake_install.cmake | ||
208 | 33 | Composition.cpp | ||
209 | 34 | Conversions.cpp | ||
210 | 35 | Counterpoint.cpp | ||
211 | 36 | CounterpointMain.cpp | ||
212 | 37 | CounterpointNode.cpp | ||
213 | 38 | Event.cpp | ||
214 | 39 | Hocket.cpp | ||
215 | 40 | ImageToScore.cpp | ||
216 | 41 | Lindenmayer.cpp | ||
217 | 42 | MCRM.cpp | ||
218 | 43 | mfmidi.cpp | ||
219 | 44 | Midifile.cpp | ||
220 | 45 | MusicModel.cpp | ||
221 | 46 | Node.cpp | ||
222 | 47 | Random.cpp | ||
223 | 48 | Rescale.cpp | ||
224 | 49 | Score.cpp | ||
225 | 50 | ScoreModel.cpp | ||
226 | 51 | ScoreNode.cpp | ||
227 | 52 | Sequence.cpp | ||
228 | 53 | Shell.cpp | ||
229 | 54 | Soundfile.cpp | ||
230 | 55 | StrangeAttractor.cpp | ||
231 | 56 | strparse.cpp | ||
232 | 57 | System.cpp | ||
233 | 58 | trace.cpp | ||
234 | 59 | Voicelead.cpp | ||
235 | 60 | VoiceleadingNode.cpp) | ||
236 | 61 | |||
237 | 62 | add_library(libCsoundAC SHARED ${libcsoundac_SRCS}) | ||
238 | 63 | set_target_properties(libCsoundAC PROPERTIES | ||
239 | 64 | LINK_INTERFACE_LIBRARIES "" | ||
240 | 65 | SOVERSION ${APIVERSION} | ||
241 | 66 | OUTPUT_NAME CsoundAC | ||
242 | 67 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR} | ||
243 | 68 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
244 | 69 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
245 | 70 | ) | ||
246 | 71 | target_link_libraries(libCsoundAC libcsnd ${FLTK_LIBRARIES} ${LIBSNDFILE_LIBRARY}) | ||
247 | 72 | |||
248 | 73 | if(MUSICXML_LIBRARY) | ||
249 | 74 | target_link_libraries(CsoundAC MUSICXML_LIBRARY) | ||
250 | 75 | endif() | ||
251 | 76 | |||
252 | 77 | install(TARGETS libCsoundAC | ||
253 | 78 | LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR} | ||
254 | 79 | ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR}) | ||
255 | 80 | |||
256 | 81 | if(SWIG_FOUND) | ||
257 | 82 | include(${SWIG_USE_FILE}) | ||
258 | 83 | set(CMAKE_SWIG_OUTDIR ${BUILD_LIB_DIR}) | ||
259 | 84 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}) | ||
260 | 85 | list(APPEND CMAKE_SWIG_FLAGS "-includeall" "-verbose") | ||
261 | 86 | endif() | ||
262 | 87 | |||
263 | 88 | if(BUILD_CSOUND_AC_PYTHON_INTERFACE) | ||
264 | 89 | message(STATUS "Building CsoundAC Python interface") | ||
265 | 90 | find_package(PythonLibs) | ||
266 | 91 | include_directories(${PYTHON_INCLUDE_PATH}) | ||
267 | 92 | set_source_files_properties(CsoundAC.i | ||
268 | 93 | PROPERTIES CPLUSPLUS ON | ||
269 | 94 | SWIG_MODULE_NAME CsoundAC) | ||
270 | 95 | swig_add_module(CsoundAC python CsoundAC.i) | ||
271 | 96 | swig_link_libraries(CsoundAC libCsoundAC ${PYTHON_LIBRARIES}) | ||
272 | 97 | |||
273 | 98 | set_target_properties(${SWIG_MODULE_CsoundAC_REAL_NAME} PROPERTIES | ||
274 | 99 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
275 | 100 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
276 | 101 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}) | ||
277 | 102 | |||
278 | 103 | install(TARGETS ${SWIG_MODULE_CsoundAC_REAL_NAME} | ||
279 | 104 | LIBRARY DESTINATION "${PYTHON_MODULE_INSTALL_DIR}" | ||
280 | 105 | ARCHIVE DESTINATION "${PYTHON_MODULE_INSTALL_DIR}") | ||
281 | 106 | install(FILES ${BUILD_LIB_DIR}/CsoundAC.py | ||
282 | 107 | DESTINATION ${PYTHON_MODULE_INSTALL_DIR}) | ||
283 | 108 | endif() | ||
284 | 109 | |||
285 | 110 | if(BUILD_CSOUND_AC_LUA_INTERFACE) | ||
286 | 111 | message(STATUS "Building CsoundAC Lua interface") | ||
287 | 112 | find_package(Lua51) | ||
288 | 113 | include_directories(${LUA_INCLUDE_DIR}) | ||
289 | 114 | |||
290 | 115 | SET_SOURCE_FILES_PROPERTIES(luaCsoundAC.i | ||
291 | 116 | PROPERTIES CPLUSPLUS ON | ||
292 | 117 | SWIG_MODULE_NAME luaCsoundAC) | ||
293 | 118 | SWIG_ADD_MODULE(luaCsoundAC lua luaCsoundAC.i) | ||
294 | 119 | SWIG_LINK_LIBRARIES(luaCsoundAC libCsoundAC ${LUA_LIBRARIES}) | ||
295 | 120 | |||
296 | 121 | set_target_properties(${SWIG_MODULE_luaCsoundAC_REAL_NAME} PROPERTIES | ||
297 | 122 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
298 | 123 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
299 | 124 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
300 | 125 | PREFIX "") | ||
301 | 126 | |||
302 | 127 | install(TARGETS luaCsoundAC | ||
303 | 128 | LIBRARY DESTINATION "${LUA_MODULE_INSTALL_DIR}" | ||
304 | 129 | ARCHIVE DESTINATION "${LUA_MODULE_INSTALL_DIR}") | ||
305 | 130 | endif() | ||
306 | 131 | |||
307 | 132 | endif() | ||
308 | 133 | 0 | ||
309 | === removed directory '.pc/0004-swig-java-package.patch' | |||
310 | === removed directory '.pc/0004-swig-java-package.patch/interfaces' | |||
311 | === removed file '.pc/0004-swig-java-package.patch/interfaces/CMakeLists.txt' | |||
312 | --- .pc/0004-swig-java-package.patch/interfaces/CMakeLists.txt 2012-09-28 18:56:24 +0000 | |||
313 | +++ .pc/0004-swig-java-package.patch/interfaces/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
314 | @@ -1,148 +0,0 @@ | |||
315 | 1 | ## Language bindings ## | ||
316 | 2 | |||
317 | 3 | # C++ INTERFACE LIBRARY | ||
318 | 4 | |||
319 | 5 | option(BUILD_CXX_INTERFACE "Build the C++ interface library" ON) | ||
320 | 6 | option(BUILD_PYTHON_INTERFACE "Build the Python interface (needs BUILD_CXX_INTERFACE)" ON) | ||
321 | 7 | option(BUILD_JAVA_INTERFACE "Build the Java interface (needs BUILD_CXX_INTERFACE)" ON) | ||
322 | 8 | option(BUILD_LUA_INTERFACE "Build the Lua interface (needs BUILD_CXX_INTERFACE)" ON) | ||
323 | 9 | |||
324 | 10 | if(BUILD_CXX_INTERFACE) | ||
325 | 11 | message(STATUS "Building C++ interface library") | ||
326 | 12 | set(libcsnd_SRCS | ||
327 | 13 | CppSound.cpp | ||
328 | 14 | CsoundFile.cpp | ||
329 | 15 | Soundfile.cpp | ||
330 | 16 | csPerfThread.cpp | ||
331 | 17 | cs_glue.cpp | ||
332 | 18 | filebuilding.cpp) | ||
333 | 19 | set(libcsnd_LIBS ${LIBSNDFILE_LIBRARY}) | ||
334 | 20 | set(libcsnd_CFLAGS "") | ||
335 | 21 | list(APPEND libcsnd_LIBS ${CSOUNDLIB}) | ||
336 | 22 | |||
337 | 23 | add_library(libcsnd SHARED ${libcsnd_SRCS}) | ||
338 | 24 | target_link_libraries(libcsnd ${libcsnd_LIBS}) | ||
339 | 25 | set_target_properties(libcsnd PROPERTIES | ||
340 | 26 | LINK_INTERFACE_LIBRARIES "" | ||
341 | 27 | SOVERSION ${APIVERSION} | ||
342 | 28 | OUTPUT_NAME csnd | ||
343 | 29 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR} | ||
344 | 30 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
345 | 31 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
346 | 32 | ) | ||
347 | 33 | if(${libcsnd_CFLAGS}) | ||
348 | 34 | add_compiler_flags(${libcsnd_CFLAGS} TARGETS libcsnd) | ||
349 | 35 | endif() | ||
350 | 36 | |||
351 | 37 | install(TARGETS libcsnd | ||
352 | 38 | LIBRARY DESTINATION "${LIBRARY_INSTALL_DIR}" | ||
353 | 39 | ARCHIVE DESTINATION "${LIBRARY_INSTALL_DIR}") | ||
354 | 40 | |||
355 | 41 | endif() | ||
356 | 42 | |||
357 | 43 | |||
358 | 44 | # SWIG INTERFACES | ||
359 | 45 | FIND_PACKAGE(SWIG) | ||
360 | 46 | FIND_PACKAGE(PythonLibs) | ||
361 | 47 | FIND_PACKAGE(JNI) | ||
362 | 48 | FIND_PACKAGE(Java) | ||
363 | 49 | FIND_PACKAGE(Lua51) | ||
364 | 50 | |||
365 | 51 | check_deps(BUILD_PYTHON_INTERFACE SWIG_FOUND BUILD_CXX_INTERFACE PYTHONLIBS_FOUND) | ||
366 | 52 | check_deps(BUILD_JAVA_INTERFACE SWIG_FOUND BUILD_CXX_INTERFACE JNI_FOUND JAVA_FOUND) | ||
367 | 53 | check_deps(BUILD_LUA_INTERFACE SWIG_FOUND BUILD_CXX_INTERFACE LUA51_FOUND) | ||
368 | 54 | |||
369 | 55 | if(BUILD_PYTHON_INTERFACE OR BUILD_JAVA_INTERFACE OR BUILD_LUA_INTERFACE) | ||
370 | 56 | |||
371 | 57 | include(${SWIG_USE_FILE}) | ||
372 | 58 | |||
373 | 59 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}) | ||
374 | 60 | |||
375 | 61 | set(CMAKE_SWIG_FLAGS ${libcsound_CFLAGS}) | ||
376 | 62 | list(APPEND CMAKE_SWIG_FLAGS "-includeall" "-verbose") | ||
377 | 63 | |||
378 | 64 | if(USE_DOUBLE) | ||
379 | 65 | list(APPEND CMAKE_SWIG_FLAGS "-DUSE_DOUBLE") | ||
380 | 66 | endif(USE_DOUBLE) | ||
381 | 67 | |||
382 | 68 | set(CMAKE_SWIG_OUTDIR ${BUILD_LIB_DIR}) | ||
383 | 69 | |||
384 | 70 | if(BUILD_PYTHON_INTERFACE) | ||
385 | 71 | INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH}) | ||
386 | 72 | |||
387 | 73 | set(swigpython_LIBS ${PYTHON_LIBRARIES} ${CSOUNDLIB} ${LIBSNDFILE_LIBRARY} libcsnd) | ||
388 | 74 | |||
389 | 75 | SET_SOURCE_FILES_PROPERTIES(python_interface.i | ||
390 | 76 | PROPERTIES CPLUSPLUS ON | ||
391 | 77 | SWIG_MODULE_NAME csnd) | ||
392 | 78 | SWIG_ADD_MODULE(csnd python python_interface.i) | ||
393 | 79 | SWIG_LINK_LIBRARIES(csnd ${swigpython_LIBS}) | ||
394 | 80 | |||
395 | 81 | set_target_properties(${SWIG_MODULE_csnd_REAL_NAME} PROPERTIES | ||
396 | 82 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
397 | 83 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
398 | 84 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}) | ||
399 | 85 | |||
400 | 86 | install(TARGETS ${SWIG_MODULE_csnd_REAL_NAME} | ||
401 | 87 | LIBRARY DESTINATION "${PYTHON_MODULE_INSTALL_DIR}" | ||
402 | 88 | ARCHIVE DESTINATION "${PYTHON_MODULE_INSTALL_DIR}") | ||
403 | 89 | install(FILES ${BUILD_LIB_DIR}/csnd.py | ||
404 | 90 | DESTINATION ${PYTHON_MODULE_INSTALL_DIR}) | ||
405 | 91 | |||
406 | 92 | endif() | ||
407 | 93 | |||
408 | 94 | if(BUILD_JAVA_INTERFACE) | ||
409 | 95 | # The java package needs this unset or it will litter us with .java files | ||
410 | 96 | unset(CMAKE_SWIG_OUTDIR) | ||
411 | 97 | INCLUDE_DIRECTORIES(${JNI_INCLUDE_DIRS}) | ||
412 | 98 | set(swigjava_LIBS ${JNI_LIBRARIES} ${CSOUNDLIB} ${LIBSNDFILE_LIBRARY} libcsnd) | ||
413 | 99 | |||
414 | 100 | SET_SOURCE_FILES_PROPERTIES(java_interface.i PROPERTIES CPLUSPLUS ON) | ||
415 | 101 | SET_SOURCE_FILES_PROPERTIES(java_interface.i SWIG_FLAGS "-package" "csnd") | ||
416 | 102 | SWIG_ADD_MODULE(_jcsound java java_interface.i) | ||
417 | 103 | SWIG_LINK_LIBRARIES(_jcsound ${swigjava_LIBS}) | ||
418 | 104 | |||
419 | 105 | ADD_CUSTOM_COMMAND(TARGET _jcsound | ||
420 | 106 | POST_BUILD | ||
421 | 107 | COMMAND cmake -E make_directory ./csnd | ||
422 | 108 | COMMAND ${JAVA_COMPILE} *.java -d ./csnd | ||
423 | 109 | COMMAND ${JAVA_ARCHIVE} cf ../csnd.jar csnd | ||
424 | 110 | COMMENT "Building JAVA package csnd.jar") | ||
425 | 111 | |||
426 | 112 | set_target_properties(_jcsound PROPERTIES | ||
427 | 113 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
428 | 114 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
429 | 115 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}) | ||
430 | 116 | |||
431 | 117 | install(TARGETS _jcsound | ||
432 | 118 | LIBRARY DESTINATION "${JAVA_MODULE_INSTALL_DIR}" | ||
433 | 119 | ARCHIVE DESTINATION "${JAVA_MODULE_INSTALL_DIR}") | ||
434 | 120 | install(FILES ${BUILD_LIB_DIR}/csnd.jar | ||
435 | 121 | DESTINATION ${JAVA_MODULE_INSTALL_DIR}) | ||
436 | 122 | |||
437 | 123 | endif() | ||
438 | 124 | |||
439 | 125 | if(BUILD_LUA_INTERFACE) | ||
440 | 126 | INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR}) | ||
441 | 127 | |||
442 | 128 | set(swiglua_LIBS ${LUA_LIBRARIES} ${CSOUNDLIB} libcsnd) | ||
443 | 129 | |||
444 | 130 | SET_SOURCE_FILES_PROPERTIES(lua_interface.i | ||
445 | 131 | PROPERTIES CPLUSPLUS ON | ||
446 | 132 | SWIG_MODULE_NAME luaCsnd) | ||
447 | 133 | SWIG_ADD_MODULE(luaCsnd lua lua_interface.i) | ||
448 | 134 | SWIG_LINK_LIBRARIES(luaCsnd ${swiglua_LIBS}) | ||
449 | 135 | |||
450 | 136 | set_target_properties(${SWIG_MODULE_luaCsnd_REAL_NAME} PROPERTIES | ||
451 | 137 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
452 | 138 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
453 | 139 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
454 | 140 | PREFIX "") | ||
455 | 141 | |||
456 | 142 | install(TARGETS luaCsnd | ||
457 | 143 | LIBRARY DESTINATION "${LUA_MODULE_INSTALL_DIR}" | ||
458 | 144 | ARCHIVE DESTINATION "${LUA_MODULE_INSTALL_DIR}") | ||
459 | 145 | |||
460 | 146 | endif() | ||
461 | 147 | |||
462 | 148 | endif() | ||
463 | 149 | 0 | ||
464 | === removed directory '.pc/1000-csoundac-cmake-bugfix.patch' | |||
465 | === removed directory '.pc/1000-csoundac-cmake-bugfix.patch/frontends' | |||
466 | === removed directory '.pc/1000-csoundac-cmake-bugfix.patch/frontends/CsoundAC' | |||
467 | === removed file '.pc/1000-csoundac-cmake-bugfix.patch/frontends/CsoundAC/CMakeLists.txt' | |||
468 | --- .pc/1000-csoundac-cmake-bugfix.patch/frontends/CsoundAC/CMakeLists.txt 2012-06-16 10:01:58 +0000 | |||
469 | +++ .pc/1000-csoundac-cmake-bugfix.patch/frontends/CsoundAC/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
470 | @@ -1,134 +0,0 @@ | |||
471 | 1 | # Build CsoundAC | ||
472 | 2 | |||
473 | 3 | option(BUILD_CSOUND_AC "Build CsoundAC extension module for Csound with algorithmic composition (needs C++ interface)" ON) | ||
474 | 4 | option(BUILD_CSOUND_AC_PYTHON_INTERFACE "Build the Csound AC Python interface" ON) | ||
475 | 5 | option(BUILD_CSOUND_AC_LUA_INTERFACE "Build the Csound AC Lua interface" ON) | ||
476 | 6 | |||
477 | 7 | |||
478 | 8 | find_package(Boost) | ||
479 | 9 | find_library(MUSICXML_LIBRARY musicxml2) | ||
480 | 10 | find_package(FLTK) | ||
481 | 11 | find_package(SWIG) | ||
482 | 12 | find_package(PythonLibs) | ||
483 | 13 | find_package(Lua51) | ||
484 | 14 | |||
485 | 15 | check_deps(BUILD_CSOUND_AC Boost_FOUND BUILD_CXX_INTERFACE FLTK_FOUND LIBSNDFILE_LIBRARY) | ||
486 | 16 | check_deps(BUILD_CSOUND_AC_PYTHON_INTERFACE SWIG_FOUND PYTHONLIBS_FOUND) | ||
487 | 17 | check_deps(BUILD_CSOUND_AC_LUA_INTERFACE SWIG_FOUND LUA51_FOUND) | ||
488 | 18 | |||
489 | 19 | if(BUILD_CSOUND_AC) | ||
490 | 20 | include_directories(${CMAKE_HOME_DIRECTORY}/interfaces) | ||
491 | 21 | include_directories(${Boost_INCLUDE_DIRS}) | ||
492 | 22 | include_directories(${FLTK_INCLUDE_DIR}) | ||
493 | 23 | set(libcsoundac_SRCS | ||
494 | 24 | allegro.cpp | ||
495 | 25 | allegrord.cpp | ||
496 | 26 | allegroserial.cpp | ||
497 | 27 | allegrosmfrd.cpp | ||
498 | 28 | allegrosmfwr.cpp | ||
499 | 29 | allegrowr.cpp | ||
500 | 30 | Cell.cpp | ||
501 | 31 | ChordLindenmayer.cpp | ||
502 | 32 | cmake_install.cmake | ||
503 | 33 | Composition.cpp | ||
504 | 34 | Conversions.cpp | ||
505 | 35 | Counterpoint.cpp | ||
506 | 36 | CounterpointMain.cpp | ||
507 | 37 | CounterpointNode.cpp | ||
508 | 38 | Event.cpp | ||
509 | 39 | Hocket.cpp | ||
510 | 40 | ImageToScore.cpp | ||
511 | 41 | Lindenmayer.cpp | ||
512 | 42 | MCRM.cpp | ||
513 | 43 | mfmidi.cpp | ||
514 | 44 | Midifile.cpp | ||
515 | 45 | MusicModel.cpp | ||
516 | 46 | Node.cpp | ||
517 | 47 | Random.cpp | ||
518 | 48 | Rescale.cpp | ||
519 | 49 | Score.cpp | ||
520 | 50 | ScoreModel.cpp | ||
521 | 51 | ScoreNode.cpp | ||
522 | 52 | Sequence.cpp | ||
523 | 53 | Shell.cpp | ||
524 | 54 | Soundfile.cpp | ||
525 | 55 | StrangeAttractor.cpp | ||
526 | 56 | strparse.cpp | ||
527 | 57 | System.cpp | ||
528 | 58 | trace.cpp | ||
529 | 59 | Voicelead.cpp | ||
530 | 60 | VoiceleadingNode.cpp) | ||
531 | 61 | |||
532 | 62 | add_library(libCsoundAC SHARED ${libcsoundac_SRCS}) | ||
533 | 63 | set_target_properties(libCsoundAC PROPERTIES | ||
534 | 64 | LINK_INTERFACE_LIBRARIES "" | ||
535 | 65 | SOVERSION ${APIVERSION} | ||
536 | 66 | OUTPUT_NAME CsoundAC | ||
537 | 67 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR} | ||
538 | 68 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
539 | 69 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
540 | 70 | ) | ||
541 | 71 | target_link_libraries(libCsoundAC libcsnd ${FLTK_LIBRARIES} ${LIBSNDFILE_LIBRARY} ${CSOUNDLIB}) | ||
542 | 72 | add_compiler_flags(-pthread TARGETS libCsoundAC) | ||
543 | 73 | add_compiler_flags(-pthread TARGETS libCsoundAC LINKER) | ||
544 | 74 | |||
545 | 75 | if(MUSICXML_LIBRARY) | ||
546 | 76 | target_link_libraries(CsoundAC MUSICXML_LIBRARY) | ||
547 | 77 | endif() | ||
548 | 78 | |||
549 | 79 | install(TARGETS libCsoundAC | ||
550 | 80 | LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR} | ||
551 | 81 | ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR}) | ||
552 | 82 | |||
553 | 83 | if(SWIG_FOUND) | ||
554 | 84 | include(${SWIG_USE_FILE}) | ||
555 | 85 | set(CMAKE_SWIG_OUTDIR ${BUILD_LIB_DIR}) | ||
556 | 86 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}) | ||
557 | 87 | list(APPEND CMAKE_SWIG_FLAGS "-includeall" "-verbose") | ||
558 | 88 | endif() | ||
559 | 89 | |||
560 | 90 | if(BUILD_CSOUND_AC_PYTHON_INTERFACE) | ||
561 | 91 | message(STATUS "Building CsoundAC Python interface") | ||
562 | 92 | find_package(PythonLibs) | ||
563 | 93 | include_directories(${PYTHON_INCLUDE_PATH}) | ||
564 | 94 | set_source_files_properties(CsoundAC.i | ||
565 | 95 | PROPERTIES CPLUSPLUS ON | ||
566 | 96 | SWIG_MODULE_NAME CsoundAC) | ||
567 | 97 | swig_add_module(CsoundAC python CsoundAC.i) | ||
568 | 98 | swig_link_libraries(CsoundAC libCsoundAC ${PYTHON_LIBRARIES} libcsnd ${CSOUNDLIB}) | ||
569 | 99 | |||
570 | 100 | set_target_properties(${SWIG_MODULE_CsoundAC_REAL_NAME} PROPERTIES | ||
571 | 101 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
572 | 102 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
573 | 103 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}) | ||
574 | 104 | |||
575 | 105 | install(TARGETS ${SWIG_MODULE_CsoundAC_REAL_NAME} | ||
576 | 106 | LIBRARY DESTINATION "${PYTHON_MODULE_INSTALL_DIR}" | ||
577 | 107 | ARCHIVE DESTINATION "${PYTHON_MODULE_INSTALL_DIR}") | ||
578 | 108 | install(FILES ${BUILD_LIB_DIR}/CsoundAC.py | ||
579 | 109 | DESTINATION ${PYTHON_MODULE_INSTALL_DIR}) | ||
580 | 110 | endif() | ||
581 | 111 | |||
582 | 112 | if(BUILD_CSOUND_AC_LUA_INTERFACE) | ||
583 | 113 | message(STATUS "Building CsoundAC Lua interface") | ||
584 | 114 | find_package(Lua51) | ||
585 | 115 | include_directories(${LUA_INCLUDE_DIR}) | ||
586 | 116 | |||
587 | 117 | SET_SOURCE_FILES_PROPERTIES(luaCsoundAC.i | ||
588 | 118 | PROPERTIES CPLUSPLUS ON | ||
589 | 119 | SWIG_MODULE_NAME luaCsoundAC) | ||
590 | 120 | SWIG_ADD_MODULE(luaCsoundAC lua luaCsoundAC.i) | ||
591 | 121 | SWIG_LINK_LIBRARIES(luaCsoundAC libCsoundAC ${LUA_LIBRARIES}) | ||
592 | 122 | |||
593 | 123 | set_target_properties(${SWIG_MODULE_luaCsoundAC_REAL_NAME} PROPERTIES | ||
594 | 124 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
595 | 125 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
596 | 126 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
597 | 127 | PREFIX "") | ||
598 | 128 | |||
599 | 129 | install(TARGETS luaCsoundAC | ||
600 | 130 | LIBRARY DESTINATION "${LUA_MODULE_INSTALL_DIR}" | ||
601 | 131 | ARCHIVE DESTINATION "${LUA_MODULE_INSTALL_DIR}") | ||
602 | 132 | endif() | ||
603 | 133 | |||
604 | 134 | endif() | ||
605 | 135 | 0 | ||
606 | === removed directory '.pc/2000-avoid-nonfree-scansyn-plugin.diff' | |||
607 | === removed directory '.pc/2000-avoid-nonfree-scansyn-plugin.diff/Opcodes' | |||
608 | === removed file '.pc/2000-avoid-nonfree-scansyn-plugin.diff/Opcodes/CMakeLists.txt' | |||
609 | --- .pc/2000-avoid-nonfree-scansyn-plugin.diff/Opcodes/CMakeLists.txt 2012-04-19 09:26:46 +0000 | |||
610 | +++ .pc/2000-avoid-nonfree-scansyn-plugin.diff/Opcodes/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
611 | @@ -1,160 +0,0 @@ | |||
612 | 1 | option(BUILD_CHUA_OPCODES "Build the chua opcodes (requires boost)" ON) | ||
613 | 2 | option(BUILD_DSSI_OPCODES "Build the DSSI opcodes" ON) | ||
614 | 3 | option(BUILD_FLUID_OPCODES "Build the fluidsynth opcodes" ON) | ||
615 | 4 | option(BUILD_JACK_OPCODES "Build the JACK related opcodes" ON) | ||
616 | 5 | option(BUILD_LINEAR_ALGEBRA_OPCODES "Build the Linear Algebra Opcodes" ON) | ||
617 | 6 | option(BUILD_OSC_OPCODES "Build the OSC Opcodes" ON) | ||
618 | 7 | option(BUILD_IMAGE_OPCODES "Build the image opcodes" ON) | ||
619 | 8 | option(BUILD_PYTHON_OPCODES "Build the Python opcodes" ON) | ||
620 | 9 | option(BUILD_LUA_OPCODES "Build the Lua opcodes" ON) | ||
621 | 10 | option(BUILD_WIIMOTE_OPCODES "Build the Lua opcodes" ON) | ||
622 | 11 | |||
623 | 12 | find_package(Boost) | ||
624 | 13 | check_include_file(ladspa.h LADSPA_H) | ||
625 | 14 | check_include_file(fluidsynth.h FLUIDSYNTH_H) | ||
626 | 15 | find_library(JACK_LIBRARY jack) | ||
627 | 16 | find_library(JACKDMP_LIBRARY jackdmp) | ||
628 | 17 | check_include_file(jack/jack.h JACK_HEADER) | ||
629 | 18 | check_include_file_cxx(gmm/gmm.h GMM_HEADER) | ||
630 | 19 | check_include_file(lo/lo.h OSC_HEADER) | ||
631 | 20 | find_package(PNG) | ||
632 | 21 | find_package(PythonLibs) | ||
633 | 22 | find_package(Lua51) | ||
634 | 23 | check_include_file(wiiuse.h WIIUSE_H) | ||
635 | 24 | find_library(WIIUSE_LIB wiiuse) | ||
636 | 25 | |||
637 | 26 | ## OPCODE LIBS WITH NO EXTERNAL DEPENDENCIES ## | ||
638 | 27 | |||
639 | 28 | make_plugin(mixer mixer.cpp) | ||
640 | 29 | make_plugin(signalflowgraph signalflowgraph.cpp) | ||
641 | 30 | |||
642 | 31 | make_plugin(ampmidid ampmidid.cpp) | ||
643 | 32 | make_plugin(cs_date date.c) | ||
644 | 33 | make_plugin(system_call system_call.c) | ||
645 | 34 | make_plugin(doppler doppler.cpp) | ||
646 | 35 | make_plugin(fractalnoise tl/fractalnoise.cpp) | ||
647 | 36 | |||
648 | 37 | make_plugin(fareygen fareygen.c) | ||
649 | 38 | |||
650 | 39 | make_plugin(cellular cellular.c) | ||
651 | 40 | |||
652 | 41 | # temporarily do not build on Windows until these opcodes are fixed | ||
653 | 42 | # to compile | ||
654 | 43 | if(NOT WIN32) | ||
655 | 44 | make_plugin(udprecv sockrecv.c) | ||
656 | 45 | make_plugin(udpsend socksend.c) | ||
657 | 46 | |||
658 | 47 | endif() | ||
659 | 48 | |||
660 | 49 | set(scansyn_SRCS | ||
661 | 50 | scansyn.c scansynx.c) | ||
662 | 51 | make_plugin(scansyn "${scansyn_SRCS}" m) | ||
663 | 52 | |||
664 | 53 | if(UNIX) | ||
665 | 54 | make_plugin(control control.c) | ||
666 | 55 | endif() | ||
667 | 56 | |||
668 | 57 | if(LINUX) | ||
669 | 58 | make_plugin(urandom urandom.c) | ||
670 | 59 | endif() | ||
671 | 60 | |||
672 | 61 | ## OPCODES WITH EXTERNAL DEPENDENCIES ## | ||
673 | 62 | |||
674 | 63 | check_deps(BUILD_CHUA_OPCODES Boost_FOUND) | ||
675 | 64 | if(BUILD_CHUA_OPCODES) | ||
676 | 65 | include_directories(${Boost_INCLUDE_DIRS}) | ||
677 | 66 | make_plugin(chua chua/ChuaOscillator.cpp) | ||
678 | 67 | endif() | ||
679 | 68 | |||
680 | 69 | check_deps(BUILD_DSSI_OPCODES LADSPA_H) | ||
681 | 70 | if(BUILD_DSSI_OPCODES) | ||
682 | 71 | set(dssi_SRC dssi4cs/src/load.c dssi4cs/src/dssi4cs.c) | ||
683 | 72 | make_plugin(dssi4cs "${dssi_SRC}" dl) | ||
684 | 73 | endif() | ||
685 | 74 | |||
686 | 75 | check_deps(BUILD_FLUID_OPCODES FLUIDSYNTH_H) | ||
687 | 76 | if(BUILD_FLUID_OPCODES) | ||
688 | 77 | make_plugin(fluidOpcodes fluidOpcodes/fluidOpcodes.cpp fluidsynth) | ||
689 | 78 | endif() | ||
690 | 79 | |||
691 | 80 | set(JACK_LIB (JACK_LIBRARY OR JACKDMP_LIBRARY)) | ||
692 | 81 | check_deps(BUILD_JACK_OPCODES JACK_HEADER JACK_LIB) | ||
693 | 82 | if(BUILD_JACK_OPCODES) | ||
694 | 83 | set(jack_LIBS ${PTHREAD_LIBRARY}) | ||
695 | 84 | if(JACKDMP_LIBRARY) | ||
696 | 85 | list(APPEND jack_LIBS ${JACKDMP_LIBRARY}) | ||
697 | 86 | else() | ||
698 | 87 | list(APPEND jack_LIBS ${JACK_LIBRARY}) | ||
699 | 88 | endif() | ||
700 | 89 | make_plugin(jacko jacko.cpp "${jack_LIBS}") | ||
701 | 90 | make_plugin(jackTransport jackTransport.c "${jack_LIBS}") | ||
702 | 91 | endif() | ||
703 | 92 | |||
704 | 93 | check_deps(BUILD_LINEAR_ALGEBRA_OPCODES GMM_HEADER) | ||
705 | 94 | if(BUILD_LINEAR_ALGEBRA_OPCODES) | ||
706 | 95 | make_plugin(linear_algebra linear_algebra.cpp) | ||
707 | 96 | endif() | ||
708 | 97 | |||
709 | 98 | check_deps(BUILD_OSC_OPCODES OSC_HEADER) | ||
710 | 99 | if(BUILD_OSC_OPCODES) | ||
711 | 100 | make_plugin(osc OSC.c) | ||
712 | 101 | target_link_libraries(osc lo pthread) | ||
713 | 102 | endif() | ||
714 | 103 | |||
715 | 104 | check_deps(BUILD_IMAGE_OPCODES PNG_FOUND) | ||
716 | 105 | if(BUILD_IMAGE_OPCODES) | ||
717 | 106 | include_directories(${PNG_INCLUDE_DIR}) | ||
718 | 107 | make_plugin(image imageOpcodes.c "${PNG_LIBRARIES}") | ||
719 | 108 | add_compiler_flags(${PNG_DEFINITIONS} TARGETS image) | ||
720 | 109 | endif() | ||
721 | 110 | |||
722 | 111 | check_deps(BUILD_PYTHON_OPCODES PYTHONLIBS_FOUND) | ||
723 | 112 | if(BUILD_PYTHON_OPCODES) | ||
724 | 113 | include_directories(${PYTHON_INCLUDE_DIRS}) | ||
725 | 114 | make_plugin(py py/pythonopcodes.c ${PYTHON_LIBRARIES}) | ||
726 | 115 | endif() | ||
727 | 116 | |||
728 | 117 | check_deps(BUILD_LUA_OPCODES LUA51_FOUND) | ||
729 | 118 | if(BUILD_LUA_OPCODES) | ||
730 | 119 | include_directories(${LUA_INCLUDE_DIR}) | ||
731 | 120 | make_plugin(LuaCsound LuaCsound.cpp ${LUA_LIBRARIES}) | ||
732 | 121 | endif() | ||
733 | 122 | |||
734 | 123 | check_deps(BUILD_WIIMOTE_OPCODES WIIUSE_H) | ||
735 | 124 | if(BUILD_WIIMOTE_OPCODES) | ||
736 | 125 | make_plugin(wiimote wiimote.c ${WIIUSE_LIB}) | ||
737 | 126 | endif() | ||
738 | 127 | |||
739 | 128 | |||
740 | 129 | # OGG Opcode previously was built only for OLPC | ||
741 | 130 | #if(VORBISFILE_LIBRARY) | ||
742 | 131 | # set(vorbis_LIBS ${libcsound_LIBS} ${VORBISFILE_LIBRARY}) | ||
743 | 132 | # make_plugin(ogg ogg.c "${vorbis_LIBS}") | ||
744 | 133 | #endif() | ||
745 | 134 | |||
746 | 135 | |||
747 | 136 | |||
748 | 137 | #set(sfont_FLAGS "") | ||
749 | 138 | |||
750 | 139 | #if(CMAKE_C_COMPILER MATCHES "gcc") | ||
751 | 140 | # set(sfont_FLAGS ${sfont_FLAGS} -fno-strict-aliasing) | ||
752 | 141 | #endif() | ||
753 | 142 | #if(BIG_ENDIAN) | ||
754 | 143 | # set(sfont_FLAGS ${sfont_FLAGS} -DWORDS_BIGENDIAN) | ||
755 | 144 | #endif() | ||
756 | 145 | #message(STATUS "Compiler flags used for sfont lib: ${sfont_FLAGS}") | ||
757 | 146 | #make_plugin(sfont sfont.c m) | ||
758 | 147 | #set_target_properties(sfont | ||
759 | 148 | # PROPERTIES COMPILER_FLAGS "${sfont_FLAGS}") | ||
760 | 149 | |||
761 | 150 | |||
762 | 151 | |||
763 | 152 | |||
764 | 153 | #if wiifound==1: | ||
765 | 154 | # WiiEnvironment = pluginEnvironment.Clone() | ||
766 | 155 | # makePlugin(WiiEnvironment, 'wiimote', ['wiimote.c']) | ||
767 | 156 | #if p5gfound==1: | ||
768 | 157 | # P5GEnvironment = pluginEnvironment.Clone() | ||
769 | 158 | # makePlugin(P5GEnvironment, 'p5g', ['p5glove.c']) | ||
770 | 159 | |||
771 | 160 | add_subdirectory(stk) | ||
772 | 161 | 0 | ||
773 | === removed directory '.pc/2001-lua-link.diff' | |||
774 | === removed directory '.pc/2001-lua-link.diff/frontends' | |||
775 | === removed directory '.pc/2001-lua-link.diff/frontends/CsoundAC' | |||
776 | === removed file '.pc/2001-lua-link.diff/frontends/CsoundAC/CMakeLists.txt' | |||
777 | --- .pc/2001-lua-link.diff/frontends/CsoundAC/CMakeLists.txt 2012-06-16 10:01:58 +0000 | |||
778 | +++ .pc/2001-lua-link.diff/frontends/CsoundAC/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
779 | @@ -1,133 +0,0 @@ | |||
780 | 1 | # Build CsoundAC | ||
781 | 2 | |||
782 | 3 | option(BUILD_CSOUND_AC "Build CsoundAC extension module for Csound with algorithmic composition (needs C++ interface)" ON) | ||
783 | 4 | option(BUILD_CSOUND_AC_PYTHON_INTERFACE "Build the Csound AC Python interface" ON) | ||
784 | 5 | option(BUILD_CSOUND_AC_LUA_INTERFACE "Build the Csound AC Lua interface" ON) | ||
785 | 6 | |||
786 | 7 | |||
787 | 8 | find_package(Boost) | ||
788 | 9 | find_library(MUSICXML_LIBRARY musicxml2) | ||
789 | 10 | find_package(FLTK) | ||
790 | 11 | find_package(SWIG) | ||
791 | 12 | find_package(PythonLibs) | ||
792 | 13 | find_package(Lua51) | ||
793 | 14 | |||
794 | 15 | check_deps(BUILD_CSOUND_AC Boost_FOUND BUILD_CXX_INTERFACE FLTK_FOUND LIBSNDFILE_LIBRARY) | ||
795 | 16 | check_deps(BUILD_CSOUND_AC_PYTHON_INTERFACE SWIG_FOUND PYTHONLIBS_FOUND) | ||
796 | 17 | check_deps(BUILD_CSOUND_AC_LUA_INTERFACE SWIG_FOUND LUA51_FOUND) | ||
797 | 18 | |||
798 | 19 | if(BUILD_CSOUND_AC) | ||
799 | 20 | include_directories(${CMAKE_HOME_DIRECTORY}/interfaces) | ||
800 | 21 | include_directories(${Boost_INCLUDE_DIRS}) | ||
801 | 22 | include_directories(${FLTK_INCLUDE_DIR}) | ||
802 | 23 | set(libcsoundac_SRCS | ||
803 | 24 | allegro.cpp | ||
804 | 25 | allegrord.cpp | ||
805 | 26 | allegroserial.cpp | ||
806 | 27 | allegrosmfrd.cpp | ||
807 | 28 | allegrosmfwr.cpp | ||
808 | 29 | allegrowr.cpp | ||
809 | 30 | Cell.cpp | ||
810 | 31 | ChordLindenmayer.cpp | ||
811 | 32 | Composition.cpp | ||
812 | 33 | Conversions.cpp | ||
813 | 34 | Counterpoint.cpp | ||
814 | 35 | CounterpointMain.cpp | ||
815 | 36 | CounterpointNode.cpp | ||
816 | 37 | Event.cpp | ||
817 | 38 | Hocket.cpp | ||
818 | 39 | ImageToScore.cpp | ||
819 | 40 | Lindenmayer.cpp | ||
820 | 41 | MCRM.cpp | ||
821 | 42 | mfmidi.cpp | ||
822 | 43 | Midifile.cpp | ||
823 | 44 | MusicModel.cpp | ||
824 | 45 | Node.cpp | ||
825 | 46 | Random.cpp | ||
826 | 47 | Rescale.cpp | ||
827 | 48 | Score.cpp | ||
828 | 49 | ScoreModel.cpp | ||
829 | 50 | ScoreNode.cpp | ||
830 | 51 | Sequence.cpp | ||
831 | 52 | Shell.cpp | ||
832 | 53 | Soundfile.cpp | ||
833 | 54 | StrangeAttractor.cpp | ||
834 | 55 | strparse.cpp | ||
835 | 56 | System.cpp | ||
836 | 57 | trace.cpp | ||
837 | 58 | Voicelead.cpp | ||
838 | 59 | VoiceleadingNode.cpp) | ||
839 | 60 | |||
840 | 61 | add_library(libCsoundAC SHARED ${libcsoundac_SRCS}) | ||
841 | 62 | set_target_properties(libCsoundAC PROPERTIES | ||
842 | 63 | LINK_INTERFACE_LIBRARIES "" | ||
843 | 64 | SOVERSION ${APIVERSION} | ||
844 | 65 | OUTPUT_NAME CsoundAC | ||
845 | 66 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR} | ||
846 | 67 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
847 | 68 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
848 | 69 | ) | ||
849 | 70 | target_link_libraries(libCsoundAC libcsnd ${FLTK_LIBRARIES} ${LIBSNDFILE_LIBRARY} ${CSOUNDLIB}) | ||
850 | 71 | add_compiler_flags(-pthread TARGETS libCsoundAC) | ||
851 | 72 | add_compiler_flags(-pthread TARGETS libCsoundAC LINKER) | ||
852 | 73 | |||
853 | 74 | if(MUSICXML_LIBRARY) | ||
854 | 75 | target_link_libraries(CsoundAC MUSICXML_LIBRARY) | ||
855 | 76 | endif() | ||
856 | 77 | |||
857 | 78 | install(TARGETS libCsoundAC | ||
858 | 79 | LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR} | ||
859 | 80 | ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR}) | ||
860 | 81 | |||
861 | 82 | if(SWIG_FOUND) | ||
862 | 83 | include(${SWIG_USE_FILE}) | ||
863 | 84 | set(CMAKE_SWIG_OUTDIR ${BUILD_LIB_DIR}) | ||
864 | 85 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}) | ||
865 | 86 | list(APPEND CMAKE_SWIG_FLAGS "-includeall" "-verbose") | ||
866 | 87 | endif() | ||
867 | 88 | |||
868 | 89 | if(BUILD_CSOUND_AC_PYTHON_INTERFACE) | ||
869 | 90 | message(STATUS "Building CsoundAC Python interface") | ||
870 | 91 | find_package(PythonLibs) | ||
871 | 92 | include_directories(${PYTHON_INCLUDE_PATH}) | ||
872 | 93 | set_source_files_properties(CsoundAC.i | ||
873 | 94 | PROPERTIES CPLUSPLUS ON | ||
874 | 95 | SWIG_MODULE_NAME CsoundAC) | ||
875 | 96 | swig_add_module(CsoundAC python CsoundAC.i) | ||
876 | 97 | swig_link_libraries(CsoundAC libCsoundAC ${PYTHON_LIBRARIES} libcsnd ${CSOUNDLIB}) | ||
877 | 98 | |||
878 | 99 | set_target_properties(${SWIG_MODULE_CsoundAC_REAL_NAME} PROPERTIES | ||
879 | 100 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
880 | 101 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
881 | 102 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}) | ||
882 | 103 | |||
883 | 104 | install(TARGETS ${SWIG_MODULE_CsoundAC_REAL_NAME} | ||
884 | 105 | LIBRARY DESTINATION "${PYTHON_MODULE_INSTALL_DIR}" | ||
885 | 106 | ARCHIVE DESTINATION "${PYTHON_MODULE_INSTALL_DIR}") | ||
886 | 107 | install(FILES ${BUILD_LIB_DIR}/CsoundAC.py | ||
887 | 108 | DESTINATION ${PYTHON_MODULE_INSTALL_DIR}) | ||
888 | 109 | endif() | ||
889 | 110 | |||
890 | 111 | if(BUILD_CSOUND_AC_LUA_INTERFACE) | ||
891 | 112 | message(STATUS "Building CsoundAC Lua interface") | ||
892 | 113 | find_package(Lua51) | ||
893 | 114 | include_directories(${LUA_INCLUDE_DIR}) | ||
894 | 115 | |||
895 | 116 | SET_SOURCE_FILES_PROPERTIES(luaCsoundAC.i | ||
896 | 117 | PROPERTIES CPLUSPLUS ON | ||
897 | 118 | SWIG_MODULE_NAME luaCsoundAC) | ||
898 | 119 | SWIG_ADD_MODULE(luaCsoundAC lua luaCsoundAC.i) | ||
899 | 120 | SWIG_LINK_LIBRARIES(luaCsoundAC libCsoundAC ${LUA_LIBRARIES}) | ||
900 | 121 | |||
901 | 122 | set_target_properties(${SWIG_MODULE_luaCsoundAC_REAL_NAME} PROPERTIES | ||
902 | 123 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
903 | 124 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
904 | 125 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
905 | 126 | PREFIX "") | ||
906 | 127 | |||
907 | 128 | install(TARGETS luaCsoundAC | ||
908 | 129 | LIBRARY DESTINATION "${LUA_MODULE_INSTALL_DIR}" | ||
909 | 130 | ARCHIVE DESTINATION "${LUA_MODULE_INSTALL_DIR}") | ||
910 | 131 | endif() | ||
911 | 132 | |||
912 | 133 | endif() | ||
913 | 134 | 0 | ||
914 | === removed directory '.pc/2001-lua-link.diff/interfaces' | |||
915 | === removed file '.pc/2001-lua-link.diff/interfaces/CMakeLists.txt' | |||
916 | --- .pc/2001-lua-link.diff/interfaces/CMakeLists.txt 2012-09-28 18:56:24 +0000 | |||
917 | +++ .pc/2001-lua-link.diff/interfaces/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
918 | @@ -1,149 +0,0 @@ | |||
919 | 1 | ## Language bindings ## | ||
920 | 2 | |||
921 | 3 | # C++ INTERFACE LIBRARY | ||
922 | 4 | |||
923 | 5 | option(BUILD_CXX_INTERFACE "Build the C++ interface library" ON) | ||
924 | 6 | option(BUILD_PYTHON_INTERFACE "Build the Python interface (needs BUILD_CXX_INTERFACE)" ON) | ||
925 | 7 | option(BUILD_JAVA_INTERFACE "Build the Java interface (needs BUILD_CXX_INTERFACE)" ON) | ||
926 | 8 | option(BUILD_LUA_INTERFACE "Build the Lua interface (needs BUILD_CXX_INTERFACE)" ON) | ||
927 | 9 | |||
928 | 10 | if(BUILD_CXX_INTERFACE) | ||
929 | 11 | message(STATUS "Building C++ interface library") | ||
930 | 12 | set(libcsnd_SRCS | ||
931 | 13 | CppSound.cpp | ||
932 | 14 | CsoundFile.cpp | ||
933 | 15 | Soundfile.cpp | ||
934 | 16 | csPerfThread.cpp | ||
935 | 17 | cs_glue.cpp | ||
936 | 18 | filebuilding.cpp) | ||
937 | 19 | set(libcsnd_LIBS ${LIBSNDFILE_LIBRARY}) | ||
938 | 20 | set(libcsnd_CFLAGS "") | ||
939 | 21 | list(APPEND libcsnd_LIBS ${CSOUNDLIB}) | ||
940 | 22 | |||
941 | 23 | add_library(libcsnd SHARED ${libcsnd_SRCS}) | ||
942 | 24 | target_link_libraries(libcsnd ${libcsnd_LIBS}) | ||
943 | 25 | set_target_properties(libcsnd PROPERTIES | ||
944 | 26 | LINK_INTERFACE_LIBRARIES "" | ||
945 | 27 | SOVERSION ${APIVERSION} | ||
946 | 28 | OUTPUT_NAME csnd | ||
947 | 29 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR} | ||
948 | 30 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
949 | 31 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
950 | 32 | ) | ||
951 | 33 | if(${libcsnd_CFLAGS}) | ||
952 | 34 | add_compiler_flags(${libcsnd_CFLAGS} TARGETS libcsnd) | ||
953 | 35 | endif() | ||
954 | 36 | |||
955 | 37 | install(TARGETS libcsnd | ||
956 | 38 | LIBRARY DESTINATION "${LIBRARY_INSTALL_DIR}" | ||
957 | 39 | ARCHIVE DESTINATION "${LIBRARY_INSTALL_DIR}") | ||
958 | 40 | |||
959 | 41 | endif() | ||
960 | 42 | |||
961 | 43 | |||
962 | 44 | # SWIG INTERFACES | ||
963 | 45 | FIND_PACKAGE(SWIG) | ||
964 | 46 | FIND_PACKAGE(PythonLibs) | ||
965 | 47 | FIND_PACKAGE(JNI) | ||
966 | 48 | FIND_PACKAGE(Java) | ||
967 | 49 | FIND_PACKAGE(Lua51) | ||
968 | 50 | |||
969 | 51 | check_deps(BUILD_PYTHON_INTERFACE SWIG_FOUND BUILD_CXX_INTERFACE PYTHONLIBS_FOUND) | ||
970 | 52 | check_deps(BUILD_JAVA_INTERFACE SWIG_FOUND BUILD_CXX_INTERFACE JNI_FOUND JAVA_FOUND) | ||
971 | 53 | check_deps(BUILD_LUA_INTERFACE SWIG_FOUND BUILD_CXX_INTERFACE LUA51_FOUND) | ||
972 | 54 | |||
973 | 55 | if(BUILD_PYTHON_INTERFACE OR BUILD_JAVA_INTERFACE OR BUILD_LUA_INTERFACE) | ||
974 | 56 | |||
975 | 57 | include(${SWIG_USE_FILE}) | ||
976 | 58 | |||
977 | 59 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}) | ||
978 | 60 | |||
979 | 61 | set(CMAKE_SWIG_FLAGS ${libcsound_CFLAGS}) | ||
980 | 62 | list(APPEND CMAKE_SWIG_FLAGS "-includeall" "-verbose") | ||
981 | 63 | |||
982 | 64 | if(USE_DOUBLE) | ||
983 | 65 | list(APPEND CMAKE_SWIG_FLAGS "-DUSE_DOUBLE") | ||
984 | 66 | endif(USE_DOUBLE) | ||
985 | 67 | |||
986 | 68 | set(CMAKE_SWIG_OUTDIR ${BUILD_LIB_DIR}) | ||
987 | 69 | |||
988 | 70 | if(BUILD_PYTHON_INTERFACE) | ||
989 | 71 | INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH}) | ||
990 | 72 | |||
991 | 73 | set(swigpython_LIBS ${PYTHON_LIBRARIES} ${CSOUNDLIB} ${LIBSNDFILE_LIBRARY} libcsnd) | ||
992 | 74 | |||
993 | 75 | SET_SOURCE_FILES_PROPERTIES(python_interface.i | ||
994 | 76 | PROPERTIES CPLUSPLUS ON | ||
995 | 77 | SWIG_MODULE_NAME csnd) | ||
996 | 78 | SWIG_ADD_MODULE(csnd python python_interface.i) | ||
997 | 79 | SWIG_LINK_LIBRARIES(csnd ${swigpython_LIBS}) | ||
998 | 80 | |||
999 | 81 | set_target_properties(${SWIG_MODULE_csnd_REAL_NAME} PROPERTIES | ||
1000 | 82 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
1001 | 83 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
1002 | 84 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}) | ||
1003 | 85 | |||
1004 | 86 | install(TARGETS ${SWIG_MODULE_csnd_REAL_NAME} | ||
1005 | 87 | LIBRARY DESTINATION "${PYTHON_MODULE_INSTALL_DIR}" | ||
1006 | 88 | ARCHIVE DESTINATION "${PYTHON_MODULE_INSTALL_DIR}") | ||
1007 | 89 | install(FILES ${BUILD_LIB_DIR}/csnd.py | ||
1008 | 90 | DESTINATION ${PYTHON_MODULE_INSTALL_DIR}) | ||
1009 | 91 | |||
1010 | 92 | endif() | ||
1011 | 93 | |||
1012 | 94 | if(BUILD_JAVA_INTERFACE) | ||
1013 | 95 | # The java package needs this unset or it will litter us with .java files | ||
1014 | 96 | unset(CMAKE_SWIG_OUTDIR) | ||
1015 | 97 | INCLUDE_DIRECTORIES(${JNI_INCLUDE_DIRS}) | ||
1016 | 98 | set(swigjava_LIBS ${JNI_LIBRARIES} ${CSOUNDLIB} ${LIBSNDFILE_LIBRARY} libcsnd) | ||
1017 | 99 | |||
1018 | 100 | list(APPEND javaSwigOptions -package csnd) | ||
1019 | 101 | SET_SOURCE_FILES_PROPERTIES(java_interface.i PROPERTIES CPLUSPLUS ON) | ||
1020 | 102 | SET_SOURCE_FILES_PROPERTIES(java_interface.i PROPERTIES SWIG_FLAGS "${javaSwigOptions}") | ||
1021 | 103 | SWIG_ADD_MODULE(_jcsound java java_interface.i) | ||
1022 | 104 | SWIG_LINK_LIBRARIES(_jcsound ${swigjava_LIBS}) | ||
1023 | 105 | |||
1024 | 106 | ADD_CUSTOM_COMMAND(TARGET _jcsound | ||
1025 | 107 | POST_BUILD | ||
1026 | 108 | COMMAND cmake -E make_directory ./csnd | ||
1027 | 109 | COMMAND ${JAVA_COMPILE} *.java -d ./csnd | ||
1028 | 110 | COMMAND ${JAVA_ARCHIVE} cf ../csnd.jar csnd | ||
1029 | 111 | COMMENT "Building JAVA package csnd.jar") | ||
1030 | 112 | |||
1031 | 113 | set_target_properties(_jcsound PROPERTIES | ||
1032 | 114 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
1033 | 115 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
1034 | 116 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}) | ||
1035 | 117 | |||
1036 | 118 | install(TARGETS _jcsound | ||
1037 | 119 | LIBRARY DESTINATION "${JAVA_MODULE_INSTALL_DIR}" | ||
1038 | 120 | ARCHIVE DESTINATION "${JAVA_MODULE_INSTALL_DIR}") | ||
1039 | 121 | install(FILES ${BUILD_LIB_DIR}/csnd.jar | ||
1040 | 122 | DESTINATION ${JAVA_MODULE_INSTALL_DIR}) | ||
1041 | 123 | |||
1042 | 124 | endif() | ||
1043 | 125 | |||
1044 | 126 | if(BUILD_LUA_INTERFACE) | ||
1045 | 127 | INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR}) | ||
1046 | 128 | |||
1047 | 129 | set(swiglua_LIBS ${LUA_LIBRARIES} ${CSOUNDLIB} libcsnd) | ||
1048 | 130 | |||
1049 | 131 | SET_SOURCE_FILES_PROPERTIES(lua_interface.i | ||
1050 | 132 | PROPERTIES CPLUSPLUS ON | ||
1051 | 133 | SWIG_MODULE_NAME luaCsnd) | ||
1052 | 134 | SWIG_ADD_MODULE(luaCsnd lua lua_interface.i) | ||
1053 | 135 | SWIG_LINK_LIBRARIES(luaCsnd ${swiglua_LIBS}) | ||
1054 | 136 | |||
1055 | 137 | set_target_properties(${SWIG_MODULE_luaCsnd_REAL_NAME} PROPERTIES | ||
1056 | 138 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
1057 | 139 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
1058 | 140 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
1059 | 141 | PREFIX "") | ||
1060 | 142 | |||
1061 | 143 | install(TARGETS luaCsnd | ||
1062 | 144 | LIBRARY DESTINATION "${LUA_MODULE_INSTALL_DIR}" | ||
1063 | 145 | ARCHIVE DESTINATION "${LUA_MODULE_INSTALL_DIR}") | ||
1064 | 146 | |||
1065 | 147 | endif() | ||
1066 | 148 | |||
1067 | 149 | endif() | ||
1068 | 150 | 0 | ||
1069 | === removed directory '.pc/2004-fix-gettext.diff' | |||
1070 | === removed directory '.pc/2004-fix-gettext.diff/Top' | |||
1071 | === removed file '.pc/2004-fix-gettext.diff/Top/getstring.c' | |||
1072 | --- .pc/2004-fix-gettext.diff/Top/getstring.c 2012-04-19 09:26:46 +0000 | |||
1073 | +++ .pc/2004-fix-gettext.diff/Top/getstring.c 1970-01-01 00:00:00 +0000 | |||
1074 | @@ -1,168 +0,0 @@ | |||
1075 | 1 | /* | ||
1076 | 2 | getstring.c: | ||
1077 | 3 | |||
1078 | 4 | Copyright (C) 1999 John ffitch | ||
1079 | 5 | Jan 27 2005: replaced with new implementation by Istvan Varga | ||
1080 | 6 | Dec 25 2007: added GNU gettext implementation as alternative -- John ffitch | ||
1081 | 7 | |||
1082 | 8 | This file is part of Csound. | ||
1083 | 9 | |||
1084 | 10 | The Csound Library is free software; you can redistribute it | ||
1085 | 11 | and/or modify it under the terms of the GNU Lesser General Public | ||
1086 | 12 | License as published by the Free Software Foundation; either | ||
1087 | 13 | version 2.1 of the License, or (at your option) any later version. | ||
1088 | 14 | |||
1089 | 15 | Csound is distributed in the hope that it will be useful, | ||
1090 | 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
1091 | 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
1092 | 18 | GNU Lesser General Public License for more details. | ||
1093 | 19 | |||
1094 | 20 | You should have received a copy of the GNU Lesser General Public | ||
1095 | 21 | License along with Csound; if not, write to the Free Software | ||
1096 | 22 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | ||
1097 | 23 | 02111-1307 USA | ||
1098 | 24 | */ | ||
1099 | 25 | |||
1100 | 26 | #include "csoundCore.h" | ||
1101 | 27 | |||
1102 | 28 | #ifdef HAVE_DIRENT_H | ||
1103 | 29 | # include <sys/types.h> | ||
1104 | 30 | # include <dirent.h> | ||
1105 | 31 | # if 0 && defined(__MACH__) | ||
1106 | 32 | typedef void* DIR; | ||
1107 | 33 | DIR opendir(const char *); | ||
1108 | 34 | struct dirent *readdir(DIR*); | ||
1109 | 35 | int closedir(DIR*); | ||
1110 | 36 | # endif | ||
1111 | 37 | #endif | ||
1112 | 38 | |||
1113 | 39 | #include "namedins.h" | ||
1114 | 40 | |||
1115 | 41 | #define CSSTRNGS_VERSION 0x2000 | ||
1116 | 42 | #include <locale.h> | ||
1117 | 43 | #ifndef GNU_GETTEXT | ||
1118 | 44 | void init_getstring(void) | ||
1119 | 45 | { | ||
1120 | 46 | setlocale(LC_NUMERIC, "C"); /* Ensure C syntax */ | ||
1121 | 47 | } | ||
1122 | 48 | PUBLIC char *csoundLocalizeString(const char *s) | ||
1123 | 49 | { | ||
1124 | 50 | return (char*)s; | ||
1125 | 51 | } | ||
1126 | 52 | /* This stub is needed for backwards compatibility */ | ||
1127 | 53 | PUBLIC void csoundSetLanguage(cslanguage_t lang_code) | ||
1128 | 54 | { | ||
1129 | 55 | return; | ||
1130 | 56 | } | ||
1131 | 57 | #else | ||
1132 | 58 | void init_getstring(void) | ||
1133 | 59 | { | ||
1134 | 60 | /* s = csoundGetEnv(NULL, "CS_LANG"); */ | ||
1135 | 61 | /* if (s == NULL) /\* Default locale *\/ */ | ||
1136 | 62 | /* setlocale (LC_MESSAGES, ""); */ | ||
1137 | 63 | /* else */ | ||
1138 | 64 | /* setlocale (LC_MESSAGES, s); /\* Set to particular value *\/ */ | ||
1139 | 65 | /* textdomain("csound5"); */ /* This is not needed when using dgettext */ | ||
1140 | 66 | /* bind_textdomain_codeset("csound5", "UTF-8"); */ | ||
1141 | 67 | #ifdef never | ||
1142 | 68 | /* This is experimental; where should these be?? */ | ||
1143 | 69 | bindtextdomain("csound5", "/home/jpff/Sourceforge/csound/csound5/po"); | ||
1144 | 70 | #endif | ||
1145 | 71 | setlocale(LC_NUMERIC, "C"); /* Ensure C syntax */ | ||
1146 | 72 | } | ||
1147 | 73 | |||
1148 | 74 | PUBLIC char *csoundLocalizeString(const char *s) | ||
1149 | 75 | { | ||
1150 | 76 | return dgettext("csound5", s); | ||
1151 | 77 | } | ||
1152 | 78 | |||
1153 | 79 | static const char *language_names[] = {"", /* Default */ | ||
1154 | 80 | "af", /* CSLANGUAGE_AFRIKAANS */ | ||
1155 | 81 | "sq", /* CSLANGUAGE_ALBANIAN */ | ||
1156 | 82 | "ar", /* CSLANGUAGE_ARABIC */ | ||
1157 | 83 | "hy", /* CSLANGUAGE_ARMENIAN */ | ||
1158 | 84 | "as", /* CSLANGUAGE_ASSAMESE */ | ||
1159 | 85 | "az", /* CSLANGUAGE_AZERI */ | ||
1160 | 86 | "eu", /* CSLANGUAGE_BASQUE */ | ||
1161 | 87 | "be", /* CSLANGUAGE_BELARUSIAN */ | ||
1162 | 88 | "bn", /* CSLANGUAGE_BENGALI */ | ||
1163 | 89 | "bg", /* CSLANGUAGE_BULGARIAN */ | ||
1164 | 90 | "ca", /* CSLANGUAGE_CATALAN */ | ||
1165 | 91 | "zh", /* CSLANGUAGE_CHINESE */ | ||
1166 | 92 | "hr", /* CSLANGUAGE_CROATIAN */ | ||
1167 | 93 | "cs", /* CSLANGUAGE_CZECH */ | ||
1168 | 94 | "da", /* CSLANGUAGE_DANISH */ | ||
1169 | 95 | "nl", /* CSLANGUAGE_DUTCH */ | ||
1170 | 96 | "en_GB", | ||
1171 | 97 | "en_US", | ||
1172 | 98 | "et", /* CSLANGUAGE_ESTONIAN */ | ||
1173 | 99 | "fo", /* CSLANGUAGE_FAEROESE */ | ||
1174 | 100 | "fa", /* CSLANGUAGE_FARSI */ | ||
1175 | 101 | "fi", /* CSLANGUAGE_FINNISH */ | ||
1176 | 102 | "fr", | ||
1177 | 103 | "ka", /* CSLANGUAGE_GEORGIAN */ | ||
1178 | 104 | "de", | ||
1179 | 105 | "el", /* CSLANGUAGE_GREEK */ | ||
1180 | 106 | "gu", /* CSLANGUAGE_GUJARATI */ | ||
1181 | 107 | "he", /* CSLANGUAGE_HEBREW */ | ||
1182 | 108 | "hi", /* CSLANGUAGE_HINDI */ | ||
1183 | 109 | "hu", /* CSLANGUAGE_HUNGARIAN */ | ||
1184 | 110 | "is", /* CSLANGUAGE_ICELANDIC */ | ||
1185 | 111 | "id", /* CSLANGUAGE_INDONESIAN */ | ||
1186 | 112 | "it", /* CSLANGUAGE_ITALIAN */ | ||
1187 | 113 | "ja", /* CSLANGUAGE_JAPANESE */ | ||
1188 | 114 | "kn", /* CSLANGUAGE_KANNADA */ | ||
1189 | 115 | "ks", /* CSLANGUAGE_KASHMIRI */ | ||
1190 | 116 | "kk", /* CSLANGUAGE_KAZAK */ | ||
1191 | 117 | "kok", /* CSLANGUAGE_KONKANI */ | ||
1192 | 118 | "ko", /* CSLANGUAGE_KOREAN */ | ||
1193 | 119 | "lv", /* CSLANGUAGE_LATVIAN */ | ||
1194 | 120 | "lt", /* CSLANGUAGE_LITHUANIAN */ | ||
1195 | 121 | "mk", /* CSLANGUAGE_MACEDONIAN */ | ||
1196 | 122 | "ms", /* CSLANGUAGE_MALAY */ | ||
1197 | 123 | "ml", /* CSLANGUAGE_MALAYALAM */ | ||
1198 | 124 | "mni", /* CSLANGUAGE_MANIPURI */ | ||
1199 | 125 | "mr", /* CSLANGUAGE_MARATHI */ | ||
1200 | 126 | "ne", /* CSLANGUAGE_NEPALI */ | ||
1201 | 127 | "no", /* CSLANGUAGE_NORWEGIAN */ | ||
1202 | 128 | "or", /* CSLANGUAGE_ORIYA */ | ||
1203 | 129 | "pl", /* CSLANGUAGE_POLISH */ | ||
1204 | 130 | "pt", /* CSLANGUAGE_PORTUGUESE */ | ||
1205 | 131 | "pa", /* CSLANGUAGE_PUNJABI */ | ||
1206 | 132 | "ro", | ||
1207 | 133 | "ru", /* CSLANGUAGE_RUSSIAN */ | ||
1208 | 134 | "sa", /* CSLANGUAGE_SANSKRIT */ | ||
1209 | 135 | "sr", /* CSLANGUAGE_SERBIAN */ | ||
1210 | 136 | "sd", /* CSLANGUAGE_SINDHI */ | ||
1211 | 137 | "sk", /* CSLANGUAGE_SLOVAK */ | ||
1212 | 138 | "sl", /* CSLANGUAGE_SLOVENIAN */ | ||
1213 | 139 | "es", | ||
1214 | 140 | "sw", /* CSLANGUAGE_SWAHILI */ | ||
1215 | 141 | "sv", /* CSLANGUAGE_SWEDISH */ | ||
1216 | 142 | "ta", /* CSLANGUAGE_TAMIL */ | ||
1217 | 143 | "tt", /* CSLANGUAGE_TATAR */ | ||
1218 | 144 | "te", /* CSLANGUAGE_TELUGU */ | ||
1219 | 145 | "th", /* CSLANGUAGE_THAI */ | ||
1220 | 146 | "tr", /* CSLANGUAGE_TURKISH */ | ||
1221 | 147 | "uk", /* CSLANGUAGE_UKRAINIAN */ | ||
1222 | 148 | "ur", /* CSLANGUAGE_URDU */ | ||
1223 | 149 | "uz", /* CSLANGUAGE_UZBEK */ | ||
1224 | 150 | "vi", /* CSLANGUAGE_VIETNAMES */ | ||
1225 | 151 | "es_CO", /* COLUMBIAN */ | ||
1226 | 152 | }; | ||
1227 | 153 | |||
1228 | 154 | PUBLIC void csoundSetLanguage(cslanguage_t lang_code) | ||
1229 | 155 | { | ||
1230 | 156 | const char *name; | ||
1231 | 157 | if (lang_code == CSLANGUAGE_DEFAULT) | ||
1232 | 158 | fprintf(stderr, "Localisation of messages is disabled, using " | ||
1233 | 159 | "default language.\n"); | ||
1234 | 160 | else { | ||
1235 | 161 | fprintf(stderr, "Setting language of messages to %s ...\n", | ||
1236 | 162 | name=language_names[(int) lang_code]); | ||
1237 | 163 | setlocale(LC_MESSAGES, name); | ||
1238 | 164 | } | ||
1239 | 165 | return; | ||
1240 | 166 | } | ||
1241 | 167 | #endif | ||
1242 | 168 | |||
1243 | 169 | 0 | ||
1244 | === removed directory '.pc/2007-apidoc-dotpath.patch' | |||
1245 | === removed file '.pc/2007-apidoc-dotpath.patch/Doxyfile' | |||
1246 | --- .pc/2007-apidoc-dotpath.patch/Doxyfile 2012-04-19 09:26:46 +0000 | |||
1247 | +++ .pc/2007-apidoc-dotpath.patch/Doxyfile 1970-01-01 00:00:00 +0000 | |||
1248 | @@ -1,1522 +0,0 @@ | |||
1249 | 1 | # Doxyfile 1.5.8 | ||
1250 | 2 | |||
1251 | 3 | # This file describes the settings to be used by the documentation system | ||
1252 | 4 | # doxygen (www.doxygen.org) for a project | ||
1253 | 5 | # | ||
1254 | 6 | # All text after a hash (#) is considered a comment and will be ignored | ||
1255 | 7 | # The format is: | ||
1256 | 8 | # TAG = value [value, ...] | ||
1257 | 9 | # For lists items can also be appended using: | ||
1258 | 10 | # TAG += value [value, ...] | ||
1259 | 11 | # Values that contain spaces should be placed between quotes (" ") | ||
1260 | 12 | |||
1261 | 13 | #--------------------------------------------------------------------------- | ||
1262 | 14 | # Project related configuration options | ||
1263 | 15 | #--------------------------------------------------------------------------- | ||
1264 | 16 | |||
1265 | 17 | # This tag specifies the encoding used for all characters in the config file | ||
1266 | 18 | # that follow. The default is UTF-8 which is also the encoding used for all | ||
1267 | 19 | # text before the first occurrence of this tag. Doxygen uses libiconv (or the | ||
1268 | 20 | # iconv built into libc) for the transcoding. See | ||
1269 | 21 | # http://www.gnu.org/software/libiconv for the list of possible encodings. | ||
1270 | 22 | |||
1271 | 23 | DOXYFILE_ENCODING = UTF-8 | ||
1272 | 24 | |||
1273 | 25 | # The PROJECT_NAME tag is a single word (or a sequence of words surrounded | ||
1274 | 26 | # by quotes) that should identify the project. | ||
1275 | 27 | |||
1276 | 28 | PROJECT_NAME = "Csound and CsoundAC API" | ||
1277 | 29 | |||
1278 | 30 | # The PROJECT_NUMBER tag can be used to enter a project or revision number. | ||
1279 | 31 | # This could be handy for archiving the generated documentation or | ||
1280 | 32 | # if some version control system is used. | ||
1281 | 33 | |||
1282 | 34 | PROJECT_NUMBER = 5.17 | ||
1283 | 35 | |||
1284 | 36 | # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) | ||
1285 | 37 | # base path where the generated documentation will be put. | ||
1286 | 38 | # If a relative path is entered, it will be relative to the location | ||
1287 | 39 | # where doxygen was started. If left blank the current directory will be used. | ||
1288 | 40 | |||
1289 | 41 | OUTPUT_DIRECTORY = doc | ||
1290 | 42 | |||
1291 | 43 | # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create | ||
1292 | 44 | # 4096 sub-directories (in 2 levels) under the output directory of each output | ||
1293 | 45 | # format and will distribute the generated files over these directories. | ||
1294 | 46 | # Enabling this option can be useful when feeding doxygen a huge amount of | ||
1295 | 47 | # source files, where putting all generated files in the same directory would | ||
1296 | 48 | # otherwise cause performance problems for the file system. | ||
1297 | 49 | |||
1298 | 50 | CREATE_SUBDIRS = NO | ||
1299 | 51 | |||
1300 | 52 | # The OUTPUT_LANGUAGE tag is used to specify the language in which all | ||
1301 | 53 | # documentation generated by doxygen is written. Doxygen will use this | ||
1302 | 54 | # information to generate all constant output in the proper language. | ||
1303 | 55 | # The default language is English, other supported languages are: | ||
1304 | 56 | # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, | ||
1305 | 57 | # Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, | ||
1306 | 58 | # Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), | ||
1307 | 59 | # Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, | ||
1308 | 60 | # Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, | ||
1309 | 61 | # Spanish, Swedish, and Ukrainian. | ||
1310 | 62 | |||
1311 | 63 | OUTPUT_LANGUAGE = English | ||
1312 | 64 | |||
1313 | 65 | # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will | ||
1314 | 66 | # include brief member descriptions after the members that are listed in | ||
1315 | 67 | # the file and class documentation (similar to JavaDoc). | ||
1316 | 68 | # Set to NO to disable this. | ||
1317 | 69 | |||
1318 | 70 | BRIEF_MEMBER_DESC = YES | ||
1319 | 71 | |||
1320 | 72 | # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend | ||
1321 | 73 | # the brief description of a member or function before the detailed description. | ||
1322 | 74 | # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the | ||
1323 | 75 | # brief descriptions will be completely suppressed. | ||
1324 | 76 | |||
1325 | 77 | REPEAT_BRIEF = YES | ||
1326 | 78 | |||
1327 | 79 | # This tag implements a quasi-intelligent brief description abbreviator | ||
1328 | 80 | # that is used to form the text in various listings. Each string | ||
1329 | 81 | # in this list, if found as the leading text of the brief description, will be | ||
1330 | 82 | # stripped from the text and the result after processing the whole list, is | ||
1331 | 83 | # used as the annotated text. Otherwise, the brief description is used as-is. | ||
1332 | 84 | # If left blank, the following values are used ("$name" is automatically | ||
1333 | 85 | # replaced with the name of the entity): "The $name class" "The $name widget" | ||
1334 | 86 | # "The $name file" "is" "provides" "specifies" "contains" | ||
1335 | 87 | # "represents" "a" "an" "the" | ||
1336 | 88 | |||
1337 | 89 | ABBREVIATE_BRIEF = NO | ||
1338 | 90 | |||
1339 | 91 | # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then | ||
1340 | 92 | # Doxygen will generate a detailed section even if there is only a brief | ||
1341 | 93 | # description. | ||
1342 | 94 | |||
1343 | 95 | ALWAYS_DETAILED_SEC = YES | ||
1344 | 96 | |||
1345 | 97 | # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all | ||
1346 | 98 | # inherited members of a class in the documentation of that class as if those | ||
1347 | 99 | # members were ordinary class members. Constructors, destructors and assignment | ||
1348 | 100 | # operators of the base classes will not be shown. | ||
1349 | 101 | |||
1350 | 102 | INLINE_INHERITED_MEMB = YES | ||
1351 | 103 | |||
1352 | 104 | # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full | ||
1353 | 105 | # path before files name in the file list and in the header files. If set | ||
1354 | 106 | # to NO the shortest path that makes the file name unique will be used. | ||
1355 | 107 | |||
1356 | 108 | FULL_PATH_NAMES = YES | ||
1357 | 109 | |||
1358 | 110 | # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag | ||
1359 | 111 | # can be used to strip a user-defined part of the path. Stripping is | ||
1360 | 112 | # only done if one of the specified strings matches the left-hand part of | ||
1361 | 113 | # the path. The tag can be used to show relative paths in the file list. | ||
1362 | 114 | # If left blank the directory from which doxygen is run is used as the | ||
1363 | 115 | # path to strip. | ||
1364 | 116 | |||
1365 | 117 | STRIP_FROM_PATH = | ||
1366 | 118 | |||
1367 | 119 | # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of | ||
1368 | 120 | # the path mentioned in the documentation of a class, which tells | ||
1369 | 121 | # the reader which header file to include in order to use a class. | ||
1370 | 122 | # If left blank only the name of the header file containing the class | ||
1371 | 123 | # definition is used. Otherwise one should specify the include paths that | ||
1372 | 124 | # are normally passed to the compiler using the -I flag. | ||
1373 | 125 | |||
1374 | 126 | STRIP_FROM_INC_PATH = | ||
1375 | 127 | |||
1376 | 128 | # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter | ||
1377 | 129 | # (but less readable) file names. This can be useful is your file systems | ||
1378 | 130 | # doesn't support long names like on DOS, Mac, or CD-ROM. | ||
1379 | 131 | |||
1380 | 132 | SHORT_NAMES = NO | ||
1381 | 133 | |||
1382 | 134 | # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen | ||
1383 | 135 | # will interpret the first line (until the first dot) of a JavaDoc-style | ||
1384 | 136 | # comment as the brief description. If set to NO, the JavaDoc | ||
1385 | 137 | # comments will behave just like regular Qt-style comments | ||
1386 | 138 | # (thus requiring an explicit @brief command for a brief description.) | ||
1387 | 139 | |||
1388 | 140 | JAVADOC_AUTOBRIEF = YES | ||
1389 | 141 | |||
1390 | 142 | # If the QT_AUTOBRIEF tag is set to YES then Doxygen will | ||
1391 | 143 | # interpret the first line (until the first dot) of a Qt-style | ||
1392 | 144 | # comment as the brief description. If set to NO, the comments | ||
1393 | 145 | # will behave just like regular Qt-style comments (thus requiring | ||
1394 | 146 | # an explicit \brief command for a brief description.) | ||
1395 | 147 | |||
1396 | 148 | QT_AUTOBRIEF = NO | ||
1397 | 149 | |||
1398 | 150 | # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen | ||
1399 | 151 | # treat a multi-line C++ special comment block (i.e. a block of //! or /// | ||
1400 | 152 | # comments) as a brief description. This used to be the default behaviour. | ||
1401 | 153 | # The new default is to treat a multi-line C++ comment block as a detailed | ||
1402 | 154 | # description. Set this tag to YES if you prefer the old behaviour instead. | ||
1403 | 155 | |||
1404 | 156 | MULTILINE_CPP_IS_BRIEF = NO | ||
1405 | 157 | |||
1406 | 158 | # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented | ||
1407 | 159 | # member inherits the documentation from any documented member that it | ||
1408 | 160 | # re-implements. | ||
1409 | 161 | |||
1410 | 162 | INHERIT_DOCS = YES | ||
1411 | 163 | |||
1412 | 164 | # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce | ||
1413 | 165 | # a new page for each member. If set to NO, the documentation of a member will | ||
1414 | 166 | # be part of the file/class/namespace that contains it. | ||
1415 | 167 | |||
1416 | 168 | SEPARATE_MEMBER_PAGES = NO | ||
1417 | 169 | |||
1418 | 170 | # The TAB_SIZE tag can be used to set the number of spaces in a tab. | ||
1419 | 171 | # Doxygen uses this value to replace tabs by spaces in code fragments. | ||
1420 | 172 | |||
1421 | 173 | TAB_SIZE = 4 | ||
1422 | 174 | |||
1423 | 175 | # This tag can be used to specify a number of aliases that acts | ||
1424 | 176 | # as commands in the documentation. An alias has the form "name=value". | ||
1425 | 177 | # For example adding "sideeffect=\par Side Effects:\n" will allow you to | ||
1426 | 178 | # put the command \sideeffect (or @sideeffect) in the documentation, which | ||
1427 | 179 | # will result in a user-defined paragraph with heading "Side Effects:". | ||
1428 | 180 | # You can put \n's in the value part of an alias to insert newlines. | ||
1429 | 181 | |||
1430 | 182 | ALIASES = | ||
1431 | 183 | |||
1432 | 184 | # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C | ||
1433 | 185 | # sources only. Doxygen will then generate output that is more tailored for C. | ||
1434 | 186 | # For instance, some of the names that are used will be different. The list | ||
1435 | 187 | # of all members will be omitted, etc. | ||
1436 | 188 | |||
1437 | 189 | OPTIMIZE_OUTPUT_FOR_C = YES | ||
1438 | 190 | |||
1439 | 191 | # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java | ||
1440 | 192 | # sources only. Doxygen will then generate output that is more tailored for | ||
1441 | 193 | # Java. For instance, namespaces will be presented as packages, qualified | ||
1442 | 194 | # scopes will look different, etc. | ||
1443 | 195 | |||
1444 | 196 | OPTIMIZE_OUTPUT_JAVA = NO | ||
1445 | 197 | |||
1446 | 198 | # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran | ||
1447 | 199 | # sources only. Doxygen will then generate output that is more tailored for | ||
1448 | 200 | # Fortran. | ||
1449 | 201 | |||
1450 | 202 | OPTIMIZE_FOR_FORTRAN = NO | ||
1451 | 203 | |||
1452 | 204 | # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL | ||
1453 | 205 | # sources. Doxygen will then generate output that is tailored for | ||
1454 | 206 | # VHDL. | ||
1455 | 207 | |||
1456 | 208 | OPTIMIZE_OUTPUT_VHDL = NO | ||
1457 | 209 | |||
1458 | 210 | # Doxygen selects the parser to use depending on the extension of the files it parses. | ||
1459 | 211 | # With this tag you can assign which parser to use for a given extension. | ||
1460 | 212 | # Doxygen has a built-in mapping, but you can override or extend it using this tag. | ||
1461 | 213 | # The format is ext=language, where ext is a file extension, and language is one of | ||
1462 | 214 | # the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, | ||
1463 | 215 | # Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat | ||
1464 | 216 | # .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), | ||
1465 | 217 | # use: inc=Fortran f=C | ||
1466 | 218 | |||
1467 | 219 | EXTENSION_MAPPING = YES | ||
1468 | 220 | |||
1469 | 221 | # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want | ||
1470 | 222 | # to include (a tag file for) the STL sources as input, then you should | ||
1471 | 223 | # set this tag to YES in order to let doxygen match functions declarations and | ||
1472 | 224 | # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. | ||
1473 | 225 | # func(std::string) {}). This also make the inheritance and collaboration | ||
1474 | 226 | # diagrams that involve STL classes more complete and accurate. | ||
1475 | 227 | |||
1476 | 228 | BUILTIN_STL_SUPPORT = YES | ||
1477 | 229 | |||
1478 | 230 | # If you use Microsoft's C++/CLI language, you should set this option to YES to | ||
1479 | 231 | # enable parsing support. | ||
1480 | 232 | |||
1481 | 233 | CPP_CLI_SUPPORT = NO | ||
1482 | 234 | |||
1483 | 235 | # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. | ||
1484 | 236 | # Doxygen will parse them like normal C++ but will assume all classes use public | ||
1485 | 237 | # instead of private inheritance when no explicit protection keyword is present. | ||
1486 | 238 | |||
1487 | 239 | SIP_SUPPORT = NO | ||
1488 | 240 | |||
1489 | 241 | # For Microsoft's IDL there are propget and propput attributes to indicate getter | ||
1490 | 242 | # and setter methods for a property. Setting this option to YES (the default) | ||
1491 | 243 | # will make doxygen to replace the get and set methods by a property in the | ||
1492 | 244 | # documentation. This will only work if the methods are indeed getting or | ||
1493 | 245 | # setting a simple type. If this is not the case, or you want to show the | ||
1494 | 246 | # methods anyway, you should set this option to NO. | ||
1495 | 247 | |||
1496 | 248 | IDL_PROPERTY_SUPPORT = YES | ||
1497 | 249 | |||
1498 | 250 | # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC | ||
1499 | 251 | # tag is set to YES, then doxygen will reuse the documentation of the first | ||
1500 | 252 | # member in the group (if any) for the other members of the group. By default | ||
1501 | 253 | # all members of a group must be documented explicitly. | ||
1502 | 254 | |||
1503 | 255 | DISTRIBUTE_GROUP_DOC = NO | ||
1504 | 256 | |||
1505 | 257 | # Set the SUBGROUPING tag to YES (the default) to allow class member groups of | ||
1506 | 258 | # the same type (for instance a group of public functions) to be put as a | ||
1507 | 259 | # subgroup of that type (e.g. under the Public Functions section). Set it to | ||
1508 | 260 | # NO to prevent subgrouping. Alternatively, this can be done per class using | ||
1509 | 261 | # the \nosubgrouping command. | ||
1510 | 262 | |||
1511 | 263 | SUBGROUPING = YES | ||
1512 | 264 | |||
1513 | 265 | # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum | ||
1514 | 266 | # is documented as struct, union, or enum with the name of the typedef. So | ||
1515 | 267 | # typedef struct TypeS {} TypeT, will appear in the documentation as a struct | ||
1516 | 268 | # with name TypeT. When disabled the typedef will appear as a member of a file, | ||
1517 | 269 | # namespace, or class. And the struct will be named TypeS. This can typically | ||
1518 | 270 | # be useful for C code in case the coding convention dictates that all compound | ||
1519 | 271 | # types are typedef'ed and only the typedef is referenced, never the tag name. | ||
1520 | 272 | |||
1521 | 273 | TYPEDEF_HIDES_STRUCT = NO | ||
1522 | 274 | |||
1523 | 275 | # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to | ||
1524 | 276 | # determine which symbols to keep in memory and which to flush to disk. | ||
1525 | 277 | # When the cache is full, less often used symbols will be written to disk. | ||
1526 | 278 | # For small to medium size projects (<1000 input files) the default value is | ||
1527 | 279 | # probably good enough. For larger projects a too small cache size can cause | ||
1528 | 280 | # doxygen to be busy swapping symbols to and from disk most of the time | ||
1529 | 281 | # causing a significant performance penality. | ||
1530 | 282 | # If the system has enough physical memory increasing the cache will improve the | ||
1531 | 283 | # performance by keeping more symbols in memory. Note that the value works on | ||
1532 | 284 | # a logarithmic scale so increasing the size by one will rougly double the | ||
1533 | 285 | # memory usage. The cache size is given by this formula: | ||
1534 | 286 | # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, | ||
1535 | 287 | # corresponding to a cache size of 2^16 = 65536 symbols | ||
1536 | 288 | |||
1537 | 289 | SYMBOL_CACHE_SIZE = 0 | ||
1538 | 290 | |||
1539 | 291 | #--------------------------------------------------------------------------- | ||
1540 | 292 | # Build related configuration options | ||
1541 | 293 | #--------------------------------------------------------------------------- | ||
1542 | 294 | |||
1543 | 295 | # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in | ||
1544 | 296 | # documentation are documented, even if no documentation was available. | ||
1545 | 297 | # Private class members and static file members will be hidden unless | ||
1546 | 298 | # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES | ||
1547 | 299 | |||
1548 | 300 | EXTRACT_ALL = YES | ||
1549 | 301 | |||
1550 | 302 | # If the EXTRACT_PRIVATE tag is set to YES all private members of a class | ||
1551 | 303 | # will be included in the documentation. | ||
1552 | 304 | |||
1553 | 305 | EXTRACT_PRIVATE = YES | ||
1554 | 306 | |||
1555 | 307 | # If the EXTRACT_STATIC tag is set to YES all static members of a file | ||
1556 | 308 | # will be included in the documentation. | ||
1557 | 309 | |||
1558 | 310 | EXTRACT_STATIC = YES | ||
1559 | 311 | |||
1560 | 312 | # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) | ||
1561 | 313 | # defined locally in source files will be included in the documentation. | ||
1562 | 314 | # If set to NO only classes defined in header files are included. | ||
1563 | 315 | |||
1564 | 316 | EXTRACT_LOCAL_CLASSES = YES | ||
1565 | 317 | |||
1566 | 318 | # This flag is only useful for Objective-C code. When set to YES local | ||
1567 | 319 | # methods, which are defined in the implementation section but not in | ||
1568 | 320 | # the interface are included in the documentation. | ||
1569 | 321 | # If set to NO (the default) only methods in the interface are included. | ||
1570 | 322 | |||
1571 | 323 | EXTRACT_LOCAL_METHODS = NO | ||
1572 | 324 | |||
1573 | 325 | # If this flag is set to YES, the members of anonymous namespaces will be | ||
1574 | 326 | # extracted and appear in the documentation as a namespace called | ||
1575 | 327 | # 'anonymous_namespace{file}', where file will be replaced with the base | ||
1576 | 328 | # name of the file that contains the anonymous namespace. By default | ||
1577 | 329 | # anonymous namespace are hidden. | ||
1578 | 330 | |||
1579 | 331 | EXTRACT_ANON_NSPACES = NO | ||
1580 | 332 | |||
1581 | 333 | # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all | ||
1582 | 334 | # undocumented members of documented classes, files or namespaces. | ||
1583 | 335 | # If set to NO (the default) these members will be included in the | ||
1584 | 336 | # various overviews, but no documentation section is generated. | ||
1585 | 337 | # This option has no effect if EXTRACT_ALL is enabled. | ||
1586 | 338 | |||
1587 | 339 | HIDE_UNDOC_MEMBERS = NO | ||
1588 | 340 | |||
1589 | 341 | # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all | ||
1590 | 342 | # undocumented classes that are normally visible in the class hierarchy. | ||
1591 | 343 | # If set to NO (the default) these classes will be included in the various | ||
1592 | 344 | # overviews. This option has no effect if EXTRACT_ALL is enabled. | ||
1593 | 345 | |||
1594 | 346 | HIDE_UNDOC_CLASSES = NO | ||
1595 | 347 | |||
1596 | 348 | # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all | ||
1597 | 349 | # friend (class|struct|union) declarations. | ||
1598 | 350 | # If set to NO (the default) these declarations will be included in the | ||
1599 | 351 | # documentation. | ||
1600 | 352 | |||
1601 | 353 | HIDE_FRIEND_COMPOUNDS = NO | ||
1602 | 354 | |||
1603 | 355 | # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any | ||
1604 | 356 | # documentation blocks found inside the body of a function. | ||
1605 | 357 | # If set to NO (the default) these blocks will be appended to the | ||
1606 | 358 | # function's detailed documentation block. | ||
1607 | 359 | |||
1608 | 360 | HIDE_IN_BODY_DOCS = NO | ||
1609 | 361 | |||
1610 | 362 | # The INTERNAL_DOCS tag determines if documentation | ||
1611 | 363 | # that is typed after a \internal command is included. If the tag is set | ||
1612 | 364 | # to NO (the default) then the documentation will be excluded. | ||
1613 | 365 | # Set it to YES to include the internal documentation. | ||
1614 | 366 | |||
1615 | 367 | INTERNAL_DOCS = NO | ||
1616 | 368 | |||
1617 | 369 | # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate | ||
1618 | 370 | # file names in lower-case letters. If set to YES upper-case letters are also | ||
1619 | 371 | # allowed. This is useful if you have classes or files whose names only differ | ||
1620 | 372 | # in case and if your file system supports case sensitive file names. Windows | ||
1621 | 373 | # and Mac users are advised to set this option to NO. | ||
1622 | 374 | |||
1623 | 375 | CASE_SENSE_NAMES = YES | ||
1624 | 376 | |||
1625 | 377 | # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen | ||
1626 | 378 | # will show members with their full class and namespace scopes in the | ||
1627 | 379 | # documentation. If set to YES the scope will be hidden. | ||
1628 | 380 | |||
1629 | 381 | HIDE_SCOPE_NAMES = NO | ||
1630 | 382 | |||
1631 | 383 | # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen | ||
1632 | 384 | # will put a list of the files that are included by a file in the documentation | ||
1633 | 385 | # of that file. | ||
1634 | 386 | |||
1635 | 387 | SHOW_INCLUDE_FILES = YES | ||
1636 | 388 | |||
1637 | 389 | # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] | ||
1638 | 390 | # is inserted in the documentation for inline members. | ||
1639 | 391 | |||
1640 | 392 | INLINE_INFO = YES | ||
1641 | 393 | |||
1642 | 394 | # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen | ||
1643 | 395 | # will sort the (detailed) documentation of file and class members | ||
1644 | 396 | # alphabetically by member name. If set to NO the members will appear in | ||
1645 | 397 | # declaration order. | ||
1646 | 398 | |||
1647 | 399 | SORT_MEMBER_DOCS = YES | ||
1648 | 400 | |||
1649 | 401 | # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the | ||
1650 | 402 | # brief documentation of file, namespace and class members alphabetically | ||
1651 | 403 | # by member name. If set to NO (the default) the members will appear in | ||
1652 | 404 | # declaration order. | ||
1653 | 405 | |||
1654 | 406 | SORT_BRIEF_DOCS = YES | ||
1655 | 407 | |||
1656 | 408 | # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the | ||
1657 | 409 | # hierarchy of group names into alphabetical order. If set to NO (the default) | ||
1658 | 410 | # the group names will appear in their defined order. | ||
1659 | 411 | |||
1660 | 412 | SORT_GROUP_NAMES = YES | ||
1661 | 413 | |||
1662 | 414 | # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be | ||
1663 | 415 | # sorted by fully-qualified names, including namespaces. If set to | ||
1664 | 416 | # NO (the default), the class list will be sorted only by class name, | ||
1665 | 417 | # not including the namespace part. | ||
1666 | 418 | # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. | ||
1667 | 419 | # Note: This option applies only to the class list, not to the | ||
1668 | 420 | # alphabetical list. | ||
1669 | 421 | |||
1670 | 422 | SORT_BY_SCOPE_NAME = YES | ||
1671 | 423 | |||
1672 | 424 | # The GENERATE_TODOLIST tag can be used to enable (YES) or | ||
1673 | 425 | # disable (NO) the todo list. This list is created by putting \todo | ||
1674 | 426 | # commands in the documentation. | ||
1675 | 427 | |||
1676 | 428 | GENERATE_TODOLIST = YES | ||
1677 | 429 | |||
1678 | 430 | # The GENERATE_TESTLIST tag can be used to enable (YES) or | ||
1679 | 431 | # disable (NO) the test list. This list is created by putting \test | ||
1680 | 432 | # commands in the documentation. | ||
1681 | 433 | |||
1682 | 434 | GENERATE_TESTLIST = YES | ||
1683 | 435 | |||
1684 | 436 | # The GENERATE_BUGLIST tag can be used to enable (YES) or | ||
1685 | 437 | # disable (NO) the bug list. This list is created by putting \bug | ||
1686 | 438 | # commands in the documentation. | ||
1687 | 439 | |||
1688 | 440 | GENERATE_BUGLIST = YES | ||
1689 | 441 | |||
1690 | 442 | # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or | ||
1691 | 443 | # disable (NO) the deprecated list. This list is created by putting | ||
1692 | 444 | # \deprecated commands in the documentation. | ||
1693 | 445 | |||
1694 | 446 | GENERATE_DEPRECATEDLIST= YES | ||
1695 | 447 | |||
1696 | 448 | # The ENABLED_SECTIONS tag can be used to enable conditional | ||
1697 | 449 | # documentation sections, marked by \if sectionname ... \endif. | ||
1698 | 450 | |||
1699 | 451 | ENABLED_SECTIONS = | ||
1700 | 452 | |||
1701 | 453 | # The MAX_INITIALIZER_LINES tag determines the maximum number of lines | ||
1702 | 454 | # the initial value of a variable or define consists of for it to appear in | ||
1703 | 455 | # the documentation. If the initializer consists of more lines than specified | ||
1704 | 456 | # here it will be hidden. Use a value of 0 to hide initializers completely. | ||
1705 | 457 | # The appearance of the initializer of individual variables and defines in the | ||
1706 | 458 | # documentation can be controlled using \showinitializer or \hideinitializer | ||
1707 | 459 | # command in the documentation regardless of this setting. | ||
1708 | 460 | |||
1709 | 461 | MAX_INITIALIZER_LINES = 30 | ||
1710 | 462 | |||
1711 | 463 | # Set the SHOW_USED_FILES tag to NO to disable the list of files generated | ||
1712 | 464 | # at the bottom of the documentation of classes and structs. If set to YES the | ||
1713 | 465 | # list will mention the files that were used to generate the documentation. | ||
1714 | 466 | |||
1715 | 467 | SHOW_USED_FILES = NO | ||
1716 | 468 | |||
1717 | 469 | # If the sources in your project are distributed over multiple directories | ||
1718 | 470 | # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy | ||
1719 | 471 | # in the documentation. The default is NO. | ||
1720 | 472 | |||
1721 | 473 | SHOW_DIRECTORIES = YES | ||
1722 | 474 | |||
1723 | 475 | # Set the SHOW_FILES tag to NO to disable the generation of the Files page. | ||
1724 | 476 | # This will remove the Files entry from the Quick Index and from the | ||
1725 | 477 | # Folder Tree View (if specified). The default is YES. | ||
1726 | 478 | |||
1727 | 479 | SHOW_FILES = YES | ||
1728 | 480 | |||
1729 | 481 | # Set the SHOW_NAMESPACES tag to NO to disable the generation of the | ||
1730 | 482 | # Namespaces page. | ||
1731 | 483 | # This will remove the Namespaces entry from the Quick Index | ||
1732 | 484 | # and from the Folder Tree View (if specified). The default is YES. | ||
1733 | 485 | |||
1734 | 486 | SHOW_NAMESPACES = YES | ||
1735 | 487 | |||
1736 | 488 | # The FILE_VERSION_FILTER tag can be used to specify a program or script that | ||
1737 | 489 | # doxygen should invoke to get the current version for each file (typically from | ||
1738 | 490 | # the version control system). Doxygen will invoke the program by executing (via | ||
1739 | 491 | # popen()) the command <command> <input-file>, where <command> is the value of | ||
1740 | 492 | # the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file | ||
1741 | 493 | # provided by doxygen. Whatever the program writes to standard output | ||
1742 | 494 | # is used as the file version. See the manual for examples. | ||
1743 | 495 | |||
1744 | 496 | FILE_VERSION_FILTER = | ||
1745 | 497 | |||
1746 | 498 | # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by | ||
1747 | 499 | # doxygen. The layout file controls the global structure of the generated output files | ||
1748 | 500 | # in an output format independent way. The create the layout file that represents | ||
1749 | 501 | # doxygen's defaults, run doxygen with the -l option. You can optionally specify a | ||
1750 | 502 | # file name after the option, if omitted DoxygenLayout.xml will be used as the name | ||
1751 | 503 | # of the layout file. | ||
1752 | 504 | |||
1753 | 505 | LAYOUT_FILE = | ||
1754 | 506 | |||
1755 | 507 | #--------------------------------------------------------------------------- | ||
1756 | 508 | # configuration options related to warning and progress messages | ||
1757 | 509 | #--------------------------------------------------------------------------- | ||
1758 | 510 | |||
1759 | 511 | # The QUIET tag can be used to turn on/off the messages that are generated | ||
1760 | 512 | # by doxygen. Possible values are YES and NO. If left blank NO is used. | ||
1761 | 513 | |||
1762 | 514 | QUIET = NO | ||
1763 | 515 | |||
1764 | 516 | # The WARNINGS tag can be used to turn on/off the warning messages that are | ||
1765 | 517 | # generated by doxygen. Possible values are YES and NO. If left blank | ||
1766 | 518 | # NO is used. | ||
1767 | 519 | |||
1768 | 520 | WARNINGS = YES | ||
1769 | 521 | |||
1770 | 522 | # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings | ||
1771 | 523 | # for undocumented members. If EXTRACT_ALL is set to YES then this flag will | ||
1772 | 524 | # automatically be disabled. | ||
1773 | 525 | |||
1774 | 526 | WARN_IF_UNDOCUMENTED = YES | ||
1775 | 527 | |||
1776 | 528 | # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for | ||
1777 | 529 | # potential errors in the documentation, such as not documenting some | ||
1778 | 530 | # parameters in a documented function, or documenting parameters that | ||
1779 | 531 | # don't exist or using markup commands wrongly. | ||
1780 | 532 | |||
1781 | 533 | WARN_IF_DOC_ERROR = YES | ||
1782 | 534 | |||
1783 | 535 | # This WARN_NO_PARAMDOC option can be abled to get warnings for | ||
1784 | 536 | # functions that are documented, but have no documentation for their parameters | ||
1785 | 537 | # or return value. If set to NO (the default) doxygen will only warn about | ||
1786 | 538 | # wrong or incomplete parameter documentation, but not about the absence of | ||
1787 | 539 | # documentation. | ||
1788 | 540 | |||
1789 | 541 | WARN_NO_PARAMDOC = NO | ||
1790 | 542 | |||
1791 | 543 | # The WARN_FORMAT tag determines the format of the warning messages that | ||
1792 | 544 | # doxygen can produce. The string should contain the $file, $line, and $text | ||
1793 | 545 | # tags, which will be replaced by the file and line number from which the | ||
1794 | 546 | # warning originated and the warning text. Optionally the format may contain | ||
1795 | 547 | # $version, which will be replaced by the version of the file (if it could | ||
1796 | 548 | # be obtained via FILE_VERSION_FILTER) | ||
1797 | 549 | |||
1798 | 550 | WARN_FORMAT = "$file:$line: $text" | ||
1799 | 551 | |||
1800 | 552 | # The WARN_LOGFILE tag can be used to specify a file to which warning | ||
1801 | 553 | # and error messages should be written. If left blank the output is written | ||
1802 | 554 | # to stderr. | ||
1803 | 555 | |||
1804 | 556 | WARN_LOGFILE = | ||
1805 | 557 | |||
1806 | 558 | #--------------------------------------------------------------------------- | ||
1807 | 559 | # configuration options related to the input files | ||
1808 | 560 | #--------------------------------------------------------------------------- | ||
1809 | 561 | |||
1810 | 562 | # The INPUT tag can be used to specify the files and/or directories that contain | ||
1811 | 563 | # documented source files. You may enter file names like "myfile.cpp" or | ||
1812 | 564 | # directories like "/usr/src/myproject". Separate the files or directories | ||
1813 | 565 | # with spaces. | ||
1814 | 566 | |||
1815 | 567 | INPUT = H \ | ||
1816 | 568 | interfaces \ | ||
1817 | 569 | frontends/CsoundVST \ | ||
1818 | 570 | frontends/CsoundAC \ | ||
1819 | 571 | frontends/tclcsound | ||
1820 | 572 | |||
1821 | 573 | # This tag can be used to specify the character encoding of the source files | ||
1822 | 574 | # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is | ||
1823 | 575 | # also the default input encoding. Doxygen uses libiconv (or the iconv built | ||
1824 | 576 | # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for | ||
1825 | 577 | # the list of possible encodings. | ||
1826 | 578 | |||
1827 | 579 | INPUT_ENCODING = UTF-8 | ||
1828 | 580 | |||
1829 | 581 | # If the value of the INPUT tag contains directories, you can use the | ||
1830 | 582 | # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp | ||
1831 | 583 | # and *.h) to filter out the source-files in the directories. If left | ||
1832 | 584 | # blank the following patterns are tested: | ||
1833 | 585 | # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx | ||
1834 | 586 | # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 | ||
1835 | 587 | |||
1836 | 588 | FILE_PATTERNS = *.h \ | ||
1837 | 589 | *.hh \ | ||
1838 | 590 | *.hxx \ | ||
1839 | 591 | *.hpp \ | ||
1840 | 592 | *.h++ | ||
1841 | 593 | |||
1842 | 594 | # The RECURSIVE tag can be used to turn specify whether or not subdirectories | ||
1843 | 595 | # should be searched for input files as well. Possible values are YES and NO. | ||
1844 | 596 | # If left blank NO is used. | ||
1845 | 597 | |||
1846 | 598 | RECURSIVE = NO | ||
1847 | 599 | |||
1848 | 600 | # The EXCLUDE tag can be used to specify files and/or directories that should | ||
1849 | 601 | # excluded from the INPUT source files. This way you can easily exclude a | ||
1850 | 602 | # subdirectory from a directory tree whose root is specified with the INPUT tag. | ||
1851 | 603 | |||
1852 | 604 | EXCLUDE = | ||
1853 | 605 | |||
1854 | 606 | # The EXCLUDE_SYMLINKS tag can be used select whether or not files or | ||
1855 | 607 | # directories that are symbolic links (a Unix filesystem feature) are excluded | ||
1856 | 608 | # from the input. | ||
1857 | 609 | |||
1858 | 610 | EXCLUDE_SYMLINKS = NO | ||
1859 | 611 | |||
1860 | 612 | # If the value of the INPUT tag contains directories, you can use the | ||
1861 | 613 | # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude | ||
1862 | 614 | # certain files from those directories. Note that the wildcards are matched | ||
1863 | 615 | # against the file with absolute path, so to exclude all test directories | ||
1864 | 616 | # for example use the pattern */test/* | ||
1865 | 617 | |||
1866 | 618 | EXCLUDE_PATTERNS = AEff* \ | ||
1867 | 619 | aeff* \ | ||
1868 | 620 | AudioEff* \ | ||
1869 | 621 | audioeff* \ | ||
1870 | 622 | *wrap* | ||
1871 | 623 | |||
1872 | 624 | # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names | ||
1873 | 625 | # (namespaces, classes, functions, etc.) that should be excluded from the | ||
1874 | 626 | # output. The symbol name can be a fully qualified name, a word, or if the | ||
1875 | 627 | # wildcard * is used, a substring. Examples: ANamespace, AClass, | ||
1876 | 628 | # AClass::ANamespace, ANamespace::*Test | ||
1877 | 629 | |||
1878 | 630 | EXCLUDE_SYMBOLS = | ||
1879 | 631 | |||
1880 | 632 | # The EXAMPLE_PATH tag can be used to specify one or more files or | ||
1881 | 633 | # directories that contain example code fragments that are included (see | ||
1882 | 634 | # the \include command). | ||
1883 | 635 | |||
1884 | 636 | EXAMPLE_PATH = | ||
1885 | 637 | |||
1886 | 638 | # If the value of the EXAMPLE_PATH tag contains directories, you can use the | ||
1887 | 639 | # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp | ||
1888 | 640 | # and *.h) to filter out the source-files in the directories. If left | ||
1889 | 641 | # blank all files are included. | ||
1890 | 642 | |||
1891 | 643 | EXAMPLE_PATTERNS = | ||
1892 | 644 | |||
1893 | 645 | # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be | ||
1894 | 646 | # searched for input files to be used with the \include or \dontinclude | ||
1895 | 647 | # commands irrespective of the value of the RECURSIVE tag. | ||
1896 | 648 | # Possible values are YES and NO. If left blank NO is used. | ||
1897 | 649 | |||
1898 | 650 | EXAMPLE_RECURSIVE = NO | ||
1899 | 651 | |||
1900 | 652 | # The IMAGE_PATH tag can be used to specify one or more files or | ||
1901 | 653 | # directories that contain image that are included in the documentation (see | ||
1902 | 654 | # the \image command). | ||
1903 | 655 | |||
1904 | 656 | IMAGE_PATH = | ||
1905 | 657 | |||
1906 | 658 | # The INPUT_FILTER tag can be used to specify a program that doxygen should | ||
1907 | 659 | # invoke to filter for each input file. Doxygen will invoke the filter program | ||
1908 | 660 | # by executing (via popen()) the command <filter> <input-file>, where <filter> | ||
1909 | 661 | # is the value of the INPUT_FILTER tag, and <input-file> is the name of an | ||
1910 | 662 | # input file. Doxygen will then use the output that the filter program writes | ||
1911 | 663 | # to standard output. | ||
1912 | 664 | # If FILTER_PATTERNS is specified, this tag will be | ||
1913 | 665 | # ignored. | ||
1914 | 666 | |||
1915 | 667 | INPUT_FILTER = | ||
1916 | 668 | |||
1917 | 669 | # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern | ||
1918 | 670 | # basis. | ||
1919 | 671 | # Doxygen will compare the file name with each pattern and apply the | ||
1920 | 672 | # filter if there is a match. | ||
1921 | 673 | # The filters are a list of the form: | ||
1922 | 674 | # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further | ||
1923 | 675 | # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER | ||
1924 | 676 | # is applied to all files. | ||
1925 | 677 | |||
1926 | 678 | FILTER_PATTERNS = | ||
1927 | 679 | |||
1928 | 680 | # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using | ||
1929 | 681 | # INPUT_FILTER) will be used to filter the input files when producing source | ||
1930 | 682 | # files to browse (i.e. when SOURCE_BROWSER is set to YES). | ||
1931 | 683 | |||
1932 | 684 | FILTER_SOURCE_FILES = NO | ||
1933 | 685 | |||
1934 | 686 | #--------------------------------------------------------------------------- | ||
1935 | 687 | # configuration options related to source browsing | ||
1936 | 688 | #--------------------------------------------------------------------------- | ||
1937 | 689 | |||
1938 | 690 | # If the SOURCE_BROWSER tag is set to YES then a list of source files will | ||
1939 | 691 | # be generated. Documented entities will be cross-referenced with these sources. | ||
1940 | 692 | # Note: To get rid of all source code in the generated output, make sure also | ||
1941 | 693 | # VERBATIM_HEADERS is set to NO. | ||
1942 | 694 | |||
1943 | 695 | SOURCE_BROWSER = NO | ||
1944 | 696 | |||
1945 | 697 | # Setting the INLINE_SOURCES tag to YES will include the body | ||
1946 | 698 | # of functions and classes directly in the documentation. | ||
1947 | 699 | |||
1948 | 700 | INLINE_SOURCES = NO | ||
1949 | 701 | |||
1950 | 702 | # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct | ||
1951 | 703 | # doxygen to hide any special comment blocks from generated source code | ||
1952 | 704 | # fragments. Normal C and C++ comments will always remain visible. | ||
1953 | 705 | |||
1954 | 706 | STRIP_CODE_COMMENTS = YES | ||
1955 | 707 | |||
1956 | 708 | # If the REFERENCED_BY_RELATION tag is set to YES | ||
1957 | 709 | # then for each documented function all documented | ||
1958 | 710 | # functions referencing it will be listed. | ||
1959 | 711 | |||
1960 | 712 | REFERENCED_BY_RELATION = YES | ||
1961 | 713 | |||
1962 | 714 | # If the REFERENCES_RELATION tag is set to YES | ||
1963 | 715 | # then for each documented function all documented entities | ||
1964 | 716 | # called/used by that function will be listed. | ||
1965 | 717 | |||
1966 | 718 | REFERENCES_RELATION = YES | ||
1967 | 719 | |||
1968 | 720 | # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) | ||
1969 | 721 | # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from | ||
1970 | 722 | # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will | ||
1971 | 723 | # link to the source code. | ||
1972 | 724 | # Otherwise they will link to the documentation. | ||
1973 | 725 | |||
1974 | 726 | REFERENCES_LINK_SOURCE = YES | ||
1975 | 727 | |||
1976 | 728 | # If the USE_HTAGS tag is set to YES then the references to source code | ||
1977 | 729 | # will point to the HTML generated by the htags(1) tool instead of doxygen | ||
1978 | 730 | # built-in source browser. The htags tool is part of GNU's global source | ||
1979 | 731 | # tagging system (see http://www.gnu.org/software/global/global.html). You | ||
1980 | 732 | # will need version 4.8.6 or higher. | ||
1981 | 733 | |||
1982 | 734 | USE_HTAGS = NO | ||
1983 | 735 | |||
1984 | 736 | # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen | ||
1985 | 737 | # will generate a verbatim copy of the header file for each class for | ||
1986 | 738 | # which an include is specified. Set to NO to disable this. | ||
1987 | 739 | |||
1988 | 740 | VERBATIM_HEADERS = NO | ||
1989 | 741 | |||
1990 | 742 | #--------------------------------------------------------------------------- | ||
1991 | 743 | # configuration options related to the alphabetical class index | ||
1992 | 744 | #--------------------------------------------------------------------------- | ||
1993 | 745 | |||
1994 | 746 | # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index | ||
1995 | 747 | # of all compounds will be generated. Enable this if the project | ||
1996 | 748 | # contains a lot of classes, structs, unions or interfaces. | ||
1997 | 749 | |||
1998 | 750 | ALPHABETICAL_INDEX = YES | ||
1999 | 751 | |||
2000 | 752 | # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then | ||
2001 | 753 | # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns | ||
2002 | 754 | # in which this list will be split (can be a number in the range [1..20]) | ||
2003 | 755 | |||
2004 | 756 | COLS_IN_ALPHA_INDEX = 5 | ||
2005 | 757 | |||
2006 | 758 | # In case all classes in a project start with a common prefix, all | ||
2007 | 759 | # classes will be put under the same header in the alphabetical index. | ||
2008 | 760 | # The IGNORE_PREFIX tag can be used to specify one or more prefixes that | ||
2009 | 761 | # should be ignored while generating the index headers. | ||
2010 | 762 | |||
2011 | 763 | IGNORE_PREFIX = | ||
2012 | 764 | |||
2013 | 765 | #--------------------------------------------------------------------------- | ||
2014 | 766 | # configuration options related to the HTML output | ||
2015 | 767 | #--------------------------------------------------------------------------- | ||
2016 | 768 | |||
2017 | 769 | # If the GENERATE_HTML tag is set to YES (the default) Doxygen will | ||
2018 | 770 | # generate HTML output. | ||
2019 | 771 | |||
2020 | 772 | GENERATE_HTML = YES | ||
2021 | 773 | |||
2022 | 774 | # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. | ||
2023 | 775 | # If a relative path is entered the value of OUTPUT_DIRECTORY will be | ||
2024 | 776 | # put in front of it. If left blank `html' will be used as the default path. | ||
2025 | 777 | |||
2026 | 778 | HTML_OUTPUT = html | ||
2027 | 779 | |||
2028 | 780 | # The HTML_FILE_EXTENSION tag can be used to specify the file extension for | ||
2029 | 781 | # each generated HTML page (for example: .htm,.php,.asp). If it is left blank | ||
2030 | 782 | # doxygen will generate files with .html extension. | ||
2031 | 783 | |||
2032 | 784 | HTML_FILE_EXTENSION = .html | ||
2033 | 785 | |||
2034 | 786 | # The HTML_HEADER tag can be used to specify a personal HTML header for | ||
2035 | 787 | # each generated HTML page. If it is left blank doxygen will generate a | ||
2036 | 788 | # standard header. | ||
2037 | 789 | |||
2038 | 790 | HTML_HEADER = | ||
2039 | 791 | |||
2040 | 792 | # The HTML_FOOTER tag can be used to specify a personal HTML footer for | ||
2041 | 793 | # each generated HTML page. If it is left blank doxygen will generate a | ||
2042 | 794 | # standard footer. | ||
2043 | 795 | |||
2044 | 796 | HTML_FOOTER = | ||
2045 | 797 | |||
2046 | 798 | # The HTML_STYLESHEET tag can be used to specify a user-defined cascading | ||
2047 | 799 | # style sheet that is used by each HTML page. It can be used to | ||
2048 | 800 | # fine-tune the look of the HTML output. If the tag is left blank doxygen | ||
2049 | 801 | # will generate a default style sheet. Note that doxygen will try to copy | ||
2050 | 802 | # the style sheet file to the HTML output directory, so don't put your own | ||
2051 | 803 | # stylesheet in the HTML output directory as well, or it will be erased! | ||
2052 | 804 | |||
2053 | 805 | HTML_STYLESHEET = | ||
2054 | 806 | |||
2055 | 807 | # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, | ||
2056 | 808 | # files or namespaces will be aligned in HTML using tables. If set to | ||
2057 | 809 | # NO a bullet list will be used. | ||
2058 | 810 | |||
2059 | 811 | HTML_ALIGN_MEMBERS = YES | ||
2060 | 812 | |||
2061 | 813 | # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML | ||
2062 | 814 | # documentation will contain sections that can be hidden and shown after the | ||
2063 | 815 | # page has loaded. For this to work a browser that supports | ||
2064 | 816 | # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox | ||
2065 | 817 | # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). | ||
2066 | 818 | |||
2067 | 819 | HTML_DYNAMIC_SECTIONS = YES | ||
2068 | 820 | |||
2069 | 821 | # If the GENERATE_DOCSET tag is set to YES, additional index files | ||
2070 | 822 | # will be generated that can be used as input for Apple's Xcode 3 | ||
2071 | 823 | # integrated development environment, introduced with OSX 10.5 (Leopard). | ||
2072 | 824 | # To create a documentation set, doxygen will generate a Makefile in the | ||
2073 | 825 | # HTML output directory. Running make will produce the docset in that | ||
2074 | 826 | # directory and running "make install" will install the docset in | ||
2075 | 827 | # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find | ||
2076 | 828 | # it at startup. | ||
2077 | 829 | # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. | ||
2078 | 830 | |||
2079 | 831 | GENERATE_DOCSET = NO | ||
2080 | 832 | |||
2081 | 833 | # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the | ||
2082 | 834 | # feed. A documentation feed provides an umbrella under which multiple | ||
2083 | 835 | # documentation sets from a single provider (such as a company or product suite) | ||
2084 | 836 | # can be grouped. | ||
2085 | 837 | |||
2086 | 838 | DOCSET_FEEDNAME = "Doxygen generated docs" | ||
2087 | 839 | |||
2088 | 840 | # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that | ||
2089 | 841 | # should uniquely identify the documentation set bundle. This should be a | ||
2090 | 842 | # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen | ||
2091 | 843 | # will append .docset to the name. | ||
2092 | 844 | |||
2093 | 845 | DOCSET_BUNDLE_ID = org.doxygen.Project | ||
2094 | 846 | |||
2095 | 847 | # If the GENERATE_HTMLHELP tag is set to YES, additional index files | ||
2096 | 848 | # will be generated that can be used as input for tools like the | ||
2097 | 849 | # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) | ||
2098 | 850 | # of the generated HTML documentation. | ||
2099 | 851 | |||
2100 | 852 | GENERATE_HTMLHELP = NO | ||
2101 | 853 | |||
2102 | 854 | # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can | ||
2103 | 855 | # be used to specify the file name of the resulting .chm file. You | ||
2104 | 856 | # can add a path in front of the file if the result should not be | ||
2105 | 857 | # written to the html output directory. | ||
2106 | 858 | |||
2107 | 859 | CHM_FILE = | ||
2108 | 860 | |||
2109 | 861 | # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can | ||
2110 | 862 | # be used to specify the location (absolute path including file name) of | ||
2111 | 863 | # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run | ||
2112 | 864 | # the HTML help compiler on the generated index.hhp. | ||
2113 | 865 | |||
2114 | 866 | HHC_LOCATION = | ||
2115 | 867 | |||
2116 | 868 | # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag | ||
2117 | 869 | # controls if a separate .chi index file is generated (YES) or that | ||
2118 | 870 | # it should be included in the master .chm file (NO). | ||
2119 | 871 | |||
2120 | 872 | GENERATE_CHI = NO | ||
2121 | 873 | |||
2122 | 874 | # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING | ||
2123 | 875 | # is used to encode HtmlHelp index (hhk), content (hhc) and project file | ||
2124 | 876 | # content. | ||
2125 | 877 | |||
2126 | 878 | CHM_INDEX_ENCODING = | ||
2127 | 879 | |||
2128 | 880 | # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag | ||
2129 | 881 | # controls whether a binary table of contents is generated (YES) or a | ||
2130 | 882 | # normal table of contents (NO) in the .chm file. | ||
2131 | 883 | |||
2132 | 884 | BINARY_TOC = NO | ||
2133 | 885 | |||
2134 | 886 | # The TOC_EXPAND flag can be set to YES to add extra items for group members | ||
2135 | 887 | # to the contents of the HTML help documentation and to the tree view. | ||
2136 | 888 | |||
2137 | 889 | TOC_EXPAND = NO | ||
2138 | 890 | |||
2139 | 891 | # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER | ||
2140 | 892 | # are set, an additional index file will be generated that can be used as input for | ||
2141 | 893 | # Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated | ||
2142 | 894 | # HTML documentation. | ||
2143 | 895 | |||
2144 | 896 | GENERATE_QHP = NO | ||
2145 | 897 | |||
2146 | 898 | # If the QHG_LOCATION tag is specified, the QCH_FILE tag can | ||
2147 | 899 | # be used to specify the file name of the resulting .qch file. | ||
2148 | 900 | # The path specified is relative to the HTML output folder. | ||
2149 | 901 | |||
2150 | 902 | QCH_FILE = | ||
2151 | 903 | |||
2152 | 904 | # The QHP_NAMESPACE tag specifies the namespace to use when generating | ||
2153 | 905 | # Qt Help Project output. For more information please see | ||
2154 | 906 | # http://doc.trolltech.com/qthelpproject.html#namespace | ||
2155 | 907 | |||
2156 | 908 | QHP_NAMESPACE = | ||
2157 | 909 | |||
2158 | 910 | # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating | ||
2159 | 911 | # Qt Help Project output. For more information please see | ||
2160 | 912 | # http://doc.trolltech.com/qthelpproject.html#virtual-folders | ||
2161 | 913 | |||
2162 | 914 | QHP_VIRTUAL_FOLDER = doc | ||
2163 | 915 | |||
2164 | 916 | # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. | ||
2165 | 917 | # For more information please see | ||
2166 | 918 | # http://doc.trolltech.com/qthelpproject.html#custom-filters | ||
2167 | 919 | |||
2168 | 920 | QHP_CUST_FILTER_NAME = | ||
2169 | 921 | |||
2170 | 922 | # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see | ||
2171 | 923 | # <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>. | ||
2172 | 924 | |||
2173 | 925 | QHP_CUST_FILTER_ATTRS = | ||
2174 | 926 | |||
2175 | 927 | # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's | ||
2176 | 928 | # filter section matches. | ||
2177 | 929 | # <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>. | ||
2178 | 930 | |||
2179 | 931 | QHP_SECT_FILTER_ATTRS = | ||
2180 | 932 | |||
2181 | 933 | # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can | ||
2182 | 934 | # be used to specify the location of Qt's qhelpgenerator. | ||
2183 | 935 | # If non-empty doxygen will try to run qhelpgenerator on the generated | ||
2184 | 936 | # .qhp file. | ||
2185 | 937 | |||
2186 | 938 | QHG_LOCATION = | ||
2187 | 939 | |||
2188 | 940 | # The DISABLE_INDEX tag can be used to turn on/off the condensed index at | ||
2189 | 941 | # top of each HTML page. The value NO (the default) enables the index and | ||
2190 | 942 | # the value YES disables it. | ||
2191 | 943 | |||
2192 | 944 | DISABLE_INDEX = NO | ||
2193 | 945 | |||
2194 | 946 | # This tag can be used to set the number of enum values (range [1..20]) | ||
2195 | 947 | # that doxygen will group on one line in the generated HTML documentation. | ||
2196 | 948 | |||
2197 | 949 | ENUM_VALUES_PER_LINE = 4 | ||
2198 | 950 | |||
2199 | 951 | # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index | ||
2200 | 952 | # structure should be generated to display hierarchical information. | ||
2201 | 953 | # If the tag value is set to FRAME, a side panel will be generated | ||
2202 | 954 | # containing a tree-like index structure (just like the one that | ||
2203 | 955 | # is generated for HTML Help). For this to work a browser that supports | ||
2204 | 956 | # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, | ||
2205 | 957 | # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are | ||
2206 | 958 | # probably better off using the HTML help feature. Other possible values | ||
2207 | 959 | # for this tag are: HIERARCHIES, which will generate the Groups, Directories, | ||
2208 | 960 | # and Class Hierarchy pages using a tree view instead of an ordered list; | ||
2209 | 961 | # ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which | ||
2210 | 962 | # disables this behavior completely. For backwards compatibility with previous | ||
2211 | 963 | # releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE | ||
2212 | 964 | # respectively. | ||
2213 | 965 | |||
2214 | 966 | GENERATE_TREEVIEW = NO | ||
2215 | 967 | |||
2216 | 968 | # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be | ||
2217 | 969 | # used to set the initial width (in pixels) of the frame in which the tree | ||
2218 | 970 | # is shown. | ||
2219 | 971 | |||
2220 | 972 | TREEVIEW_WIDTH = 250 | ||
2221 | 973 | |||
2222 | 974 | # Use this tag to change the font size of Latex formulas included | ||
2223 | 975 | # as images in the HTML documentation. The default is 10. Note that | ||
2224 | 976 | # when you change the font size after a successful doxygen run you need | ||
2225 | 977 | # to manually remove any form_*.png images from the HTML output directory | ||
2226 | 978 | # to force them to be regenerated. | ||
2227 | 979 | |||
2228 | 980 | FORMULA_FONTSIZE = 10 | ||
2229 | 981 | |||
2230 | 982 | #--------------------------------------------------------------------------- | ||
2231 | 983 | # configuration options related to the LaTeX output | ||
2232 | 984 | #--------------------------------------------------------------------------- | ||
2233 | 985 | |||
2234 | 986 | # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will | ||
2235 | 987 | # generate Latex output. | ||
2236 | 988 | |||
2237 | 989 | GENERATE_LATEX = NO | ||
2238 | 990 | |||
2239 | 991 | # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. | ||
2240 | 992 | # If a relative path is entered the value of OUTPUT_DIRECTORY will be | ||
2241 | 993 | # put in front of it. If left blank `latex' will be used as the default path. | ||
2242 | 994 | |||
2243 | 995 | LATEX_OUTPUT = latex | ||
2244 | 996 | |||
2245 | 997 | # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be | ||
2246 | 998 | # invoked. If left blank `latex' will be used as the default command name. | ||
2247 | 999 | |||
2248 | 1000 | LATEX_CMD_NAME = pdflatex | ||
2249 | 1001 | |||
2250 | 1002 | # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to | ||
2251 | 1003 | # generate index for LaTeX. If left blank `makeindex' will be used as the | ||
2252 | 1004 | # default command name. | ||
2253 | 1005 | |||
2254 | 1006 | MAKEINDEX_CMD_NAME = makeindex | ||
2255 | 1007 | |||
2256 | 1008 | # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact | ||
2257 | 1009 | # LaTeX documents. This may be useful for small projects and may help to | ||
2258 | 1010 | # save some trees in general. | ||
2259 | 1011 | |||
2260 | 1012 | COMPACT_LATEX = NO | ||
2261 | 1013 | |||
2262 | 1014 | # The PAPER_TYPE tag can be used to set the paper type that is used | ||
2263 | 1015 | # by the printer. Possible values are: a4, a4wide, letter, legal and | ||
2264 | 1016 | # executive. If left blank a4wide will be used. | ||
2265 | 1017 | |||
2266 | 1018 | PAPER_TYPE = letter | ||
2267 | 1019 | |||
2268 | 1020 | # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX | ||
2269 | 1021 | # packages that should be included in the LaTeX output. | ||
2270 | 1022 | |||
2271 | 1023 | EXTRA_PACKAGES = | ||
2272 | 1024 | |||
2273 | 1025 | # The LATEX_HEADER tag can be used to specify a personal LaTeX header for | ||
2274 | 1026 | # the generated latex document. The header should contain everything until | ||
2275 | 1027 | # the first chapter. If it is left blank doxygen will generate a | ||
2276 | 1028 | # standard header. Notice: only use this tag if you know what you are doing! | ||
2277 | 1029 | |||
2278 | 1030 | LATEX_HEADER = refman_header.tex | ||
2279 | 1031 | |||
2280 | 1032 | # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated | ||
2281 | 1033 | # is prepared for conversion to pdf (using ps2pdf). The pdf file will | ||
2282 | 1034 | # contain links (just like the HTML output) instead of page references | ||
2283 | 1035 | # This makes the output suitable for online browsing using a pdf viewer. | ||
2284 | 1036 | |||
2285 | 1037 | PDF_HYPERLINKS = YES | ||
2286 | 1038 | |||
2287 | 1039 | # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of | ||
2288 | 1040 | # plain latex in the generated Makefile. Set this option to YES to get a | ||
2289 | 1041 | # higher quality PDF documentation. | ||
2290 | 1042 | |||
2291 | 1043 | USE_PDFLATEX = YES | ||
2292 | 1044 | |||
2293 | 1045 | # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. | ||
2294 | 1046 | # command to the generated LaTeX files. This will instruct LaTeX to keep | ||
2295 | 1047 | # running if errors occur, instead of asking the user for help. | ||
2296 | 1048 | # This option is also used when generating formulas in HTML. | ||
2297 | 1049 | |||
2298 | 1050 | LATEX_BATCHMODE = YES | ||
2299 | 1051 | |||
2300 | 1052 | # If LATEX_HIDE_INDICES is set to YES then doxygen will not | ||
2301 | 1053 | # include the index chapters (such as File Index, Compound Index, etc.) | ||
2302 | 1054 | # in the output. | ||
2303 | 1055 | |||
2304 | 1056 | LATEX_HIDE_INDICES = NO | ||
2305 | 1057 | |||
2306 | 1058 | #--------------------------------------------------------------------------- | ||
2307 | 1059 | # configuration options related to the RTF output | ||
2308 | 1060 | #--------------------------------------------------------------------------- | ||
2309 | 1061 | |||
2310 | 1062 | # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output | ||
2311 | 1063 | # The RTF output is optimized for Word 97 and may not look very pretty with | ||
2312 | 1064 | # other RTF readers or editors. | ||
2313 | 1065 | |||
2314 | 1066 | GENERATE_RTF = NO | ||
2315 | 1067 | |||
2316 | 1068 | # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. | ||
2317 | 1069 | # If a relative path is entered the value of OUTPUT_DIRECTORY will be | ||
2318 | 1070 | # put in front of it. If left blank `rtf' will be used as the default path. | ||
2319 | 1071 | |||
2320 | 1072 | RTF_OUTPUT = rtf | ||
2321 | 1073 | |||
2322 | 1074 | # If the COMPACT_RTF tag is set to YES Doxygen generates more compact | ||
2323 | 1075 | # RTF documents. This may be useful for small projects and may help to | ||
2324 | 1076 | # save some trees in general. | ||
2325 | 1077 | |||
2326 | 1078 | COMPACT_RTF = NO | ||
2327 | 1079 | |||
2328 | 1080 | # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated | ||
2329 | 1081 | # will contain hyperlink fields. The RTF file will | ||
2330 | 1082 | # contain links (just like the HTML output) instead of page references. | ||
2331 | 1083 | # This makes the output suitable for online browsing using WORD or other | ||
2332 | 1084 | # programs which support those fields. | ||
2333 | 1085 | # Note: wordpad (write) and others do not support links. | ||
2334 | 1086 | |||
2335 | 1087 | RTF_HYPERLINKS = NO | ||
2336 | 1088 | |||
2337 | 1089 | # Load stylesheet definitions from file. Syntax is similar to doxygen's | ||
2338 | 1090 | # config file, i.e. a series of assignments. You only have to provide | ||
2339 | 1091 | # replacements, missing definitions are set to their default value. | ||
2340 | 1092 | |||
2341 | 1093 | RTF_STYLESHEET_FILE = | ||
2342 | 1094 | |||
2343 | 1095 | # Set optional variables used in the generation of an rtf document. | ||
2344 | 1096 | # Syntax is similar to doxygen's config file. | ||
2345 | 1097 | |||
2346 | 1098 | RTF_EXTENSIONS_FILE = | ||
2347 | 1099 | |||
2348 | 1100 | #--------------------------------------------------------------------------- | ||
2349 | 1101 | # configuration options related to the man page output | ||
2350 | 1102 | #--------------------------------------------------------------------------- | ||
2351 | 1103 | |||
2352 | 1104 | # If the GENERATE_MAN tag is set to YES (the default) Doxygen will | ||
2353 | 1105 | # generate man pages | ||
2354 | 1106 | |||
2355 | 1107 | GENERATE_MAN = NO | ||
2356 | 1108 | |||
2357 | 1109 | # The MAN_OUTPUT tag is used to specify where the man pages will be put. | ||
2358 | 1110 | # If a relative path is entered the value of OUTPUT_DIRECTORY will be | ||
2359 | 1111 | # put in front of it. If left blank `man' will be used as the default path. | ||
2360 | 1112 | |||
2361 | 1113 | MAN_OUTPUT = man | ||
2362 | 1114 | |||
2363 | 1115 | # The MAN_EXTENSION tag determines the extension that is added to | ||
2364 | 1116 | # the generated man pages (default is the subroutine's section .3) | ||
2365 | 1117 | |||
2366 | 1118 | MAN_EXTENSION = .3 | ||
2367 | 1119 | |||
2368 | 1120 | # If the MAN_LINKS tag is set to YES and Doxygen generates man output, | ||
2369 | 1121 | # then it will generate one additional man file for each entity | ||
2370 | 1122 | # documented in the real man page(s). These additional files | ||
2371 | 1123 | # only source the real man page, but without them the man command | ||
2372 | 1124 | # would be unable to find the correct page. The default is NO. | ||
2373 | 1125 | |||
2374 | 1126 | MAN_LINKS = NO | ||
2375 | 1127 | |||
2376 | 1128 | #--------------------------------------------------------------------------- | ||
2377 | 1129 | # configuration options related to the XML output | ||
2378 | 1130 | #--------------------------------------------------------------------------- | ||
2379 | 1131 | |||
2380 | 1132 | # If the GENERATE_XML tag is set to YES Doxygen will | ||
2381 | 1133 | # generate an XML file that captures the structure of | ||
2382 | 1134 | # the code including all documentation. | ||
2383 | 1135 | |||
2384 | 1136 | GENERATE_XML = NO | ||
2385 | 1137 | |||
2386 | 1138 | # The XML_OUTPUT tag is used to specify where the XML pages will be put. | ||
2387 | 1139 | # If a relative path is entered the value of OUTPUT_DIRECTORY will be | ||
2388 | 1140 | # put in front of it. If left blank `xml' will be used as the default path. | ||
2389 | 1141 | |||
2390 | 1142 | XML_OUTPUT = xml | ||
2391 | 1143 | |||
2392 | 1144 | # The XML_SCHEMA tag can be used to specify an XML schema, | ||
2393 | 1145 | # which can be used by a validating XML parser to check the | ||
2394 | 1146 | # syntax of the XML files. | ||
2395 | 1147 | |||
2396 | 1148 | XML_SCHEMA = | ||
2397 | 1149 | |||
2398 | 1150 | # The XML_DTD tag can be used to specify an XML DTD, | ||
2399 | 1151 | # which can be used by a validating XML parser to check the | ||
2400 | 1152 | # syntax of the XML files. | ||
2401 | 1153 | |||
2402 | 1154 | XML_DTD = | ||
2403 | 1155 | |||
2404 | 1156 | # If the XML_PROGRAMLISTING tag is set to YES Doxygen will | ||
2405 | 1157 | # dump the program listings (including syntax highlighting | ||
2406 | 1158 | # and cross-referencing information) to the XML output. Note that | ||
2407 | 1159 | # enabling this will significantly increase the size of the XML output. | ||
2408 | 1160 | |||
2409 | 1161 | XML_PROGRAMLISTING = YES | ||
2410 | 1162 | |||
2411 | 1163 | #--------------------------------------------------------------------------- | ||
2412 | 1164 | # configuration options for the AutoGen Definitions output | ||
2413 | 1165 | #--------------------------------------------------------------------------- | ||
2414 | 1166 | |||
2415 | 1167 | # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will | ||
2416 | 1168 | # generate an AutoGen Definitions (see autogen.sf.net) file | ||
2417 | 1169 | # that captures the structure of the code including all | ||
2418 | 1170 | # documentation. Note that this feature is still experimental | ||
2419 | 1171 | # and incomplete at the moment. | ||
2420 | 1172 | |||
2421 | 1173 | GENERATE_AUTOGEN_DEF = NO | ||
2422 | 1174 | |||
2423 | 1175 | #--------------------------------------------------------------------------- | ||
2424 | 1176 | # configuration options related to the Perl module output | ||
2425 | 1177 | #--------------------------------------------------------------------------- | ||
2426 | 1178 | |||
2427 | 1179 | # If the GENERATE_PERLMOD tag is set to YES Doxygen will | ||
2428 | 1180 | # generate a Perl module file that captures the structure of | ||
2429 | 1181 | # the code including all documentation. Note that this | ||
2430 | 1182 | # feature is still experimental and incomplete at the | ||
2431 | 1183 | # moment. | ||
2432 | 1184 | |||
2433 | 1185 | GENERATE_PERLMOD = NO | ||
2434 | 1186 | |||
2435 | 1187 | # If the PERLMOD_LATEX tag is set to YES Doxygen will generate | ||
2436 | 1188 | # the necessary Makefile rules, Perl scripts and LaTeX code to be able | ||
2437 | 1189 | # to generate PDF and DVI output from the Perl module output. | ||
2438 | 1190 | |||
2439 | 1191 | PERLMOD_LATEX = NO | ||
2440 | 1192 | |||
2441 | 1193 | # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be | ||
2442 | 1194 | # nicely formatted so it can be parsed by a human reader. | ||
2443 | 1195 | # This is useful | ||
2444 | 1196 | # if you want to understand what is going on. | ||
2445 | 1197 | # On the other hand, if this | ||
2446 | 1198 | # tag is set to NO the size of the Perl module output will be much smaller | ||
2447 | 1199 | # and Perl will parse it just the same. | ||
2448 | 1200 | |||
2449 | 1201 | PERLMOD_PRETTY = YES | ||
2450 | 1202 | |||
2451 | 1203 | # The names of the make variables in the generated doxyrules.make file | ||
2452 | 1204 | # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. | ||
2453 | 1205 | # This is useful so different doxyrules.make files included by the same | ||
2454 | 1206 | # Makefile don't overwrite each other's variables. | ||
2455 | 1207 | |||
2456 | 1208 | PERLMOD_MAKEVAR_PREFIX = | ||
2457 | 1209 | |||
2458 | 1210 | #--------------------------------------------------------------------------- | ||
2459 | 1211 | # Configuration options related to the preprocessor | ||
2460 | 1212 | #--------------------------------------------------------------------------- | ||
2461 | 1213 | |||
2462 | 1214 | # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will | ||
2463 | 1215 | # evaluate all C-preprocessor directives found in the sources and include | ||
2464 | 1216 | # files. | ||
2465 | 1217 | |||
2466 | 1218 | ENABLE_PREPROCESSING = YES | ||
2467 | 1219 | |||
2468 | 1220 | # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro | ||
2469 | 1221 | # names in the source code. If set to NO (the default) only conditional | ||
2470 | 1222 | # compilation will be performed. Macro expansion can be done in a controlled | ||
2471 | 1223 | # way by setting EXPAND_ONLY_PREDEF to YES. | ||
2472 | 1224 | |||
2473 | 1225 | MACRO_EXPANSION = NO | ||
2474 | 1226 | |||
2475 | 1227 | # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES | ||
2476 | 1228 | # then the macro expansion is limited to the macros specified with the | ||
2477 | 1229 | # PREDEFINED and EXPAND_AS_DEFINED tags. | ||
2478 | 1230 | |||
2479 | 1231 | EXPAND_ONLY_PREDEF = NO | ||
2480 | 1232 | |||
2481 | 1233 | # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files | ||
2482 | 1234 | # in the INCLUDE_PATH (see below) will be search if a #include is found. | ||
2483 | 1235 | |||
2484 | 1236 | SEARCH_INCLUDES = YES | ||
2485 | 1237 | |||
2486 | 1238 | # The INCLUDE_PATH tag can be used to specify one or more directories that | ||
2487 | 1239 | # contain include files that are not input files but should be processed by | ||
2488 | 1240 | # the preprocessor. | ||
2489 | 1241 | |||
2490 | 1242 | INCLUDE_PATH = | ||
2491 | 1243 | |||
2492 | 1244 | # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard | ||
2493 | 1245 | # patterns (like *.h and *.hpp) to filter out the header-files in the | ||
2494 | 1246 | # directories. If left blank, the patterns specified with FILE_PATTERNS will | ||
2495 | 1247 | # be used. | ||
2496 | 1248 | |||
2497 | 1249 | INCLUDE_FILE_PATTERNS = | ||
2498 | 1250 | |||
2499 | 1251 | # The PREDEFINED tag can be used to specify one or more macro names that | ||
2500 | 1252 | # are defined before the preprocessor is started (similar to the -D option of | ||
2501 | 1253 | # gcc). The argument of the tag is a list of macros of the form: name | ||
2502 | 1254 | # or name=definition (no spaces). If the definition and the = are | ||
2503 | 1255 | # omitted =1 is assumed. To prevent a macro definition from being | ||
2504 | 1256 | # undefined via #undef or recursively expanded use the := operator | ||
2505 | 1257 | # instead of the = operator. | ||
2506 | 1258 | |||
2507 | 1259 | PREDEFINED = | ||
2508 | 1260 | |||
2509 | 1261 | # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then | ||
2510 | 1262 | # this tag can be used to specify a list of macro names that should be expanded. | ||
2511 | 1263 | # The macro definition that is found in the sources will be used. | ||
2512 | 1264 | # Use the PREDEFINED tag if you want to use a different macro definition. | ||
2513 | 1265 | |||
2514 | 1266 | EXPAND_AS_DEFINED = | ||
2515 | 1267 | |||
2516 | 1268 | # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then | ||
2517 | 1269 | # doxygen's preprocessor will remove all function-like macros that are alone | ||
2518 | 1270 | # on a line, have an all uppercase name, and do not end with a semicolon. Such | ||
2519 | 1271 | # function macros are typically used for boiler-plate code, and will confuse | ||
2520 | 1272 | # the parser if not removed. | ||
2521 | 1273 | |||
2522 | 1274 | SKIP_FUNCTION_MACROS = YES | ||
2523 | 1275 | |||
2524 | 1276 | #--------------------------------------------------------------------------- | ||
2525 | 1277 | # Configuration::additions related to external references | ||
2526 | 1278 | #--------------------------------------------------------------------------- | ||
2527 | 1279 | |||
2528 | 1280 | # The TAGFILES option can be used to specify one or more tagfiles. | ||
2529 | 1281 | # Optionally an initial location of the external documentation | ||
2530 | 1282 | # can be added for each tagfile. The format of a tag file without | ||
2531 | 1283 | # this location is as follows: | ||
2532 | 1284 | # | ||
2533 | 1285 | # TAGFILES = file1 file2 ... | ||
2534 | 1286 | # Adding location for the tag files is done as follows: | ||
2535 | 1287 | # | ||
2536 | 1288 | # TAGFILES = file1=loc1 "file2 = loc2" ... | ||
2537 | 1289 | # where "loc1" and "loc2" can be relative or absolute paths or | ||
2538 | 1290 | # URLs. If a location is present for each tag, the installdox tool | ||
2539 | 1291 | # does not have to be run to correct the links. | ||
2540 | 1292 | # Note that each tag file must have a unique name | ||
2541 | 1293 | # (where the name does NOT include the path) | ||
2542 | 1294 | # If a tag file is not located in the directory in which doxygen | ||
2543 | 1295 | # is run, you must also specify the path to the tagfile here. | ||
2544 | 1296 | |||
2545 | 1297 | TAGFILES = | ||
2546 | 1298 | |||
2547 | 1299 | # When a file name is specified after GENERATE_TAGFILE, doxygen will create | ||
2548 | 1300 | # a tag file that is based on the input files it reads. | ||
2549 | 1301 | |||
2550 | 1302 | GENERATE_TAGFILE = | ||
2551 | 1303 | |||
2552 | 1304 | # If the ALLEXTERNALS tag is set to YES all external classes will be listed | ||
2553 | 1305 | # in the class index. If set to NO only the inherited external classes | ||
2554 | 1306 | # will be listed. | ||
2555 | 1307 | |||
2556 | 1308 | ALLEXTERNALS = NO | ||
2557 | 1309 | |||
2558 | 1310 | # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed | ||
2559 | 1311 | # in the modules index. If set to NO, only the current project's groups will | ||
2560 | 1312 | # be listed. | ||
2561 | 1313 | |||
2562 | 1314 | EXTERNAL_GROUPS = YES | ||
2563 | 1315 | |||
2564 | 1316 | # The PERL_PATH should be the absolute path and name of the perl script | ||
2565 | 1317 | # interpreter (i.e. the result of `which perl'). | ||
2566 | 1318 | |||
2567 | 1319 | PERL_PATH = /usr/bin/perl | ||
2568 | 1320 | |||
2569 | 1321 | #--------------------------------------------------------------------------- | ||
2570 | 1322 | # Configuration options related to the dot tool | ||
2571 | 1323 | #--------------------------------------------------------------------------- | ||
2572 | 1324 | |||
2573 | 1325 | # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will | ||
2574 | 1326 | # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base | ||
2575 | 1327 | # or super classes. Setting the tag to NO turns the diagrams off. Note that | ||
2576 | 1328 | # this option is superseded by the HAVE_DOT option below. This is only a | ||
2577 | 1329 | # fallback. It is recommended to install and use dot, since it yields more | ||
2578 | 1330 | # powerful graphs. | ||
2579 | 1331 | |||
2580 | 1332 | CLASS_DIAGRAMS = NO | ||
2581 | 1333 | |||
2582 | 1334 | # You can define message sequence charts within doxygen comments using the \msc | ||
2583 | 1335 | # command. Doxygen will then run the mscgen tool (see | ||
2584 | 1336 | # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the | ||
2585 | 1337 | # documentation. The MSCGEN_PATH tag allows you to specify the directory where | ||
2586 | 1338 | # the mscgen tool resides. If left empty the tool is assumed to be found in the | ||
2587 | 1339 | # default search path. | ||
2588 | 1340 | |||
2589 | 1341 | MSCGEN_PATH = | ||
2590 | 1342 | |||
2591 | 1343 | # If set to YES, the inheritance and collaboration graphs will hide | ||
2592 | 1344 | # inheritance and usage relations if the target is undocumented | ||
2593 | 1345 | # or is not a class. | ||
2594 | 1346 | |||
2595 | 1347 | HIDE_UNDOC_RELATIONS = YES | ||
2596 | 1348 | |||
2597 | 1349 | # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is | ||
2598 | 1350 | # available from the path. This tool is part of Graphviz, a graph visualization | ||
2599 | 1351 | # toolkit from AT&T and Lucent Bell Labs. The other options in this section | ||
2600 | 1352 | # have no effect if this option is set to NO (the default) | ||
2601 | 1353 | |||
2602 | 1354 | HAVE_DOT = YES | ||
2603 | 1355 | |||
2604 | 1356 | # By default doxygen will write a font called FreeSans.ttf to the output | ||
2605 | 1357 | # directory and reference it in all dot files that doxygen generates. This | ||
2606 | 1358 | # font does not include all possible unicode characters however, so when you need | ||
2607 | 1359 | # these (or just want a differently looking font) you can specify the font name | ||
2608 | 1360 | # using DOT_FONTNAME. You need need to make sure dot is able to find the font, | ||
2609 | 1361 | # which can be done by putting it in a standard location or by setting the | ||
2610 | 1362 | # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory | ||
2611 | 1363 | # containing the font. | ||
2612 | 1364 | |||
2613 | 1365 | DOT_FONTNAME = FreeSans | ||
2614 | 1366 | |||
2615 | 1367 | # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. | ||
2616 | 1368 | # The default size is 10pt. | ||
2617 | 1369 | |||
2618 | 1370 | DOT_FONTSIZE = 10 | ||
2619 | 1371 | |||
2620 | 1372 | # By default doxygen will tell dot to use the output directory to look for the | ||
2621 | 1373 | # FreeSans.ttf font (which doxygen will put there itself). If you specify a | ||
2622 | 1374 | # different font using DOT_FONTNAME you can set the path where dot | ||
2623 | 1375 | # can find it using this tag. | ||
2624 | 1376 | |||
2625 | 1377 | DOT_FONTPATH = | ||
2626 | 1378 | |||
2627 | 1379 | # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen | ||
2628 | 1380 | # will generate a graph for each documented class showing the direct and | ||
2629 | 1381 | # indirect inheritance relations. Setting this tag to YES will force the | ||
2630 | 1382 | # the CLASS_DIAGRAMS tag to NO. | ||
2631 | 1383 | |||
2632 | 1384 | CLASS_GRAPH = YES | ||
2633 | 1385 | |||
2634 | 1386 | # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen | ||
2635 | 1387 | # will generate a graph for each documented class showing the direct and | ||
2636 | 1388 | # indirect implementation dependencies (inheritance, containment, and | ||
2637 | 1389 | # class references variables) of the class with other documented classes. | ||
2638 | 1390 | |||
2639 | 1391 | COLLABORATION_GRAPH = NO | ||
2640 | 1392 | |||
2641 | 1393 | # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen | ||
2642 | 1394 | # will generate a graph for groups, showing the direct groups dependencies | ||
2643 | 1395 | |||
2644 | 1396 | GROUP_GRAPHS = NO | ||
2645 | 1397 | |||
2646 | 1398 | # If the UML_LOOK tag is set to YES doxygen will generate inheritance and | ||
2647 | 1399 | # collaboration diagrams in a style similar to the OMG's Unified Modeling | ||
2648 | 1400 | # Language. | ||
2649 | 1401 | |||
2650 | 1402 | UML_LOOK = NO | ||
2651 | 1403 | |||
2652 | 1404 | # If set to YES, the inheritance and collaboration graphs will show the | ||
2653 | 1405 | # relations between templates and their instances. | ||
2654 | 1406 | |||
2655 | 1407 | TEMPLATE_RELATIONS = YES | ||
2656 | 1408 | |||
2657 | 1409 | # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT | ||
2658 | 1410 | # tags are set to YES then doxygen will generate a graph for each documented | ||
2659 | 1411 | # file showing the direct and indirect include dependencies of the file with | ||
2660 | 1412 | # other documented files. | ||
2661 | 1413 | |||
2662 | 1414 | INCLUDE_GRAPH = NO | ||
2663 | 1415 | |||
2664 | 1416 | # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and | ||
2665 | 1417 | # HAVE_DOT tags are set to YES then doxygen will generate a graph for each | ||
2666 | 1418 | # documented header file showing the documented files that directly or | ||
2667 | 1419 | # indirectly include this file. | ||
2668 | 1420 | |||
2669 | 1421 | INCLUDED_BY_GRAPH = NO | ||
2670 | 1422 | |||
2671 | 1423 | # If the CALL_GRAPH and HAVE_DOT options are set to YES then | ||
2672 | 1424 | # doxygen will generate a call dependency graph for every global function | ||
2673 | 1425 | # or class method. Note that enabling this option will significantly increase | ||
2674 | 1426 | # the time of a run. So in most cases it will be better to enable call graphs | ||
2675 | 1427 | # for selected functions only using the \callgraph command. | ||
2676 | 1428 | |||
2677 | 1429 | CALL_GRAPH = NO | ||
2678 | 1430 | |||
2679 | 1431 | # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then | ||
2680 | 1432 | # doxygen will generate a caller dependency graph for every global function | ||
2681 | 1433 | # or class method. Note that enabling this option will significantly increase | ||
2682 | 1434 | # the time of a run. So in most cases it will be better to enable caller | ||
2683 | 1435 | # graphs for selected functions only using the \callergraph command. | ||
2684 | 1436 | |||
2685 | 1437 | CALLER_GRAPH = NO | ||
2686 | 1438 | |||
2687 | 1439 | # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen | ||
2688 | 1440 | # will graphical hierarchy of all classes instead of a textual one. | ||
2689 | 1441 | |||
2690 | 1442 | GRAPHICAL_HIERARCHY = YES | ||
2691 | 1443 | |||
2692 | 1444 | # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES | ||
2693 | 1445 | # then doxygen will show the dependencies a directory has on other directories | ||
2694 | 1446 | # in a graphical way. The dependency relations are determined by the #include | ||
2695 | 1447 | # relations between the files in the directories. | ||
2696 | 1448 | |||
2697 | 1449 | DIRECTORY_GRAPH = YES | ||
2698 | 1450 | |||
2699 | 1451 | # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images | ||
2700 | 1452 | # generated by dot. Possible values are png, jpg, or gif | ||
2701 | 1453 | # If left blank png will be used. | ||
2702 | 1454 | |||
2703 | 1455 | DOT_IMAGE_FORMAT = png | ||
2704 | 1456 | |||
2705 | 1457 | # The tag DOT_PATH can be used to specify the path where the dot tool can be | ||
2706 | 1458 | # found. If left blank, it is assumed the dot tool can be found in the path. | ||
2707 | 1459 | |||
2708 | 1460 | DOT_PATH = D:\utah\opt\ATT\Graphviz\bin | ||
2709 | 1461 | |||
2710 | 1462 | # The DOTFILE_DIRS tag can be used to specify one or more directories that | ||
2711 | 1463 | # contain dot files that are included in the documentation (see the | ||
2712 | 1464 | # \dotfile command). | ||
2713 | 1465 | |||
2714 | 1466 | DOTFILE_DIRS = | ||
2715 | 1467 | |||
2716 | 1468 | # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of | ||
2717 | 1469 | # nodes that will be shown in the graph. If the number of nodes in a graph | ||
2718 | 1470 | # becomes larger than this value, doxygen will truncate the graph, which is | ||
2719 | 1471 | # visualized by representing a node as a red box. Note that doxygen if the | ||
2720 | 1472 | # number of direct children of the root node in a graph is already larger than | ||
2721 | 1473 | # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note | ||
2722 | 1474 | # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. | ||
2723 | 1475 | |||
2724 | 1476 | DOT_GRAPH_MAX_NODES = 50 | ||
2725 | 1477 | |||
2726 | 1478 | # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the | ||
2727 | 1479 | # graphs generated by dot. A depth value of 3 means that only nodes reachable | ||
2728 | 1480 | # from the root by following a path via at most 3 edges will be shown. Nodes | ||
2729 | 1481 | # that lay further from the root node will be omitted. Note that setting this | ||
2730 | 1482 | # option to 1 or 2 may greatly reduce the computation time needed for large | ||
2731 | 1483 | # code bases. Also note that the size of a graph can be further restricted by | ||
2732 | 1484 | # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. | ||
2733 | 1485 | |||
2734 | 1486 | MAX_DOT_GRAPH_DEPTH = 0 | ||
2735 | 1487 | |||
2736 | 1488 | # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent | ||
2737 | 1489 | # background. This is disabled by default, because dot on Windows does not | ||
2738 | 1490 | # seem to support this out of the box. Warning: Depending on the platform used, | ||
2739 | 1491 | # enabling this option may lead to badly anti-aliased labels on the edges of | ||
2740 | 1492 | # a graph (i.e. they become hard to read). | ||
2741 | 1493 | |||
2742 | 1494 | DOT_TRANSPARENT = YES | ||
2743 | 1495 | |||
2744 | 1496 | # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output | ||
2745 | 1497 | # files in one run (i.e. multiple -o and -T options on the command line). This | ||
2746 | 1498 | # makes dot run faster, but since only newer versions of dot (>1.8.10) | ||
2747 | 1499 | # support this, this feature is disabled by default. | ||
2748 | 1500 | |||
2749 | 1501 | DOT_MULTI_TARGETS = YES | ||
2750 | 1502 | |||
2751 | 1503 | # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will | ||
2752 | 1504 | # generate a legend page explaining the meaning of the various boxes and | ||
2753 | 1505 | # arrows in the dot generated graphs. | ||
2754 | 1506 | |||
2755 | 1507 | GENERATE_LEGEND = NO | ||
2756 | 1508 | |||
2757 | 1509 | # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will | ||
2758 | 1510 | # remove the intermediate dot files that are used to generate | ||
2759 | 1511 | # the various graphs. | ||
2760 | 1512 | |||
2761 | 1513 | DOT_CLEANUP = YES | ||
2762 | 1514 | |||
2763 | 1515 | #--------------------------------------------------------------------------- | ||
2764 | 1516 | # Options related to the search engine | ||
2765 | 1517 | #--------------------------------------------------------------------------- | ||
2766 | 1518 | |||
2767 | 1519 | # The SEARCHENGINE tag specifies whether or not a search engine should be | ||
2768 | 1520 | # used. If set to NO the values of all tags below this one will be ignored. | ||
2769 | 1521 | |||
2770 | 1522 | SEARCHENGINE = NO | ||
2771 | 1523 | 0 | ||
2772 | === removed directory '.pc/2008-apidoc-listings-pkg.patch' | |||
2773 | === removed file '.pc/2008-apidoc-listings-pkg.patch/refman_header.tex' | |||
2774 | --- .pc/2008-apidoc-listings-pkg.patch/refman_header.tex 2010-03-01 01:31:25 +0000 | |||
2775 | +++ .pc/2008-apidoc-listings-pkg.patch/refman_header.tex 1970-01-01 00:00:00 +0000 | |||
2776 | @@ -1,158 +0,0 @@ | |||
2777 | 1 | % C S O U N D 5 A P I R E F E R E N C E M A N U A L | ||
2778 | 2 | % The manual is produced from 2 sources: this header document for new features and users' guide, | ||
2779 | 3 | % and autogenerated Doxygen LaTeX files for Csound API reference documentation. To produce the entire manual: | ||
2780 | 4 | % 1. Run Doxygen in the csound5 directory. It will produce LaTeX output that includes the contents of this file, | ||
2781 | 5 | % as well as API documentation automatically generated from various Csound and CsoundVST header files. | ||
2782 | 6 | % 2. Doxygen will produce a doc/csound/latex/refman.tex file. Run pdflatex on this file to generate csound.pdf. You can | ||
2783 | 7 | % also run tex4ht on this file to produce an HTML form of the manual. Be sure to run in a mode that skips right on past | ||
2784 | 8 | % all the hundreds of LaTeX errors! | ||
2785 | 9 | % 3. Steps 1 and 3 are automated in SConstruct with the generatePdf=1 option. | ||
2786 | 10 | \batchmode | ||
2787 | 11 | \documentclass[letterpaper]{book} | ||
2788 | 12 | \usepackage{makeidx} | ||
2789 | 13 | \usepackage{fancyhdr} | ||
2790 | 14 | \usepackage{graphicx} | ||
2791 | 15 | \usepackage{multicol} | ||
2792 | 16 | \usepackage{float} | ||
2793 | 17 | \usepackage{textcomp} | ||
2794 | 18 | \usepackage{alltt} | ||
2795 | 19 | \usepackage{times} | ||
2796 | 20 | \usepackage{ifpdf} | ||
2797 | 21 | \ifpdf | ||
2798 | 22 | \usepackage[pdftex, | ||
2799 | 23 | pagebackref=true, | ||
2800 | 24 | colorlinks=true, | ||
2801 | 25 | linkcolor=blue, | ||
2802 | 26 | unicode | ||
2803 | 27 | ]{hyperref} | ||
2804 | 28 | \else | ||
2805 | 29 | \usepackage[ps2pdf, | ||
2806 | 30 | pagebackref=true, | ||
2807 | 31 | colorlinks=true, | ||
2808 | 32 | linkcolor=blue, | ||
2809 | 33 | unicode | ||
2810 | 34 | ]{hyperref} | ||
2811 | 35 | \usepackage{pspicture} | ||
2812 | 36 | \fi | ||
2813 | 37 | \usepackage[utf8]{inputenc} | ||
2814 | 38 | \usepackage{doxygen} | ||
2815 | 39 | \makeindex | ||
2816 | 40 | \setcounter{tocdepth}{1} | ||
2817 | 41 | \renewcommand{\footrulewidth}{0.4pt} | ||
2818 | 42 | \begin{document} | ||
2819 | 43 | \begin{titlepage} | ||
2820 | 44 | \vspace*{7cm} | ||
2821 | 45 | \begin{center} | ||
2822 | 46 | {\Large Csound and CsoundAC API Reference}\\ | ||
2823 | 47 | \vspace*{1cm} | ||
2824 | 48 | {\large Generated by Doxygen 1.5.5}\\ | ||
2825 | 49 | \vspace*{0.5cm} | ||
2826 | 50 | {\small Sat Mar 1 22:26:05 2008}\\ | ||
2827 | 51 | \end{center} | ||
2828 | 52 | \end{titlepage} | ||
2829 | 53 | \clearemptydoublepage | ||
2830 | 54 | \pagenumbering{roman} | ||
2831 | 55 | \tableofcontents | ||
2832 | 56 | \clearemptydoublepage | ||
2833 | 57 | \pagenumbering{arabic} | ||
2834 | 58 | \part{Licenses} | ||
2835 | 59 | \chapter{Csound, CsoundAC, and CsoundVST} | ||
2836 | 60 | |||
2837 | 61 | Csound is \copyright 1991--2003 by Barry Vercoe and John ffitch. | ||
2838 | 62 | |||
2839 | 63 | CsoundAC and CsoundVST are \copyright 2001--2007 by Michael Gogins. | ||
2840 | 64 | |||
2841 | 65 | Csound and CsoundAC are free software; you can redistribute them and/or modify them under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. | ||
2842 | 66 | |||
2843 | 67 | Csound and CsoundAC are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. | ||
2844 | 68 | |||
2845 | 69 | You should have received a copy of the GNU Lesser General Public License along with Csound and CsoundAC; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. | ||
2846 | 70 | |||
2847 | 71 | \chapter{Manual} | ||
2848 | 72 | |||
2849 | 73 | Permission is granted to copy, distribute and/or modify this document under the terms of the | ||
2850 | 74 | GNU Free Documentation License, Version 1.2 or any later version published by the Free Software | ||
2851 | 75 | Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. | ||
2852 | 76 | |||
2853 | 77 | \part{Outline of the API} | ||
2854 | 78 | |||
2855 | 79 | \chapter{The Csound Application Programming Interfaces} | ||
2856 | 80 | |||
2857 | 81 | The Csound Application Programming Interface (API) reference is contained in the chapters following this one. The Csound API actually consists of several APIs: | ||
2858 | 82 | |||
2859 | 83 | \begin{itemize} | ||
2860 | 84 | |||
2861 | 85 | \item \emph{The basic Csound C API.} Include \texttt{csound.h} (page \pageref{csound_8h}) and link with \texttt{libcsound.a}. This also includes the Cscore API (see below). | ||
2862 | 86 | |||
2863 | 87 | \item \emph{The basic Csound C++ API.} Include \texttt{csound.hpp} (page \pageref{csound_8hpp}) and link with \texttt{libcsound.a}. | ||
2864 | 88 | |||
2865 | 89 | \item \emph{The extended Csound C++ API.} Include \texttt{CppSound.hpp} (page \pageref{CppSound_8hpp}) and \texttt{CppSound.hpp} (page \pageref{CsoundFile_8hpp}) and link with \verb|libcsound.a| and \verb|lib_csnd.a|, which adds to the Csound C++ API a CsoundFile class (\ref{classCsoundFile}) for loading, saving, and editing Csound orchestra and score files. | ||
2866 | 90 | |||
2867 | 91 | \item \emph{The CsoundAC C++ API.} Include \texttt{CsoundAC.hpp} (page \pageref{CsoundAC_8hpp}) and link with \verb|libcsound.a|, \verb|lib_csnd.a|, and \verb|libCsoundAC.a|. The \texttt{CsoundAC} class (\ref{classCsoundAC}) contains an instance of the \texttt{CppSound} class (\ref{classCppSound}), which adds to the Csound a basic graphical user interface for editing Csound files and running Csound, and provides a class hierarchy for doing algorithmic composition using Michael Gogins' concept of music graphs (also known as Silence). | ||
2868 | 92 | |||
2869 | 93 | \item \emph{The Csound Python API.} Import the \texttt{csnd} Python extension module. This provides a complete Python wrapper for \texttt{csound.hpp} (page \pageref{csound_8hpp}), \texttt{CppSound} (\ref{classCppSound}), and \texttt{CsoundFile} (\ref{classCsoundFile}). The Python API provides a complete Python wrapper for the entire Csound C++ API, and the Csound C++ API reference also serves as a reference to the Python API. | ||
2870 | 94 | |||
2871 | 95 | \item \emph{The CsoundAC Python API.} Import the \texttt{CsoundAC} Python extension module. The Python API provides a complete Python wrapper for the entire CsoundAC C++ API, including Silence, and the CsoundAC C++ API reference also serves as a reference to the Python API. | ||
2872 | 96 | |||
2873 | 97 | \item \emph{An experimental LISP API.} | ||
2874 | 98 | |||
2875 | 99 | \end{itemize} | ||
2876 | 100 | |||
2877 | 101 | \section{An Example Using the Csound API} | ||
2878 | 102 | |||
2879 | 103 | The Csound command--line program is itself built using the Csound API. Its code reads in full as follows: | ||
2880 | 104 | |||
2881 | 105 | \begin{lstlisting} | ||
2882 | 106 | #include "csound.h" | ||
2883 | 107 | |||
2884 | 108 | int main(int argc, char **argv) | ||
2885 | 109 | { | ||
2886 | 110 | // Create Csound. | ||
2887 | 111 | void *csound = csoundCreate(0); | ||
2888 | 112 | // One complete performance cycle. | ||
2889 | 113 | int result = csoundCompile(csound, argc, argv); | ||
2890 | 114 | if(!result) | ||
2891 | 115 | { | ||
2892 | 116 | while(csoundPerformKsmps(csound) == 0){} | ||
2893 | 117 | csoundCleanup(csound); | ||
2894 | 118 | } | ||
2895 | 119 | // Destroy Csound. | ||
2896 | 120 | csoundDestroy(csound); | ||
2897 | 121 | return result; | ||
2898 | 122 | } | ||
2899 | 123 | \end{lstlisting} | ||
2900 | 124 | |||
2901 | 125 | \section{An Example Using the CsoundAC C++ API} | ||
2902 | 126 | |||
2903 | 127 | CsoundAC extends the Csound API with C++. There is a C++ class for the Csound API proper, another C++ class for manipulating Csound files in code, and additional classes for algorithmic composition based on music space. All these C++ classes also have a Python interface in the \texttt{CsoundAC} Python extension module. | ||
2904 | 128 | |||
2905 | 129 | You can build CsoundAC into your own software using the \texttt{CsoundAC} shared library and \texttt{CsoundAC.hpp} header file. | ||
2906 | 130 | |||
2907 | 131 | \section{Cscore} | ||
2908 | 132 | |||
2909 | 133 | Beginning with Csound 5, all of the Cscore functions described in the | ||
2910 | 134 | manual are now part of the Csound API, and they can be called from a program | ||
2911 | 135 | that calls the Csound library. | ||
2912 | 136 | |||
2913 | 137 | All of the CScore functions are renamed in the Csound API. For example, \texttt{createv()} is now | ||
2914 | 138 | \texttt{cscoreCreateEvent()}, and \texttt{lcopy()} is now \texttt{cscoreListCopy()}. In addition, each | ||
2915 | 139 | function takes an additional first parameter that is a pointer to a \texttt{CSOUND} | ||
2916 | 140 | instance. You can find the details in the header file, \url{cscore.h}, which may | ||
2917 | 141 | be included with your Csound distribution, or if not, can be found in Csound CVS on SourceForge. | ||
2918 | 142 | |||
2919 | 143 | Before you can use any of the Cscore API functions, you must create a \texttt{CSOUND} | ||
2920 | 144 | instance and initialize Cscore by calling \texttt{csoundInitializeCscore()} -- see | ||
2921 | 145 | \url{csound.h} for an explanation. An example main program that does all of this | ||
2922 | 146 | can be found in Csound CVS on SourceForge in \url{Top/cscormai.c}. You should add a | ||
2923 | 147 | function called \texttt{cscore()} with your own score-processing code. An example | ||
2924 | 148 | that does nothing except write the score back out unchanged can be found in the file | ||
2925 | 149 | \url{Top/cscore_internal.c}. | ||
2926 | 150 | |||
2927 | 151 | To create your own standalone Cscore program, you must | ||
2928 | 152 | compile \url{cscormai.c} (or your own main program) and the file containing your | ||
2929 | 153 | \texttt{cscore()} function, and link them with the Csound API library. | ||
2930 | 154 | |||
2931 | 155 | Everything that can be done using C as in the above examples can also be done in a similar manner in Python or any of the other Csound API languages. | ||
2932 | 156 | |||
2933 | 157 | \part{API Reference} | ||
2934 | 158 | |||
2935 | 159 | 0 | ||
2936 | === removed directory '.pc/2013-no-rawwave-defined.diff' | |||
2937 | === removed directory '.pc/2013-no-rawwave-defined.diff/Opcodes' | |||
2938 | === removed directory '.pc/2013-no-rawwave-defined.diff/Opcodes/stk' | |||
2939 | === removed file '.pc/2013-no-rawwave-defined.diff/Opcodes/stk/stkOpcodes.cpp' | |||
2940 | --- .pc/2013-no-rawwave-defined.diff/Opcodes/stk/stkOpcodes.cpp 2011-01-17 22:56:00 +0000 | |||
2941 | +++ .pc/2013-no-rawwave-defined.diff/Opcodes/stk/stkOpcodes.cpp 1970-01-01 00:00:00 +0000 | |||
2942 | @@ -1,723 +0,0 @@ | |||
2943 | 1 | /* | ||
2944 | 2 | This file is part of Csound. | ||
2945 | 3 | |||
2946 | 4 | The Csound Library is free software; you can redistribute it | ||
2947 | 5 | and/or modify it under the terms of the GNU Lesser General Public | ||
2948 | 6 | License as published by the Free Software Foundation; either | ||
2949 | 7 | version 2.1 of the License, or (at your option) any later version. | ||
2950 | 8 | |||
2951 | 9 | Csound is distributed in the hope that it will be useful, | ||
2952 | 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
2953 | 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
2954 | 12 | GNU Lesser General Public License for more details. | ||
2955 | 13 | |||
2956 | 14 | You should have received a copy of the GNU Lesser General Public | ||
2957 | 15 | License along with Csound; if not, write to the Free Software | ||
2958 | 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | ||
2959 | 17 | 02111-1307 USA | ||
2960 | 18 | */ | ||
2961 | 19 | /* | ||
2962 | 20 | * CSOUND 5 OPCODES FOR PERRY COOK'S SYNTHESIS TOOLKIT IN C++ (STK) INSTRUMENT | ||
2963 | 21 | * | ||
2964 | 22 | * This code is copyright (C) 2005 by Michael Gogins. It is licensed under the | ||
2965 | 23 | * same terms as the Synthesis Tookit in C++ by Perry R. Cook and Gary P. Scavone. | ||
2966 | 24 | * | ||
2967 | 25 | * To compile these opcodes, copy the STK include, src, and rawwaves directories | ||
2968 | 26 | * to the csound5/Opcodes/stk directory as follows: | ||
2969 | 27 | * | ||
2970 | 28 | * csound5/Opcodes/stk/include | ||
2971 | 29 | * csound5/Opcodes/stk/src | ||
2972 | 30 | * csound5/Opcodes/stk/rawwaves | ||
2973 | 31 | * | ||
2974 | 32 | * Also, specify buildStkOpcodes=1 for SCons. | ||
2975 | 33 | * | ||
2976 | 34 | * To use these opcodes, define a RAWWAVE_PATH environment variable that points | ||
2977 | 35 | * to your rawwaves directory, which contains raw soundfiles with function table | ||
2978 | 36 | * data. | ||
2979 | 37 | * | ||
2980 | 38 | * All these opcodes are named "STK" + the STK classname, | ||
2981 | 39 | * e.g. "STKBowed" for the Bowed instrument. | ||
2982 | 40 | * | ||
2983 | 41 | * All the STK opcodes have the same signature: | ||
2984 | 42 | * | ||
2985 | 43 | * aout STKName ifrequency igain {kcontroller0, kvalue1,...,kcontroller3, kvalue3} | ||
2986 | 44 | * | ||
2987 | 45 | * They take a frequency in Hertz and a gain parameter in the range [0, 1], | ||
2988 | 46 | * plus up to four optional krate controller-value pairs, and return an arate | ||
2989 | 47 | * signal that should be more or less in the range [-1, +1]. | ||
2990 | 48 | * See the STK class documentation to determine the controller numbers | ||
2991 | 49 | * used by each instrument. | ||
2992 | 50 | */ | ||
2993 | 51 | #include <Stk.h> | ||
2994 | 52 | #include <BandedWG.h> | ||
2995 | 53 | #include <BeeThree.h> | ||
2996 | 54 | #include <BlowBotl.h> | ||
2997 | 55 | #include <BlowHole.h> | ||
2998 | 56 | #include <Bowed.h> | ||
2999 | 57 | #include <Brass.h> | ||
3000 | 58 | #include <Clarinet.h> | ||
3001 | 59 | #include <Drummer.h> | ||
3002 | 60 | #include <Flute.h> | ||
3003 | 61 | #include <FMVoices.h> | ||
3004 | 62 | #include <HevyMetl.h> | ||
3005 | 63 | #include <Mandolin.h> | ||
3006 | 64 | //#include <Mesh2D.h> | ||
3007 | 65 | #include <ModalBar.h> | ||
3008 | 66 | #include <Moog.h> | ||
3009 | 67 | #include <PercFlut.h> | ||
3010 | 68 | #include <Plucked.h> | ||
3011 | 69 | #include <Resonate.h> | ||
3012 | 70 | #include <Rhodey.h> | ||
3013 | 71 | #include <Saxofony.h> | ||
3014 | 72 | #include <Shakers.h> | ||
3015 | 73 | #include <Simple.h> | ||
3016 | 74 | #include <Sitar.h> | ||
3017 | 75 | #include <StifKarp.h> | ||
3018 | 76 | #include <TubeBell.h> | ||
3019 | 77 | #include <VoicForm.h> | ||
3020 | 78 | #include <Whistle.h> | ||
3021 | 79 | #include <Wurley.h> | ||
3022 | 80 | |||
3023 | 81 | using namespace stk; | ||
3024 | 82 | |||
3025 | 83 | #include <cstdlib> | ||
3026 | 84 | #include <cstdio> | ||
3027 | 85 | #include <string> | ||
3028 | 86 | #include <map> | ||
3029 | 87 | #include <vector> | ||
3030 | 88 | |||
3031 | 89 | using namespace std; | ||
3032 | 90 | |||
3033 | 91 | #include <OpcodeBase.hpp> | ||
3034 | 92 | |||
3035 | 93 | #include "csGblMtx.h" | ||
3036 | 94 | |||
3037 | 95 | static std::map<CSOUND *, std::vector<Instrmnt *> > &getStkInstances() | ||
3038 | 96 | { | ||
3039 | 97 | static std::map<CSOUND *, std::vector<Instrmnt *> > stkInstances; | ||
3040 | 98 | return stkInstances; | ||
3041 | 99 | } | ||
3042 | 100 | |||
3043 | 101 | template<typename T> | ||
3044 | 102 | class STKInstrumentAdapter : public OpcodeBase< STKInstrumentAdapter<T> > | ||
3045 | 103 | { | ||
3046 | 104 | public: | ||
3047 | 105 | // Outputs. | ||
3048 | 106 | MYFLT *aoutput; | ||
3049 | 107 | // Inputs. | ||
3050 | 108 | MYFLT *ifrequency; | ||
3051 | 109 | MYFLT *igain; | ||
3052 | 110 | MYFLT *kcontroller0; | ||
3053 | 111 | MYFLT *kvalue0; | ||
3054 | 112 | MYFLT *kcontroller1; | ||
3055 | 113 | MYFLT *kvalue1; | ||
3056 | 114 | MYFLT *kcontroller2; | ||
3057 | 115 | MYFLT *kvalue2; | ||
3058 | 116 | MYFLT *kcontroller3; | ||
3059 | 117 | MYFLT *kvalue3; | ||
3060 | 118 | MYFLT *kcontroller4; | ||
3061 | 119 | MYFLT *kvalue4; | ||
3062 | 120 | MYFLT *kcontroller5; | ||
3063 | 121 | MYFLT *kvalue5; | ||
3064 | 122 | MYFLT *kcontroller6; | ||
3065 | 123 | MYFLT *kvalue6; | ||
3066 | 124 | MYFLT *kcontroller7; | ||
3067 | 125 | MYFLT *kvalue7; | ||
3068 | 126 | // State. | ||
3069 | 127 | T *instrument; | ||
3070 | 128 | size_t ksmps; | ||
3071 | 129 | bool released; | ||
3072 | 130 | MYFLT oldkcontroller0; | ||
3073 | 131 | MYFLT oldkvalue0; | ||
3074 | 132 | MYFLT oldkcontroller1; | ||
3075 | 133 | MYFLT oldkvalue1; | ||
3076 | 134 | MYFLT oldkcontroller2; | ||
3077 | 135 | MYFLT oldkvalue2; | ||
3078 | 136 | MYFLT oldkcontroller3; | ||
3079 | 137 | MYFLT oldkvalue3; | ||
3080 | 138 | MYFLT oldkcontroller4; | ||
3081 | 139 | MYFLT oldkvalue4; | ||
3082 | 140 | MYFLT oldkcontroller5; | ||
3083 | 141 | MYFLT oldkvalue5; | ||
3084 | 142 | MYFLT oldkcontroller6; | ||
3085 | 143 | MYFLT oldkvalue6; | ||
3086 | 144 | MYFLT oldkcontroller7; | ||
3087 | 145 | MYFLT oldkvalue7; | ||
3088 | 146 | STKInstrumentAdapter() : instrument(0) {} | ||
3089 | 147 | int init(CSOUND *csound) | ||
3090 | 148 | { | ||
3091 | 149 | if(!instrument) | ||
3092 | 150 | { | ||
3093 | 151 | Stk::setSampleRate(csound->esr); | ||
3094 | 152 | instrument = new T(); | ||
3095 | 153 | getStkInstances()[csound].push_back(instrument); | ||
3096 | 154 | } | ||
3097 | 155 | ksmps = csound->ksmps; | ||
3098 | 156 | instrument->noteOn(*ifrequency, *igain); | ||
3099 | 157 | released = false; | ||
3100 | 158 | oldkcontroller0 = -1.0; | ||
3101 | 159 | oldkvalue0 = -1.0; | ||
3102 | 160 | oldkcontroller1 = -1.0; | ||
3103 | 161 | oldkvalue1 = -1.0; | ||
3104 | 162 | oldkcontroller2 = -1.0; | ||
3105 | 163 | oldkvalue2 = -1.0; | ||
3106 | 164 | oldkcontroller3 = -1.0; | ||
3107 | 165 | oldkvalue3 = -1.0; | ||
3108 | 166 | oldkcontroller4 = -1.0; | ||
3109 | 167 | oldkvalue4 = -1.0; | ||
3110 | 168 | oldkcontroller5 = -1.0; | ||
3111 | 169 | oldkvalue5 = -1.0; | ||
3112 | 170 | oldkcontroller6 = -1.0; | ||
3113 | 171 | oldkvalue6 = -1.0; | ||
3114 | 172 | oldkcontroller7 = -1.0; | ||
3115 | 173 | oldkvalue7 = -1.0; | ||
3116 | 174 | return OK; | ||
3117 | 175 | } | ||
3118 | 176 | int kontrol(CSOUND *csound) | ||
3119 | 177 | { | ||
3120 | 178 | if(!released) | ||
3121 | 179 | { | ||
3122 | 180 | if(*kcontroller0 != oldkcontroller0 || *kvalue0 != oldkvalue0) | ||
3123 | 181 | { | ||
3124 | 182 | instrument->controlChange(static_cast<int>(*kcontroller0), *kvalue0); | ||
3125 | 183 | oldkcontroller0 = *kcontroller0; | ||
3126 | 184 | oldkvalue0 = *kvalue0; | ||
3127 | 185 | } | ||
3128 | 186 | if(*kcontroller1 != oldkcontroller1 || *kvalue1 != oldkvalue1) | ||
3129 | 187 | { | ||
3130 | 188 | instrument->controlChange(static_cast<int>(*kcontroller1), *kvalue1); | ||
3131 | 189 | oldkcontroller1 = *kcontroller1; | ||
3132 | 190 | oldkvalue1 = *kvalue1; | ||
3133 | 191 | } | ||
3134 | 192 | if(*kcontroller2 != oldkcontroller2 || *kvalue2 != oldkvalue2) | ||
3135 | 193 | { | ||
3136 | 194 | instrument->controlChange(static_cast<int>(*kcontroller2), *kvalue2); | ||
3137 | 195 | oldkcontroller2 = *kcontroller2; | ||
3138 | 196 | oldkvalue2 = *kvalue2; | ||
3139 | 197 | } | ||
3140 | 198 | if(*kcontroller3 != oldkcontroller3 || *kvalue3 != oldkvalue3) | ||
3141 | 199 | { | ||
3142 | 200 | instrument->controlChange(static_cast<int>(*kcontroller3), *kvalue3); | ||
3143 | 201 | oldkcontroller3 = *kcontroller3; | ||
3144 | 202 | oldkvalue3 = *kvalue3; | ||
3145 | 203 | } | ||
3146 | 204 | if(*kcontroller4 != oldkcontroller4 || *kvalue4 != oldkvalue4) | ||
3147 | 205 | { | ||
3148 | 206 | instrument->controlChange(static_cast<int>(*kcontroller4), *kvalue4); | ||
3149 | 207 | oldkcontroller4 = *kcontroller4; | ||
3150 | 208 | oldkvalue4 = *kvalue4; | ||
3151 | 209 | } | ||
3152 | 210 | if(*kcontroller5 != oldkcontroller5 || *kvalue5 != oldkvalue5) | ||
3153 | 211 | { | ||
3154 | 212 | instrument->controlChange(static_cast<int>(*kcontroller5), *kvalue5); | ||
3155 | 213 | oldkcontroller5 = *kcontroller5; | ||
3156 | 214 | oldkvalue5 = *kvalue5; | ||
3157 | 215 | } | ||
3158 | 216 | if(*kcontroller6 != oldkcontroller6 || *kvalue6 != oldkvalue6) | ||
3159 | 217 | { | ||
3160 | 218 | instrument->controlChange(static_cast<int>(*kcontroller6), *kvalue6); | ||
3161 | 219 | oldkcontroller6 = *kcontroller6; | ||
3162 | 220 | oldkvalue6 = *kvalue6; | ||
3163 | 221 | } | ||
3164 | 222 | if(*kcontroller7 != oldkcontroller7 || *kvalue7 != oldkvalue7) | ||
3165 | 223 | { | ||
3166 | 224 | instrument->controlChange(static_cast<int>(*kcontroller7), *kvalue7); | ||
3167 | 225 | oldkcontroller7 = *kcontroller7; | ||
3168 | 226 | oldkvalue7 = *kvalue7; | ||
3169 | 227 | } | ||
3170 | 228 | for(size_t i = 0; i < ksmps; i++) | ||
3171 | 229 | { | ||
3172 | 230 | aoutput[i] = instrument->tick(); | ||
3173 | 231 | } | ||
3174 | 232 | } | ||
3175 | 233 | else | ||
3176 | 234 | { | ||
3177 | 235 | // memset(aoutput, 0, ksmps*sizeof(MYFLT)); | ||
3178 | 236 | for(size_t i = 0; i < ksmps; i++) | ||
3179 | 237 | { | ||
3180 | 238 | aoutput[i] = 0; | ||
3181 | 239 | } | ||
3182 | 240 | } | ||
3183 | 241 | return OK; | ||
3184 | 242 | } | ||
3185 | 243 | }; | ||
3186 | 244 | |||
3187 | 245 | template<typename T> | ||
3188 | 246 | class STKInstrumentAdapter1 : public OpcodeBase< STKInstrumentAdapter1<T> > | ||
3189 | 247 | { | ||
3190 | 248 | public: | ||
3191 | 249 | // Outputs. | ||
3192 | 250 | MYFLT *aoutput; | ||
3193 | 251 | // Inputs. | ||
3194 | 252 | MYFLT *ifrequency; | ||
3195 | 253 | MYFLT *igain; | ||
3196 | 254 | MYFLT *kcontroller0; | ||
3197 | 255 | MYFLT *kvalue0; | ||
3198 | 256 | MYFLT *kcontroller1; | ||
3199 | 257 | MYFLT *kvalue1; | ||
3200 | 258 | MYFLT *kcontroller2; | ||
3201 | 259 | MYFLT *kvalue2; | ||
3202 | 260 | MYFLT *kcontroller3; | ||
3203 | 261 | MYFLT *kvalue3; | ||
3204 | 262 | MYFLT *kcontroller4; | ||
3205 | 263 | MYFLT *kvalue4; | ||
3206 | 264 | MYFLT *kcontroller5; | ||
3207 | 265 | MYFLT *kvalue5; | ||
3208 | 266 | MYFLT *kcontroller6; | ||
3209 | 267 | MYFLT *kvalue6; | ||
3210 | 268 | MYFLT *kcontroller7; | ||
3211 | 269 | MYFLT *kvalue7; | ||
3212 | 270 | // State. | ||
3213 | 271 | T *instrument; | ||
3214 | 272 | size_t ksmps; | ||
3215 | 273 | bool released; | ||
3216 | 274 | MYFLT oldkcontroller0; | ||
3217 | 275 | MYFLT oldkvalue0; | ||
3218 | 276 | MYFLT oldkcontroller1; | ||
3219 | 277 | MYFLT oldkvalue1; | ||
3220 | 278 | MYFLT oldkcontroller2; | ||
3221 | 279 | MYFLT oldkvalue2; | ||
3222 | 280 | MYFLT oldkcontroller3; | ||
3223 | 281 | MYFLT oldkvalue3; | ||
3224 | 282 | MYFLT oldkcontroller4; | ||
3225 | 283 | MYFLT oldkvalue4; | ||
3226 | 284 | MYFLT oldkcontroller5; | ||
3227 | 285 | MYFLT oldkvalue5; | ||
3228 | 286 | MYFLT oldkcontroller6; | ||
3229 | 287 | MYFLT oldkvalue6; | ||
3230 | 288 | MYFLT oldkcontroller7; | ||
3231 | 289 | MYFLT oldkvalue7; | ||
3232 | 290 | STKInstrumentAdapter1() : instrument(0) {} | ||
3233 | 291 | int init(CSOUND *csound) | ||
3234 | 292 | { | ||
3235 | 293 | if(!instrument) { | ||
3236 | 294 | Stk::setSampleRate(csound->esr); | ||
3237 | 295 | instrument = new T((StkFloat) 10.0); | ||
3238 | 296 | getStkInstances()[csound].push_back(instrument); | ||
3239 | 297 | } | ||
3240 | 298 | ksmps = csound->ksmps; | ||
3241 | 299 | instrument->noteOn(*ifrequency, *igain); | ||
3242 | 300 | released = false; | ||
3243 | 301 | oldkcontroller0 = -1.0; | ||
3244 | 302 | oldkvalue0 = -1.0; | ||
3245 | 303 | oldkcontroller1 = -1.0; | ||
3246 | 304 | oldkvalue1 = -1.0; | ||
3247 | 305 | oldkcontroller2 = -1.0; | ||
3248 | 306 | oldkvalue2 = -1.0; | ||
3249 | 307 | oldkcontroller3 = -1.0; | ||
3250 | 308 | oldkvalue3 = -1.0; | ||
3251 | 309 | oldkcontroller4 = -1.0; | ||
3252 | 310 | oldkvalue4 = -1.0; | ||
3253 | 311 | oldkcontroller5 = -1.0; | ||
3254 | 312 | oldkvalue5 = -1.0; | ||
3255 | 313 | oldkcontroller6 = -1.0; | ||
3256 | 314 | oldkvalue6 = -1.0; | ||
3257 | 315 | oldkcontroller7 = -1.0; | ||
3258 | 316 | oldkvalue7 = -1.0; | ||
3259 | 317 | return OK; | ||
3260 | 318 | } | ||
3261 | 319 | int kontrol(CSOUND *csound) | ||
3262 | 320 | { | ||
3263 | 321 | if(!released) | ||
3264 | 322 | { | ||
3265 | 323 | if(*kcontroller0 != oldkcontroller0 || *kvalue0 != oldkvalue0) | ||
3266 | 324 | { | ||
3267 | 325 | instrument->controlChange(static_cast<int>(*kcontroller0), *kvalue0); | ||
3268 | 326 | oldkcontroller0 = *kcontroller0; | ||
3269 | 327 | oldkvalue0 = *kvalue0; | ||
3270 | 328 | } | ||
3271 | 329 | if(*kcontroller1 != oldkcontroller1 || *kvalue1 != oldkvalue1) | ||
3272 | 330 | { | ||
3273 | 331 | instrument->controlChange(static_cast<int>(*kcontroller1), *kvalue1); | ||
3274 | 332 | oldkcontroller1 = *kcontroller1; | ||
3275 | 333 | oldkvalue1 = *kvalue1; | ||
3276 | 334 | } | ||
3277 | 335 | if(*kcontroller2 != oldkcontroller2 || *kvalue2 != oldkvalue2) | ||
3278 | 336 | { | ||
3279 | 337 | instrument->controlChange(static_cast<int>(*kcontroller2), *kvalue2); | ||
3280 | 338 | oldkcontroller2 = *kcontroller2; | ||
3281 | 339 | oldkvalue2 = *kvalue2; | ||
3282 | 340 | } | ||
3283 | 341 | if(*kcontroller3 != oldkcontroller3 || *kvalue3 != oldkvalue3) | ||
3284 | 342 | { | ||
3285 | 343 | instrument->controlChange(static_cast<int>(*kcontroller3), *kvalue3); | ||
3286 | 344 | oldkcontroller3 = *kcontroller3; | ||
3287 | 345 | oldkvalue3 = *kvalue3; | ||
3288 | 346 | } | ||
3289 | 347 | if(*kcontroller4 != oldkcontroller4 || *kvalue4 != oldkvalue4) | ||
3290 | 348 | { | ||
3291 | 349 | instrument->controlChange(static_cast<int>(*kcontroller4), *kvalue4); | ||
3292 | 350 | oldkcontroller4 = *kcontroller4; | ||
3293 | 351 | oldkvalue4 = *kvalue4; | ||
3294 | 352 | } | ||
3295 | 353 | if(*kcontroller5 != oldkcontroller5 || *kvalue5 != oldkvalue5) | ||
3296 | 354 | { | ||
3297 | 355 | instrument->controlChange(static_cast<int>(*kcontroller5), *kvalue5); | ||
3298 | 356 | oldkcontroller5 = *kcontroller5; | ||
3299 | 357 | oldkvalue5 = *kvalue5; | ||
3300 | 358 | } | ||
3301 | 359 | if(*kcontroller6 != oldkcontroller6 || *kvalue6 != oldkvalue6) | ||
3302 | 360 | { | ||
3303 | 361 | instrument->controlChange(static_cast<int>(*kcontroller6), *kvalue6); | ||
3304 | 362 | oldkcontroller6 = *kcontroller6; | ||
3305 | 363 | oldkvalue6 = *kvalue6; | ||
3306 | 364 | } | ||
3307 | 365 | if(*kcontroller7 != oldkcontroller7 || *kvalue7 != oldkvalue7) | ||
3308 | 366 | { | ||
3309 | 367 | instrument->controlChange(static_cast<int>(*kcontroller7), *kvalue7); | ||
3310 | 368 | oldkcontroller7 = *kcontroller7; | ||
3311 | 369 | oldkvalue7 = *kvalue7; | ||
3312 | 370 | } | ||
3313 | 371 | for(size_t i = 0; i < ksmps; i++) | ||
3314 | 372 | { | ||
3315 | 373 | aoutput[i] = instrument->tick(); | ||
3316 | 374 | } | ||
3317 | 375 | } | ||
3318 | 376 | else | ||
3319 | 377 | { | ||
3320 | 378 | // memset(aoutput, 0, ksmps*sizef(MYFLT)); | ||
3321 | 379 | for(size_t i = 0; i < ksmps; i++) | ||
3322 | 380 | { | ||
3323 | 381 | aoutput[i] = 0; | ||
3324 | 382 | } | ||
3325 | 383 | } | ||
3326 | 384 | return OK; | ||
3327 | 385 | } | ||
3328 | 386 | }; | ||
3329 | 387 | |||
3330 | 388 | extern "C" | ||
3331 | 389 | { | ||
3332 | 390 | OENTRY oentries[] = | ||
3333 | 391 | { | ||
3334 | 392 | { | ||
3335 | 393 | (char*)"STKBandedWG", | ||
3336 | 394 | sizeof(STKInstrumentAdapter<BandedWG>), | ||
3337 | 395 | 3, | ||
3338 | 396 | (char*)"a", | ||
3339 | 397 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3340 | 398 | (SUBR) STKInstrumentAdapter<BandedWG>::init_, | ||
3341 | 399 | (SUBR) STKInstrumentAdapter<BandedWG>::kontrol_, | ||
3342 | 400 | 0, | ||
3343 | 401 | }, | ||
3344 | 402 | { | ||
3345 | 403 | (char*)"STKBeeThree", | ||
3346 | 404 | sizeof(STKInstrumentAdapter<BeeThree>), | ||
3347 | 405 | 3, | ||
3348 | 406 | (char*)"a", | ||
3349 | 407 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3350 | 408 | (SUBR) STKInstrumentAdapter<BeeThree>::init_, | ||
3351 | 409 | (SUBR) STKInstrumentAdapter<BeeThree>::kontrol_, | ||
3352 | 410 | 0, | ||
3353 | 411 | }, | ||
3354 | 412 | { | ||
3355 | 413 | (char*)"STKBlowBotl", | ||
3356 | 414 | sizeof(STKInstrumentAdapter<BlowBotl>), | ||
3357 | 415 | 3, | ||
3358 | 416 | (char*)"a", | ||
3359 | 417 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3360 | 418 | (SUBR) STKInstrumentAdapter<BlowBotl>::init_, | ||
3361 | 419 | (SUBR) STKInstrumentAdapter<BlowBotl>::kontrol_, | ||
3362 | 420 | 0, | ||
3363 | 421 | }, | ||
3364 | 422 | { | ||
3365 | 423 | (char*)"STKBlowHole", | ||
3366 | 424 | sizeof(STKInstrumentAdapter1<BlowHole>), | ||
3367 | 425 | 3, | ||
3368 | 426 | (char*)"a", | ||
3369 | 427 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3370 | 428 | (SUBR) STKInstrumentAdapter1<BlowHole>::init_, | ||
3371 | 429 | (SUBR) STKInstrumentAdapter1<BlowHole>::kontrol_, | ||
3372 | 430 | 0, | ||
3373 | 431 | }, | ||
3374 | 432 | { | ||
3375 | 433 | (char*)"STKBowed", | ||
3376 | 434 | sizeof(STKInstrumentAdapter1<Bowed>), | ||
3377 | 435 | 3, | ||
3378 | 436 | (char*)"a", | ||
3379 | 437 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3380 | 438 | (SUBR) STKInstrumentAdapter1<Bowed>::init_, | ||
3381 | 439 | (SUBR) STKInstrumentAdapter1<Bowed>::kontrol_, | ||
3382 | 440 | 0, | ||
3383 | 441 | }, | ||
3384 | 442 | { | ||
3385 | 443 | (char*)"STKBrass", | ||
3386 | 444 | sizeof(STKInstrumentAdapter1<Brass>), | ||
3387 | 445 | 3, | ||
3388 | 446 | (char*)"a", | ||
3389 | 447 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3390 | 448 | (SUBR) STKInstrumentAdapter1<Brass>::init_, | ||
3391 | 449 | (SUBR) STKInstrumentAdapter1<Brass>::kontrol_, | ||
3392 | 450 | 0, | ||
3393 | 451 | }, | ||
3394 | 452 | { | ||
3395 | 453 | (char*)"STKClarinet", | ||
3396 | 454 | sizeof(STKInstrumentAdapter1<Clarinet>), | ||
3397 | 455 | 3, | ||
3398 | 456 | (char*)"a", | ||
3399 | 457 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3400 | 458 | (SUBR) STKInstrumentAdapter1<Clarinet>::init_, | ||
3401 | 459 | (SUBR) STKInstrumentAdapter1<Clarinet>::kontrol_, | ||
3402 | 460 | 0, | ||
3403 | 461 | }, | ||
3404 | 462 | { | ||
3405 | 463 | (char*)"STKDrummer", | ||
3406 | 464 | sizeof(STKInstrumentAdapter<Drummer>), | ||
3407 | 465 | 3, | ||
3408 | 466 | (char*)"a", | ||
3409 | 467 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3410 | 468 | (SUBR) STKInstrumentAdapter<Drummer>::init_, | ||
3411 | 469 | (SUBR) STKInstrumentAdapter<Drummer>::kontrol_, | ||
3412 | 470 | 0, | ||
3413 | 471 | }, | ||
3414 | 472 | { | ||
3415 | 473 | (char*)"STKFlute", | ||
3416 | 474 | sizeof(STKInstrumentAdapter1<Flute>), | ||
3417 | 475 | 3, | ||
3418 | 476 | (char*)"a", | ||
3419 | 477 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3420 | 478 | (SUBR) STKInstrumentAdapter1<Flute>::init_, | ||
3421 | 479 | (SUBR) STKInstrumentAdapter1<Flute>::kontrol_, | ||
3422 | 480 | 0, | ||
3423 | 481 | }, | ||
3424 | 482 | { | ||
3425 | 483 | (char*)"STKFMVoices", | ||
3426 | 484 | sizeof(STKInstrumentAdapter<FMVoices>), | ||
3427 | 485 | 3, | ||
3428 | 486 | (char*)"a", | ||
3429 | 487 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3430 | 488 | (SUBR) STKInstrumentAdapter<FMVoices>::init_, | ||
3431 | 489 | (SUBR) STKInstrumentAdapter<FMVoices>::kontrol_, | ||
3432 | 490 | 0, | ||
3433 | 491 | }, | ||
3434 | 492 | { | ||
3435 | 493 | (char*)"STKHevyMetl", | ||
3436 | 494 | sizeof(STKInstrumentAdapter<HevyMetl>), | ||
3437 | 495 | 3, | ||
3438 | 496 | (char*)"a", | ||
3439 | 497 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3440 | 498 | (SUBR) STKInstrumentAdapter<HevyMetl>::init_, | ||
3441 | 499 | (SUBR) STKInstrumentAdapter<HevyMetl>::kontrol_, | ||
3442 | 500 | 0, | ||
3443 | 501 | }, | ||
3444 | 502 | { | ||
3445 | 503 | (char*)"STKMandolin", | ||
3446 | 504 | sizeof(STKInstrumentAdapter1<Mandolin>), | ||
3447 | 505 | 3, | ||
3448 | 506 | (char*)"a", | ||
3449 | 507 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3450 | 508 | (SUBR) STKInstrumentAdapter1<Mandolin>::init_, | ||
3451 | 509 | (SUBR) STKInstrumentAdapter1<Mandolin>::kontrol_, | ||
3452 | 510 | 0, | ||
3453 | 511 | }, | ||
3454 | 512 | { | ||
3455 | 513 | (char*)"STKModalBar", | ||
3456 | 514 | sizeof(STKInstrumentAdapter<ModalBar>), | ||
3457 | 515 | 3, | ||
3458 | 516 | (char*)"a", | ||
3459 | 517 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3460 | 518 | (SUBR) STKInstrumentAdapter<ModalBar>::init_, | ||
3461 | 519 | (SUBR) STKInstrumentAdapter<ModalBar>::kontrol_, | ||
3462 | 520 | 0, | ||
3463 | 521 | }, | ||
3464 | 522 | { | ||
3465 | 523 | (char*)"STKMoog", | ||
3466 | 524 | sizeof(STKInstrumentAdapter<Moog>), | ||
3467 | 525 | 3, | ||
3468 | 526 | (char*)"a", | ||
3469 | 527 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3470 | 528 | (SUBR) STKInstrumentAdapter<Moog>::init_, | ||
3471 | 529 | (SUBR) STKInstrumentAdapter<Moog>::kontrol_, | ||
3472 | 530 | 0, | ||
3473 | 531 | }, | ||
3474 | 532 | { | ||
3475 | 533 | (char*)"STKPercFlut", | ||
3476 | 534 | sizeof(STKInstrumentAdapter<PercFlut>), | ||
3477 | 535 | 3, | ||
3478 | 536 | (char*)"a", | ||
3479 | 537 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3480 | 538 | (SUBR) STKInstrumentAdapter<PercFlut>::init_, | ||
3481 | 539 | (SUBR) STKInstrumentAdapter<PercFlut>::kontrol_, | ||
3482 | 540 | 0, | ||
3483 | 541 | }, | ||
3484 | 542 | { | ||
3485 | 543 | (char*)"STKPlucked", | ||
3486 | 544 | sizeof(STKInstrumentAdapter1<Plucked>), | ||
3487 | 545 | 3, | ||
3488 | 546 | (char*)"a", | ||
3489 | 547 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3490 | 548 | (SUBR) STKInstrumentAdapter1<Plucked>::init_, | ||
3491 | 549 | (SUBR) STKInstrumentAdapter1<Plucked>::kontrol_, | ||
3492 | 550 | 0, | ||
3493 | 551 | }, | ||
3494 | 552 | { | ||
3495 | 553 | (char*)"STKResonate", | ||
3496 | 554 | sizeof(STKInstrumentAdapter<Resonate>), | ||
3497 | 555 | 3, | ||
3498 | 556 | (char*)"a", | ||
3499 | 557 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3500 | 558 | (SUBR) STKInstrumentAdapter<Resonate>::init_, | ||
3501 | 559 | (SUBR) STKInstrumentAdapter<Resonate>::kontrol_, | ||
3502 | 560 | 0, | ||
3503 | 561 | }, | ||
3504 | 562 | { | ||
3505 | 563 | (char*)"STKRhodey", | ||
3506 | 564 | sizeof(STKInstrumentAdapter<Rhodey>), | ||
3507 | 565 | 3, | ||
3508 | 566 | (char*)"a", | ||
3509 | 567 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3510 | 568 | (SUBR) STKInstrumentAdapter<Rhodey>::init_, | ||
3511 | 569 | (SUBR) STKInstrumentAdapter<Rhodey>::kontrol_, | ||
3512 | 570 | 0, | ||
3513 | 571 | }, | ||
3514 | 572 | { | ||
3515 | 573 | (char*)"STKSaxofony", | ||
3516 | 574 | sizeof(STKInstrumentAdapter1<Saxofony>), | ||
3517 | 575 | 3, | ||
3518 | 576 | (char*)"a", | ||
3519 | 577 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3520 | 578 | (SUBR) STKInstrumentAdapter1<Saxofony>::init_, | ||
3521 | 579 | (SUBR) STKInstrumentAdapter1<Saxofony>::kontrol_, | ||
3522 | 580 | 0, | ||
3523 | 581 | }, | ||
3524 | 582 | { | ||
3525 | 583 | (char*)"STKShakers", | ||
3526 | 584 | sizeof(STKInstrumentAdapter<Shakers>), | ||
3527 | 585 | 3, | ||
3528 | 586 | (char*)"a", | ||
3529 | 587 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3530 | 588 | (SUBR) STKInstrumentAdapter<Shakers>::init_, | ||
3531 | 589 | (SUBR) STKInstrumentAdapter<Shakers>::kontrol_, | ||
3532 | 590 | 0, | ||
3533 | 591 | }, | ||
3534 | 592 | { | ||
3535 | 593 | (char*)"STKSimple", | ||
3536 | 594 | sizeof(STKInstrumentAdapter<Simple>), | ||
3537 | 595 | 3, | ||
3538 | 596 | (char*)"a", | ||
3539 | 597 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3540 | 598 | (SUBR) STKInstrumentAdapter<Simple>::init_, | ||
3541 | 599 | (SUBR) STKInstrumentAdapter<Simple>::kontrol_, | ||
3542 | 600 | 0, | ||
3543 | 601 | }, | ||
3544 | 602 | { | ||
3545 | 603 | (char*)"STKSitar", | ||
3546 | 604 | sizeof(STKInstrumentAdapter<Sitar>), | ||
3547 | 605 | 3, | ||
3548 | 606 | (char*)"a", | ||
3549 | 607 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3550 | 608 | (SUBR) STKInstrumentAdapter<Sitar>::init_, | ||
3551 | 609 | (SUBR) STKInstrumentAdapter<Sitar>::kontrol_, | ||
3552 | 610 | 0, | ||
3553 | 611 | }, | ||
3554 | 612 | { | ||
3555 | 613 | (char*)"STKStifKarp", | ||
3556 | 614 | sizeof(STKInstrumentAdapter1<StifKarp>), | ||
3557 | 615 | 3, | ||
3558 | 616 | (char*)"a", | ||
3559 | 617 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3560 | 618 | (SUBR) STKInstrumentAdapter1<StifKarp>::init_, | ||
3561 | 619 | (SUBR) STKInstrumentAdapter1<StifKarp>::kontrol_, | ||
3562 | 620 | 0, | ||
3563 | 621 | }, | ||
3564 | 622 | { | ||
3565 | 623 | (char*)"STKTubeBell", | ||
3566 | 624 | sizeof(STKInstrumentAdapter<TubeBell>), | ||
3567 | 625 | 3, | ||
3568 | 626 | (char*)"a", | ||
3569 | 627 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3570 | 628 | (SUBR) STKInstrumentAdapter<TubeBell>::init_, | ||
3571 | 629 | (SUBR) STKInstrumentAdapter<TubeBell>::kontrol_, | ||
3572 | 630 | 0, | ||
3573 | 631 | }, | ||
3574 | 632 | { | ||
3575 | 633 | (char*)"STKVoicForm", | ||
3576 | 634 | sizeof(STKInstrumentAdapter<VoicForm>), | ||
3577 | 635 | 3, | ||
3578 | 636 | (char*)"a", | ||
3579 | 637 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3580 | 638 | (SUBR) STKInstrumentAdapter<VoicForm>::init_, | ||
3581 | 639 | (SUBR) STKInstrumentAdapter<VoicForm>::kontrol_, | ||
3582 | 640 | 0, | ||
3583 | 641 | }, | ||
3584 | 642 | { | ||
3585 | 643 | (char*)"STKWhistle", | ||
3586 | 644 | sizeof(STKInstrumentAdapter<Whistle>), | ||
3587 | 645 | 3, | ||
3588 | 646 | (char*)"a", | ||
3589 | 647 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3590 | 648 | (SUBR) STKInstrumentAdapter<Whistle>::init_, | ||
3591 | 649 | (SUBR) STKInstrumentAdapter<Whistle>::kontrol_, | ||
3592 | 650 | 0, | ||
3593 | 651 | }, | ||
3594 | 652 | { | ||
3595 | 653 | (char*)"STKWurley", | ||
3596 | 654 | sizeof(STKInstrumentAdapter<Wurley>), | ||
3597 | 655 | 3, | ||
3598 | 656 | (char*)"a", | ||
3599 | 657 | (char*)"iiJJJJJJJJJJJJJJJJ", | ||
3600 | 658 | (SUBR) STKInstrumentAdapter<Wurley>::init_, | ||
3601 | 659 | (SUBR) STKInstrumentAdapter<Wurley>::kontrol_, | ||
3602 | 660 | 0, | ||
3603 | 661 | }, | ||
3604 | 662 | { | ||
3605 | 663 | 0, | ||
3606 | 664 | 0, | ||
3607 | 665 | 0, | ||
3608 | 666 | 0, | ||
3609 | 667 | 0, | ||
3610 | 668 | 0, | ||
3611 | 669 | 0, | ||
3612 | 670 | 0, | ||
3613 | 671 | } | ||
3614 | 672 | }; | ||
3615 | 673 | |||
3616 | 674 | PUBLIC int csoundModuleCreate(CSOUND *csound) | ||
3617 | 675 | { | ||
3618 | 676 | return 0; | ||
3619 | 677 | } | ||
3620 | 678 | |||
3621 | 679 | PUBLIC int csoundModuleInit(CSOUND *csound) | ||
3622 | 680 | { | ||
3623 | 681 | const char *path = csound->GetEnv(csound, "RAWWAVE_PATH"); | ||
3624 | 682 | if(!path) | ||
3625 | 683 | { | ||
3626 | 684 | csound->ErrorMsg(csound, | ||
3627 | 685 | Str("Error: define environment variable RAWWAVE_PATH\n" | ||
3628 | 686 | "(points to rawwaves directory) to use STK opcodes.")); | ||
3629 | 687 | return 0; | ||
3630 | 688 | } | ||
3631 | 689 | else | ||
3632 | 690 | { | ||
3633 | 691 | csound_global_mutex_lock(); | ||
3634 | 692 | Stk::setRawwavePath(path); | ||
3635 | 693 | csound_global_mutex_unlock(); | ||
3636 | 694 | csound->Message(csound, | ||
3637 | 695 | Str("RAWWAVE_PATH: %s\n"), Stk::rawwavePath().c_str()); | ||
3638 | 696 | } | ||
3639 | 697 | int status = 0; | ||
3640 | 698 | for(OENTRY *oentry = &oentries[0]; oentry->opname; oentry++) | ||
3641 | 699 | { | ||
3642 | 700 | status |= csound->AppendOpcode(csound, oentry->opname, | ||
3643 | 701 | oentry->dsblksiz, oentry->thread, | ||
3644 | 702 | oentry->outypes, oentry->intypes, | ||
3645 | 703 | (int (*)(CSOUND*,void*)) oentry->iopadr, | ||
3646 | 704 | (int (*)(CSOUND*,void*)) oentry->kopadr, | ||
3647 | 705 | (int (*)(CSOUND*,void*)) oentry->aopadr); | ||
3648 | 706 | } | ||
3649 | 707 | return status; | ||
3650 | 708 | } | ||
3651 | 709 | |||
3652 | 710 | PUBLIC int csoundModuleDestroy(CSOUND *csound) | ||
3653 | 711 | { | ||
3654 | 712 | if (getStkInstances().find(csound) != getStkInstances().end()) { | ||
3655 | 713 | for(size_t i = 0, n = getStkInstances()[csound].size(); i < n; ++i) { | ||
3656 | 714 | delete getStkInstances()[csound][i]; | ||
3657 | 715 | } | ||
3658 | 716 | getStkInstances()[csound].clear(); | ||
3659 | 717 | getStkInstances().erase(csound); | ||
3660 | 718 | } | ||
3661 | 719 | return 0; | ||
3662 | 720 | } | ||
3663 | 721 | |||
3664 | 722 | } | ||
3665 | 723 | |||
3666 | 724 | 0 | ||
3667 | === removed directory '.pc/2014-cmake-libsndfile-hack.patch' | |||
3668 | === removed file '.pc/2014-cmake-libsndfile-hack.patch/CMakeLists.txt' | |||
3669 | --- .pc/2014-cmake-libsndfile-hack.patch/CMakeLists.txt 2012-06-16 10:01:58 +0000 | |||
3670 | +++ .pc/2014-cmake-libsndfile-hack.patch/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
3671 | @@ -1,856 +0,0 @@ | |||
3672 | 1 | cmake_minimum_required(VERSION 2.6) | ||
3673 | 2 | |||
3674 | 3 | project (Csound) | ||
3675 | 4 | |||
3676 | 5 | message(STATUS "${CMAKE_HOME_DIRECTORY}") | ||
3677 | 6 | |||
3678 | 7 | # Project definitions | ||
3679 | 8 | set(APIVERSION "5.2") | ||
3680 | 9 | |||
3681 | 10 | # Relative install paths | ||
3682 | 11 | set(EXECUTABLE_INSTALL_DIR "bin") | ||
3683 | 12 | set(LIBRARY_INSTALL_DIR "lib") | ||
3684 | 13 | if(USE_DOUBLE) | ||
3685 | 14 | set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins64-${APIVERSION}") | ||
3686 | 15 | else() | ||
3687 | 16 | set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins-${APIVERSION}") | ||
3688 | 17 | endif() | ||
3689 | 18 | set(PYTHON_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR}) | ||
3690 | 19 | set(JAVA_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR}) | ||
3691 | 20 | set(LUA_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR}) | ||
3692 | 21 | set(LOCALE_INSTALL_DIR "share/locale") | ||
3693 | 22 | set(HEADER_INSTALL_DIR "include/csound") | ||
3694 | 23 | |||
3695 | 24 | include(TestBigEndian) | ||
3696 | 25 | include(CheckFunctionExists) | ||
3697 | 26 | include(CheckIncludeFile) | ||
3698 | 27 | include(CheckIncludeFileCXX) | ||
3699 | 28 | include(CheckLibraryExists) | ||
3700 | 29 | include(CMakeParseArguments) | ||
3701 | 30 | |||
3702 | 31 | # Utility function to make plugins. All plugin targets should use this as it | ||
3703 | 32 | # sets up output directory set in top-level CmakeLists.txt | ||
3704 | 33 | # and adds the appropriate install target | ||
3705 | 34 | # | ||
3706 | 35 | # libname - name of library to produce | ||
3707 | 36 | # srcs - list of src files (must be quoted if a list) | ||
3708 | 37 | # extralibs (OPTIONAL) - extra libraries to link the plugin to | ||
3709 | 38 | # | ||
3710 | 39 | function(make_plugin libname srcs) | ||
3711 | 40 | if(APPLE) | ||
3712 | 41 | add_library(${libname} SHARED ${srcs}) | ||
3713 | 42 | else() | ||
3714 | 43 | add_library(${libname} MODULE ${srcs}) | ||
3715 | 44 | endif() | ||
3716 | 45 | |||
3717 | 46 | set(i 2) | ||
3718 | 47 | while( ${i} LESS ${ARGC} ) | ||
3719 | 48 | if(NOT MSVC OR NOT("${ARGV${i}}" MATCHES "m")) | ||
3720 | 49 | target_link_libraries(${libname} ${ARGV${i}}) | ||
3721 | 50 | endif() | ||
3722 | 51 | math(EXPR i "${i}+1") | ||
3723 | 52 | endwhile() | ||
3724 | 53 | |||
3725 | 54 | set_target_properties(${libname} PROPERTIES | ||
3726 | 55 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_PLUGINS_DIR} | ||
3727 | 56 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_PLUGINS_DIR} | ||
3728 | 57 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_PLUGINS_DIR}) | ||
3729 | 58 | |||
3730 | 59 | install(TARGETS ${libname} | ||
3731 | 60 | LIBRARY DESTINATION "${PLUGIN_INSTALL_DIR}" ) | ||
3732 | 61 | endfunction(make_plugin) | ||
3733 | 62 | # Utility function to make executables. All plugin targets should use this as it | ||
3734 | 63 | # sets up output directory set in top-level CmakeLists.txt | ||
3735 | 64 | # and adds an appropriate install target | ||
3736 | 65 | # | ||
3737 | 66 | # name - name of executable to produce | ||
3738 | 67 | # srcs - list of src files | ||
3739 | 68 | # libs - list of library files to link to | ||
3740 | 69 | # output_name (OPTIONAL) - overide the name of the generated executable | ||
3741 | 70 | # | ||
3742 | 71 | function(make_executable name srcs libs) | ||
3743 | 72 | add_executable(${name} ${srcs}) | ||
3744 | 73 | target_link_libraries (${name} ${libs}) | ||
3745 | 74 | set_target_properties(${name} PROPERTIES | ||
3746 | 75 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR}) | ||
3747 | 76 | |||
3748 | 77 | if(${ARGC} EQUAL 4) | ||
3749 | 78 | set_target_properties(${name} PROPERTIES | ||
3750 | 79 | OUTPUT_NAME ${ARGV3}) | ||
3751 | 80 | endif() | ||
3752 | 81 | install(TARGETS ${name} | ||
3753 | 82 | RUNTIME DESTINATION "${EXECUTABLE_INSTALL_DIR}" ) | ||
3754 | 83 | endfunction(make_executable) | ||
3755 | 84 | |||
3756 | 85 | |||
3757 | 86 | # Utility function to make a utility executable | ||
3758 | 87 | # | ||
3759 | 88 | # name - name of executable to produce | ||
3760 | 89 | # srcs - list of src files | ||
3761 | 90 | |||
3762 | 91 | function(make_utility name srcs) | ||
3763 | 92 | make_executable(${name} "${srcs}" "${CSOUNDLIB}") | ||
3764 | 93 | add_dependencies(${name} ${CSOUNDLIB}) | ||
3765 | 94 | endfunction() | ||
3766 | 95 | |||
3767 | 96 | |||
3768 | 97 | # Expands a list into a space-separated string (outvar element1 ....) | ||
3769 | 98 | # Why do I have to do this? Cmake, you just lost one point | ||
3770 | 99 | function(expand_list out) | ||
3771 | 100 | set(i 1) | ||
3772 | 101 | set(tmp "") | ||
3773 | 102 | while( ${i} LESS ${ARGC} ) | ||
3774 | 103 | set(tmp "${tmp} ${ARGV${i}}") | ||
3775 | 104 | math(EXPR i "${i}+1") | ||
3776 | 105 | endwhile() | ||
3777 | 106 | set(${out} "${tmp}" PARENT_SCOPE) | ||
3778 | 107 | endfunction(expand_list) | ||
3779 | 108 | |||
3780 | 109 | # Checks if dependencies for an enabled target are fulfilled. | ||
3781 | 110 | # If FAIL_MISSING is true and the dependencies are not fulfilled, | ||
3782 | 111 | # it will abort the cmake run. | ||
3783 | 112 | # If FAIL_MISSING is false, it will set the option to OFF. | ||
3784 | 113 | # If the target is not enabled, it will do nothing. | ||
3785 | 114 | # example: check_deps(BUILD_NEW_PARSER FLEX_EXECUTABLE BISON_EXECUTABLE) | ||
3786 | 115 | function(check_deps option) | ||
3787 | 116 | if(${option}) | ||
3788 | 117 | set(i 1) | ||
3789 | 118 | while( ${i} LESS ${ARGC} ) | ||
3790 | 119 | set(dep ${ARGV${i}}) | ||
3791 | 120 | if(NOT ${dep}) | ||
3792 | 121 | if(FAIL_MISSING) | ||
3793 | 122 | message(FATAL_ERROR | ||
3794 | 123 | "${option} is enabled, but ${dep}=\"${${dep}}\"") | ||
3795 | 124 | else() | ||
3796 | 125 | message(STATUS "${dep}=\"${${dep}}\", so disabling ${option}") | ||
3797 | 126 | set(${option} OFF PARENT_SCOPE) | ||
3798 | 127 | # Set it in the local scope too | ||
3799 | 128 | set(${option} OFF) | ||
3800 | 129 | endif() | ||
3801 | 130 | endif() | ||
3802 | 131 | math(EXPR i "${i}+1") | ||
3803 | 132 | endwhile() | ||
3804 | 133 | endif() | ||
3805 | 134 | if(${option}) | ||
3806 | 135 | message(STATUS "${option} is enabled") | ||
3807 | 136 | else() | ||
3808 | 137 | message(STATUS "${option} is disabled") | ||
3809 | 138 | endif() | ||
3810 | 139 | endfunction(check_deps) | ||
3811 | 140 | |||
3812 | 141 | # Shortcut to add compiler flags | ||
3813 | 142 | # Mandatory arguments: the flags to add, should be passed before optional keywords, can be | ||
3814 | 143 | # passed as lists or space-separated | ||
3815 | 144 | # Optional keywords: | ||
3816 | 145 | # LINKER: add to linker instead of compile flags (LDFLAGS vs CFLAGS) | ||
3817 | 146 | # TARGETS <target1> <target2> ... | ||
3818 | 147 | # if specified, will add the flags to a target instead | ||
3819 | 148 | # of the global namespace | ||
3820 | 149 | function(add_compiler_flags) | ||
3821 | 150 | set(bool_options LINKER) | ||
3822 | 151 | set(multi_val_args TARGETS) | ||
3823 | 152 | cmake_parse_arguments(FLAGS "${bool_options}" "" "${multi_val_args}" ${ARGN}) | ||
3824 | 153 | |||
3825 | 154 | expand_list(FLAGS ${FLAGS_UNPARSED_ARGUMENTS}) | ||
3826 | 155 | |||
3827 | 156 | if(FLAGS_TARGETS) | ||
3828 | 157 | foreach(target ${FLAGS_TARGETS}) | ||
3829 | 158 | if(NOT FLAGS_LINKER) | ||
3830 | 159 | set(property "COMPILE_FLAGS") | ||
3831 | 160 | else() | ||
3832 | 161 | set(property "LINK_FLAGS") | ||
3833 | 162 | endif() | ||
3834 | 163 | get_target_property(propval ${target} ${property}) | ||
3835 | 164 | if(NOT propval) | ||
3836 | 165 | set(propval "") | ||
3837 | 166 | endif() | ||
3838 | 167 | set_target_properties(${target} PROPERTIES | ||
3839 | 168 | ${property} "${propval} ${FLAGS}") | ||
3840 | 169 | endforeach() | ||
3841 | 170 | else() | ||
3842 | 171 | if(FLAGS_LINKER) | ||
3843 | 172 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLAGS}") | ||
3844 | 173 | set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${FLAGS}") | ||
3845 | 174 | set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${FLAGS}") | ||
3846 | 175 | else() | ||
3847 | 176 | add_definitions("${FLAGS}") | ||
3848 | 177 | endif() | ||
3849 | 178 | endif() | ||
3850 | 179 | endfunction(add_compiler_flags) | ||
3851 | 180 | |||
3852 | 181 | |||
3853 | 182 | # Include this after the install path definitions so we can override them here. | ||
3854 | 183 | # Also after function definitions so we can use them there | ||
3855 | 184 | find_file(CUSTOM_CMAKE "Custom.cmake" HINTS ${CMAKE_HOME_DIRECTORY}) | ||
3856 | 185 | if(CUSTOM_CMAKE) | ||
3857 | 186 | message(STATUS "Including Custom.cmake file: ${CUSTOM_CMAKE}") | ||
3858 | 187 | include(${CUSTOM_CMAKE}) | ||
3859 | 188 | endif() | ||
3860 | 189 | |||
3861 | 190 | |||
3862 | 191 | if(WIN32 AND NOT MSVC) | ||
3863 | 192 | if(EXISTS "C:/MinGW/include") | ||
3864 | 193 | include_directories(C:/MinGW/include) | ||
3865 | 194 | else() | ||
3866 | 195 | MESSAGE(STATUS "MinGW include dir not found") | ||
3867 | 196 | endif() | ||
3868 | 197 | endif() | ||
3869 | 198 | |||
3870 | 199 | if(WIN32) | ||
3871 | 200 | set(CMAKE_SHARED_LIBRARY_PREFIX "") | ||
3872 | 201 | set(CMAKE_SHARED_MODULE_PREFIX "") | ||
3873 | 202 | |||
3874 | 203 | set(CSOUND_WINDOWS_LIBRARIES | ||
3875 | 204 | advapi32 | ||
3876 | 205 | comctl32 | ||
3877 | 206 | comdlg32 | ||
3878 | 207 | glu32 | ||
3879 | 208 | kernel32 | ||
3880 | 209 | msvcrt | ||
3881 | 210 | odbc32 | ||
3882 | 211 | odbccp32 | ||
3883 | 212 | ole32 | ||
3884 | 213 | oleaut32 | ||
3885 | 214 | shell32 | ||
3886 | 215 | user32 | ||
3887 | 216 | uuid | ||
3888 | 217 | winmm | ||
3889 | 218 | winspool | ||
3890 | 219 | ws2_32 | ||
3891 | 220 | wsock32 | ||
3892 | 221 | advapi32 | ||
3893 | 222 | comctl32 | ||
3894 | 223 | comdlg32 | ||
3895 | 224 | glu32 | ||
3896 | 225 | kernel32 | ||
3897 | 226 | odbc32 | ||
3898 | 227 | odbccp32 | ||
3899 | 228 | ole32 | ||
3900 | 229 | oleaut32 | ||
3901 | 230 | shell32 | ||
3902 | 231 | user32 | ||
3903 | 232 | uuid | ||
3904 | 233 | winmm | ||
3905 | 234 | winspool | ||
3906 | 235 | ws2_32 | ||
3907 | 236 | wsock32 | ||
3908 | 237 | pthread) | ||
3909 | 238 | |||
3910 | 239 | endif(WIN32) | ||
3911 | 240 | |||
3912 | 241 | if(CMAKE_SYSTEM_NAME MATCHES "Linux") | ||
3913 | 242 | set(LINUX YES) | ||
3914 | 243 | else() | ||
3915 | 244 | set(LINUX NO) | ||
3916 | 245 | endif() | ||
3917 | 246 | |||
3918 | 247 | ## USER OPTIONS ## | ||
3919 | 248 | |||
3920 | 249 | option(USE_DOUBLE "Set to use double-precision floating point for audio samples." ON) | ||
3921 | 250 | option(BUILD_UTILITIES "Build stand-alone executables for utilities that can also be used with -U" ON) | ||
3922 | 251 | |||
3923 | 252 | option(BUILD_NEW_PARSER "Enable building new parser (requires Flex/Bison)" ON) | ||
3924 | 253 | option(NEW_PARSER_DEBUG "Enable tracing of new parser" OFF) | ||
3925 | 254 | |||
3926 | 255 | option(BUILD_MULTI_CORE "Enable building for multicore system (requires BUILD_NEW_PARSER)" ON) | ||
3927 | 256 | |||
3928 | 257 | option(FAIL_MISSING "Fail when a required external dependency is not present (useful for packagers)" OFF) | ||
3929 | 258 | |||
3930 | 259 | option(USE_GETTEXT "Use the Gettext internationalization library" ON) | ||
3931 | 260 | |||
3932 | 261 | option(BUILD_STATIC_LIBRARY "Also build a static version of the csound library" OFF) | ||
3933 | 262 | |||
3934 | 263 | option(USE_OPEN_MP "Use OpenMP for Parallel Performance" ON) | ||
3935 | 264 | option(USE_LRINT "Use lrint/lrintf for converting floating point values to integers." ON) | ||
3936 | 265 | option(BUILD_RELEASE "Build for release" ON) | ||
3937 | 266 | # Optional targets, they should all default to ON (check_deps will disable them if not possible to build) | ||
3938 | 267 | |||
3939 | 268 | |||
3940 | 269 | set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) | ||
3941 | 270 | |||
3942 | 271 | # This needs to be here since _everybody_ needs this flag | ||
3943 | 272 | if(USE_DOUBLE) | ||
3944 | 273 | add_definitions("-DUSE_DOUBLE") | ||
3945 | 274 | endif(USE_DOUBLE) | ||
3946 | 275 | if(${CMAKE_C_COMPILER} MATCHES "gcc" AND LINUX) | ||
3947 | 276 | add_compiler_flags("-fvisibility=hidden") | ||
3948 | 277 | add_compiler_flags("-fvisibility=hidden" LINKER) | ||
3949 | 278 | endif() | ||
3950 | 279 | |||
3951 | 280 | if(BUILD_RELEASE) | ||
3952 | 281 | add_definitions("-D_CSOUND_RELEASE_") | ||
3953 | 282 | if(LINUX) | ||
3954 | 283 | set(DEFAULT_OPCODEDIR "${CMAKE_INSTALL_PREFIX}/${PLUGIN_INSTALL_DIR}") | ||
3955 | 284 | add_definitions("-DCS_DEFAULT_PLUGINDIR=\"${DEFAULT_OPCODEDIR}\"") | ||
3956 | 285 | endif() | ||
3957 | 286 | else() | ||
3958 | 287 | add_definitions("-DBETA") | ||
3959 | 288 | endif() | ||
3960 | 289 | |||
3961 | 290 | if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) | ||
3962 | 291 | add_definitions("-Wno-format") | ||
3963 | 292 | add_compiler_flags("-g") | ||
3964 | 293 | endif() | ||
3965 | 294 | |||
3966 | 295 | #if(USE_DOUBLE) | ||
3967 | 296 | # set(BUILD_PLUGINS_DIR ${BUILD_DIR}/plugins64) | ||
3968 | 297 | #else() | ||
3969 | 298 | # set(BUILD_PLUGINS_DIR ${BUILD_DIR}/plugins) | ||
3970 | 299 | #endif() | ||
3971 | 300 | |||
3972 | 301 | set(BUILD_PLUGINS_DIR ${BUILD_DIR}) | ||
3973 | 302 | set(BUILD_BIN_DIR ${BUILD_DIR}) | ||
3974 | 303 | set(BUILD_LIB_DIR ${BUILD_DIR}) | ||
3975 | 304 | |||
3976 | 305 | message(STATUS "BUILD_BIN_DIR set to ${BUILD_BIN_DIR}") | ||
3977 | 306 | message(STATUS "BUILD_LIB_DIR set to ${BUILD_LIB_DIR}") | ||
3978 | 307 | message(STATUS "BUILD_PLUGINS_DIR set to ${BUILD_PLUGINS_DIR}") | ||
3979 | 308 | |||
3980 | 309 | # OS specific checks | ||
3981 | 310 | |||
3982 | 311 | TEST_BIG_ENDIAN(BIG_ENDIAN) | ||
3983 | 312 | |||
3984 | 313 | ## CONFIGURATION ## | ||
3985 | 314 | |||
3986 | 315 | SET(BUILD_SHARED_LIBS ON) | ||
3987 | 316 | |||
3988 | 317 | ## HEADER/LIBRARY/OTHER CHECKS ## | ||
3989 | 318 | |||
3990 | 319 | find_package(OpenMP) | ||
3991 | 320 | |||
3992 | 321 | # First, required stuff | ||
3993 | 322 | find_library(LIBSNDFILE_LIBRARY sndfile) | ||
3994 | 323 | |||
3995 | 324 | if(NOT LIBSNDFILE_LIBRARY AND WIN32) | ||
3996 | 325 | find_library(LIBSNDFILE_LIBRARY sndfile-1) | ||
3997 | 326 | endif() | ||
3998 | 327 | |||
3999 | 328 | if(NOT LIBSNDFILE_LIBRARY) | ||
4000 | 329 | message(FATAL_ERROR "Csound requires the sndfile library") | ||
4001 | 330 | endif() | ||
4002 | 331 | |||
4003 | 332 | find_path(SNDFILE_H_PATH sndfile.h) | ||
4004 | 333 | if(SNDFILE_H_PATH) | ||
4005 | 334 | include_directories(${SNDFILE_H_PATH}) | ||
4006 | 335 | else() | ||
4007 | 336 | message(FATAL_ERROR "Could not find sndfile.h") | ||
4008 | 337 | endif() | ||
4009 | 338 | |||
4010 | 339 | find_library(PTHREAD_LIBRARY pthread) | ||
4011 | 340 | |||
4012 | 341 | if(NOT PTHREAD_LIBRARY AND WIN32) | ||
4013 | 342 | find_library(PTHREAD_LIBRARY pthreadGC2) | ||
4014 | 343 | endif() | ||
4015 | 344 | |||
4016 | 345 | if(NOT PTHREAD_LIBRARY) | ||
4017 | 346 | message(FATAL_ERROR "Csound requires the pthread library") | ||
4018 | 347 | endif() | ||
4019 | 348 | |||
4020 | 349 | set(CMAKE_REQUIRED_INCLUDES pthread.h) | ||
4021 | 350 | set(CMAKE_REQUIRED_LIBRARIES pthread) | ||
4022 | 351 | |||
4023 | 352 | # Now, non required library searches # | ||
4024 | 353 | |||
4025 | 354 | find_library(VORBISFILE_LIBRARY vorbisfile) | ||
4026 | 355 | check_include_file(libintl.h LIBINTL_HEADER) | ||
4027 | 356 | find_library(LIBINTL_LIBRARY intl) | ||
4028 | 357 | find_package(Gettext) | ||
4029 | 358 | check_library_exists(m lrint "" HAVE_LRINT) | ||
4030 | 359 | |||
4031 | 360 | set(HEADERS_TO_CHECK | ||
4032 | 361 | unistd.h io.h fcntl.h stdint.h | ||
4033 | 362 | sys/time.h sys/types.h termios.h | ||
4034 | 363 | values.h winsock.h sys/socket.h | ||
4035 | 364 | dirent.h) | ||
4036 | 365 | |||
4037 | 366 | foreach(header ${HEADERS_TO_CHECK}) | ||
4038 | 367 | # Convert to uppercase and replace [./] with _ | ||
4039 | 368 | string(TOUPPER ${header} tmp) | ||
4040 | 369 | string(REGEX REPLACE [./] "_" upper_header ${tmp}) | ||
4041 | 370 | check_include_file(${header} HAVE_${upper_header}) | ||
4042 | 371 | endforeach() | ||
4043 | 372 | |||
4044 | 373 | check_deps(USE_LRINT HAVE_LRINT) | ||
4045 | 374 | if(USE_LRINT) | ||
4046 | 375 | add_definitions("-DUSE_LRINT") | ||
4047 | 376 | endif() | ||
4048 | 377 | |||
4049 | 378 | # Flex/Bison for the new parser | ||
4050 | 379 | if(BUILD_NEW_PARSER) | ||
4051 | 380 | find_package(FLEX) | ||
4052 | 381 | find_package(BISON) | ||
4053 | 382 | endif() | ||
4054 | 383 | |||
4055 | 384 | ## MAIN TARGETS ## | ||
4056 | 385 | |||
4057 | 386 | set(libcsound_CFLAGS -D__BUILDING_LIBCSOUND) | ||
4058 | 387 | |||
4059 | 388 | include_directories(./H) | ||
4060 | 389 | include_directories(./Engine) | ||
4061 | 390 | |||
4062 | 391 | #adding this for files that #include SDIF/sdif* | ||
4063 | 392 | include_directories(./) | ||
4064 | 393 | |||
4065 | 394 | #checking pthread functions | ||
4066 | 395 | check_function_exists(pthread_spin_lock PTHREAD_SPIN_LOCK_EXISTS) | ||
4067 | 396 | check_function_exists(pthread_barrier_init PTHREAD_BARRIER_INIT_EXISTS) | ||
4068 | 397 | |||
4069 | 398 | if(PTHREAD_SPIN_LOCK_EXISTS) | ||
4070 | 399 | list(APPEND libcsound_CFLAGS -DHAVE_PTHREAD_SPIN_LOCK) | ||
4071 | 400 | endif() | ||
4072 | 401 | |||
4073 | 402 | if(PTHREAD_BARRIER_INIT_EXISTS) | ||
4074 | 403 | list(APPEND libcsound_CFLAGS -DHAVE_PTHREAD_BARRIER_INIT) | ||
4075 | 404 | endif() | ||
4076 | 405 | |||
4077 | 406 | |||
4078 | 407 | check_deps(USE_OPEN_MP OPENMP_FOUND PTHREAD_BARRIER_INIT_EXISTS) | ||
4079 | 408 | if(USE_OPEN_MP) | ||
4080 | 409 | list(APPEND libcsound_CFLAGS -DUSE_OPENMP) | ||
4081 | 410 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") | ||
4082 | 411 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") | ||
4083 | 412 | |||
4084 | 413 | set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OpenMP_CXX_FLAGS}") | ||
4085 | 414 | set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${OpenMP_CXX_FLAGS}") | ||
4086 | 415 | |||
4087 | 416 | endif() | ||
4088 | 417 | |||
4089 | 418 | |||
4090 | 419 | #if(WIN32) | ||
4091 | 420 | include_directories(${LIBSNDFILE_INCLUDE_DIRECTORY}) | ||
4092 | 421 | #endif(WIN32) | ||
4093 | 422 | |||
4094 | 423 | |||
4095 | 424 | # The csound library | ||
4096 | 425 | set(libcsound_SRCS | ||
4097 | 426 | Engine/auxfd.c | ||
4098 | 427 | Engine/cfgvar.c | ||
4099 | 428 | Engine/corfiles.c | ||
4100 | 429 | Engine/entry1.c | ||
4101 | 430 | Engine/envvar.c | ||
4102 | 431 | Engine/express.c | ||
4103 | 432 | Engine/extract.c | ||
4104 | 433 | Engine/fgens.c | ||
4105 | 434 | Engine/insert.c | ||
4106 | 435 | Engine/linevent.c | ||
4107 | 436 | Engine/memalloc.c | ||
4108 | 437 | Engine/memfiles.c | ||
4109 | 438 | Engine/musmon.c | ||
4110 | 439 | Engine/namedins.c | ||
4111 | 440 | Engine/otran.c | ||
4112 | 441 | Engine/rdorch.c | ||
4113 | 442 | Engine/rdscor.c | ||
4114 | 443 | Engine/scsort.c | ||
4115 | 444 | Engine/scxtract.c | ||
4116 | 445 | Engine/sort.c | ||
4117 | 446 | Engine/sread.c | ||
4118 | 447 | Engine/swrite.c | ||
4119 | 448 | Engine/swritestr.c | ||
4120 | 449 | Engine/twarp.c | ||
4121 | 450 | InOut/libsnd.c | ||
4122 | 451 | InOut/libsnd_u.c | ||
4123 | 452 | InOut/midifile.c | ||
4124 | 453 | InOut/midirecv.c | ||
4125 | 454 | InOut/midisend.c | ||
4126 | 455 | InOut/winascii.c | ||
4127 | 456 | InOut/windin.c | ||
4128 | 457 | InOut/window.c | ||
4129 | 458 | InOut/winEPS.c | ||
4130 | 459 | OOps/aops.c | ||
4131 | 460 | OOps/bus.c | ||
4132 | 461 | OOps/cmath.c | ||
4133 | 462 | OOps/diskin.c | ||
4134 | 463 | OOps/diskin2.c | ||
4135 | 464 | OOps/disprep.c | ||
4136 | 465 | OOps/dumpf.c | ||
4137 | 466 | OOps/fftlib.c | ||
4138 | 467 | OOps/goto_ops.c | ||
4139 | 468 | OOps/midiinterop.c | ||
4140 | 469 | OOps/midiops.c | ||
4141 | 470 | OOps/midiout.c | ||
4142 | 471 | OOps/mxfft.c | ||
4143 | 472 | OOps/oscils.c | ||
4144 | 473 | OOps/pstream.c | ||
4145 | 474 | OOps/pvfileio.c | ||
4146 | 475 | OOps/pvsanal.c | ||
4147 | 476 | OOps/random.c | ||
4148 | 477 | OOps/remote.c | ||
4149 | 478 | OOps/schedule.c | ||
4150 | 479 | OOps/sndinfUG.c | ||
4151 | 480 | OOps/str_ops.c | ||
4152 | 481 | OOps/ugens1.c | ||
4153 | 482 | OOps/ugens2.c | ||
4154 | 483 | OOps/ugens2a.c | ||
4155 | 484 | OOps/ugens3.c | ||
4156 | 485 | OOps/ugens4.c | ||
4157 | 486 | OOps/ugens5.c | ||
4158 | 487 | OOps/ugens6.c | ||
4159 | 488 | OOps/ugrw1.c | ||
4160 | 489 | OOps/ugrw2.c | ||
4161 | 490 | OOps/vdelay.c | ||
4162 | 491 | Opcodes/babo.c | ||
4163 | 492 | Opcodes/bilbar.c | ||
4164 | 493 | Opcodes/compress.c | ||
4165 | 494 | Opcodes/eqfil.c | ||
4166 | 495 | Opcodes/Vosim.c | ||
4167 | 496 | Opcodes/pitch.c | ||
4168 | 497 | Opcodes/pitch0.c | ||
4169 | 498 | Opcodes/spectra.c | ||
4170 | 499 | Opcodes/ambicode1.c | ||
4171 | 500 | Opcodes/sfont.c | ||
4172 | 501 | Opcodes/grain4.c | ||
4173 | 502 | Opcodes/hrtferX.c | ||
4174 | 503 | Opcodes/loscilx.c | ||
4175 | 504 | Opcodes/minmax.c | ||
4176 | 505 | Opcodes/pan2.c | ||
4177 | 506 | Opcodes/tabvars.c | ||
4178 | 507 | Opcodes/phisem.c | ||
4179 | 508 | Opcodes/hrtfopcodes.c | ||
4180 | 509 | Opcodes/stackops.c | ||
4181 | 510 | Opcodes/vbap.c | ||
4182 | 511 | Opcodes/vbap_eight.c | ||
4183 | 512 | Opcodes/vbap_four.c | ||
4184 | 513 | Opcodes/vbap_sixteen.c | ||
4185 | 514 | Opcodes/vbap_zak.c | ||
4186 | 515 | Opcodes/vaops.c | ||
4187 | 516 | Opcodes/ugakbari.c | ||
4188 | 517 | Opcodes/harmon.c | ||
4189 | 518 | Opcodes/pitchtrack.c | ||
4190 | 519 | Opcodes/partikkel.c | ||
4191 | 520 | Opcodes/shape.c | ||
4192 | 521 | Opcodes/tabsum.c | ||
4193 | 522 | Opcodes/crossfm.c | ||
4194 | 523 | Opcodes/pvlock.c | ||
4195 | 524 | Opcodes/fareyseq.c | ||
4196 | 525 | Opcodes/modmatrix.c | ||
4197 | 526 | Opcodes/scoreline.c | ||
4198 | 527 | Opcodes/modal4.c | ||
4199 | 528 | Opcodes/physutil.c | ||
4200 | 529 | Opcodes/physmod.c | ||
4201 | 530 | Opcodes/mandolin.c | ||
4202 | 531 | Opcodes/singwave.c | ||
4203 | 532 | Opcodes/fm4op.c | ||
4204 | 533 | Opcodes/moog1.c | ||
4205 | 534 | Opcodes/shaker.c | ||
4206 | 535 | Opcodes/bowedbar.c | ||
4207 | 536 | Opcodes/gab/tabmorph.c | ||
4208 | 537 | Opcodes/gab/hvs.c | ||
4209 | 538 | Opcodes/gab/sliderTable.c | ||
4210 | 539 | Opcodes/gab/newgabopc.c | ||
4211 | 540 | Opcodes/ftest.c | ||
4212 | 541 | Opcodes/hrtfearly.c | ||
4213 | 542 | Opcodes/hrtfreverb.c | ||
4214 | 543 | Opcodes/cpumeter.c | ||
4215 | 544 | Opcodes/gendy.c | ||
4216 | 545 | Opcodes/tl/sc_noise.c | ||
4217 | 546 | Top/argdecode.c | ||
4218 | 547 | Top/cscore_internal.c | ||
4219 | 548 | Top/cscorfns.c | ||
4220 | 549 | Top/csmodule.c | ||
4221 | 550 | Top/csound.c | ||
4222 | 551 | Top/getstring.c | ||
4223 | 552 | Top/main.c | ||
4224 | 553 | Top/new_opts.c | ||
4225 | 554 | Top/one_file.c | ||
4226 | 555 | Top/opcode.c | ||
4227 | 556 | Top/threads.c | ||
4228 | 557 | Top/utility.c) | ||
4229 | 558 | |||
4230 | 559 | set(stdopcod_SRCS | ||
4231 | 560 | Opcodes/ambicode.c | ||
4232 | 561 | Opcodes/bbcut.c | ||
4233 | 562 | Opcodes/biquad.c | ||
4234 | 563 | Opcodes/butter.c | ||
4235 | 564 | Opcodes/clfilt.c | ||
4236 | 565 | Opcodes/cross2.c | ||
4237 | 566 | Opcodes/dam.c | ||
4238 | 567 | Opcodes/dcblockr.c | ||
4239 | 568 | Opcodes/filter.c | ||
4240 | 569 | Opcodes/flanger.c | ||
4241 | 570 | Opcodes/follow.c | ||
4242 | 571 | Opcodes/fout.c | ||
4243 | 572 | Opcodes/freeverb.c | ||
4244 | 573 | Opcodes/ftconv.c | ||
4245 | 574 | Opcodes/ftgen.c | ||
4246 | 575 | Opcodes/gab/gab.c | ||
4247 | 576 | Opcodes/gab/vectorial.c | ||
4248 | 577 | Opcodes/grain.c | ||
4249 | 578 | Opcodes/locsig.c | ||
4250 | 579 | Opcodes/lowpassr.c | ||
4251 | 580 | Opcodes/metro.c | ||
4252 | 581 | Opcodes/midiops2.c | ||
4253 | 582 | Opcodes/midiops3.c | ||
4254 | 583 | Opcodes/newfils.c | ||
4255 | 584 | Opcodes/nlfilt.c | ||
4256 | 585 | Opcodes/oscbnk.c | ||
4257 | 586 | Opcodes/pluck.c | ||
4258 | 587 | Opcodes/repluck.c | ||
4259 | 588 | Opcodes/reverbsc.c | ||
4260 | 589 | Opcodes/seqtime.c | ||
4261 | 590 | Opcodes/sndloop.c | ||
4262 | 591 | Opcodes/sndwarp.c | ||
4263 | 592 | Opcodes/space.c | ||
4264 | 593 | Opcodes/spat3d.c | ||
4265 | 594 | Opcodes/syncgrain.c | ||
4266 | 595 | Opcodes/ugens7.c | ||
4267 | 596 | Opcodes/ugens9.c | ||
4268 | 597 | Opcodes/ugensa.c | ||
4269 | 598 | Opcodes/uggab.c | ||
4270 | 599 | Opcodes/ugmoss.c | ||
4271 | 600 | Opcodes/ugnorman.c | ||
4272 | 601 | Opcodes/ugsc.c | ||
4273 | 602 | Opcodes/wave-terrain.c | ||
4274 | 603 | Opcodes/stdopcod.c) | ||
4275 | 604 | |||
4276 | 605 | set(cs_pvs_ops_SRCS | ||
4277 | 606 | Opcodes/ifd.c | ||
4278 | 607 | Opcodes/partials.c | ||
4279 | 608 | Opcodes/psynth.c | ||
4280 | 609 | Opcodes/pvsbasic.c | ||
4281 | 610 | Opcodes/pvscent.c | ||
4282 | 611 | Opcodes/pvsdemix.c | ||
4283 | 612 | Opcodes/pvs_ops.c | ||
4284 | 613 | Opcodes/pvsband.c | ||
4285 | 614 | Opcodes/pvsbuffer.c) | ||
4286 | 615 | |||
4287 | 616 | set(oldpvoc_SRCS | ||
4288 | 617 | Opcodes/dsputil.c | ||
4289 | 618 | Opcodes/pvadd.c | ||
4290 | 619 | Opcodes/pvinterp.c | ||
4291 | 620 | Opcodes/pvocext.c | ||
4292 | 621 | Opcodes/pvread.c | ||
4293 | 622 | Opcodes/ugens8.c | ||
4294 | 623 | Opcodes/vpvoc.c | ||
4295 | 624 | Opcodes/pvoc.c) | ||
4296 | 625 | |||
4297 | 626 | set(mp3in_SRCS | ||
4298 | 627 | Opcodes/mp3in.c | ||
4299 | 628 | InOut/libmpadec/layer1.c | ||
4300 | 629 | InOut/libmpadec/layer2.c | ||
4301 | 630 | InOut/libmpadec/layer3.c | ||
4302 | 631 | InOut/libmpadec/synth.c | ||
4303 | 632 | InOut/libmpadec/tables.c | ||
4304 | 633 | InOut/libmpadec/mpadec.c | ||
4305 | 634 | InOut/libmpadec/mp3dec.c) | ||
4306 | 635 | |||
4307 | 636 | |||
4308 | 637 | list(APPEND libcsound_SRCS ${stdopcod_SRCS} ${cs_pvs_ops_SRCS} ${oldpvoc_SRCS} ${mp3in_SRCS}) | ||
4309 | 638 | |||
4310 | 639 | # Handling New Parser | ||
4311 | 640 | |||
4312 | 641 | check_deps(BUILD_NEW_PARSER FLEX_EXECUTABLE BISON_EXECUTABLE) | ||
4313 | 642 | if(BUILD_NEW_PARSER) | ||
4314 | 643 | add_custom_target(NewParser echo "Creating parser.c") | ||
4315 | 644 | |||
4316 | 645 | set(YACC_SRC ${CMAKE_CURRENT_SOURCE_DIR}/Engine/csound_orc.y) | ||
4317 | 646 | set(YACC_OUT ${CMAKE_CURRENT_BINARY_DIR}/csound_orcparse.c) | ||
4318 | 647 | |||
4319 | 648 | set(LEX_SRC ${CMAKE_CURRENT_SOURCE_DIR}/Engine/csound_orc.l) | ||
4320 | 649 | set(LEX_OUT ${CMAKE_CURRENT_BINARY_DIR}/csound_orclex.c) | ||
4321 | 650 | |||
4322 | 651 | set(PRELEX_SRC ${CMAKE_CURRENT_SOURCE_DIR}/Engine/csound_pre.lex) | ||
4323 | 652 | set(PRELEX_OUT ${CMAKE_CURRENT_BINARY_DIR}/csound_prelex.c) | ||
4324 | 653 | |||
4325 | 654 | add_custom_command( | ||
4326 | 655 | SOURCE ${LEX_SRC} | ||
4327 | 656 | COMMAND ${FLEX_EXECUTABLE} ARGS -B -t ${LEX_SRC} > ${LEX_OUT} | ||
4328 | 657 | TARGET NewParser | ||
4329 | 658 | OUTPUTS ${LEX_OUT}) | ||
4330 | 659 | |||
4331 | 660 | add_custom_command( | ||
4332 | 661 | SOURCE ${PRELEX_SRC} | ||
4333 | 662 | COMMAND ${FLEX_EXECUTABLE} ARGS -B ${PRELEX_SRC} > ${PRELEX_OUT} | ||
4334 | 663 | TARGET NewParser | ||
4335 | 664 | OUTPUTS ${PRELEX_OUT}) | ||
4336 | 665 | |||
4337 | 666 | add_custom_command( | ||
4338 | 667 | SOURCE ${YACC_SRC} | ||
4339 | 668 | COMMAND ${BISON_EXECUTABLE} | ||
4340 | 669 | ARGS -pcsound_orc -d --report=itemset -o ${YACC_OUT} ${YACC_SRC} | ||
4341 | 670 | TARGET NewParser | ||
4342 | 671 | DEPENDS ${LEX_OUT} | ||
4343 | 672 | OUTPUTS ${YACC_OUT}) | ||
4344 | 673 | |||
4345 | 674 | list(APPEND libcsound_SRCS | ||
4346 | 675 | ${LEX_OUT} ${YACC_OUT} ${PRELEX_OUT} | ||
4347 | 676 | Engine/csound_orc_semantics.c | ||
4348 | 677 | Engine/csound_orc_expressions.c | ||
4349 | 678 | Engine/csound_orc_optimize.c | ||
4350 | 679 | Engine/csound_orc_compile.c | ||
4351 | 680 | Engine/new_orc_parser.c | ||
4352 | 681 | Engine/symbtab.c) | ||
4353 | 682 | |||
4354 | 683 | set_source_files_properties(${YACC_OUT} GENERATED) | ||
4355 | 684 | set_source_files_properties(${LEX_OUT} GENERATED) | ||
4356 | 685 | |||
4357 | 686 | include_directories(${CMAKE_CURRENT_BINARY_DIR}) | ||
4358 | 687 | |||
4359 | 688 | list(APPEND libcsound_CFLAGS -DENABLE_NEW_PARSER) | ||
4360 | 689 | |||
4361 | 690 | if(NEW_PARSER_DEBUG) | ||
4362 | 691 | message(STATUS "Building with new parser debugging") | ||
4363 | 692 | list(APPEND libcsound_CFLAGS -DPARSER_DEBUG=1) | ||
4364 | 693 | else() | ||
4365 | 694 | message(STATUS "Not building with new parser debugging") | ||
4366 | 695 | endif() | ||
4367 | 696 | |||
4368 | 697 | if(BUILD_MULTI_CORE) | ||
4369 | 698 | message(STATUS "Building with multicore") | ||
4370 | 699 | |||
4371 | 700 | list(APPEND libcsound_SRCS | ||
4372 | 701 | Engine/cs_par_base.c | ||
4373 | 702 | Engine/cs_par_orc_semantic_analysis.c | ||
4374 | 703 | Engine/cs_par_dispatch.c) | ||
4375 | 704 | |||
4376 | 705 | list(APPEND libcsound_CFLAGS -DPARCS) | ||
4377 | 706 | |||
4378 | 707 | else() | ||
4379 | 708 | message(STATUS "Not building with multicore") | ||
4380 | 709 | endif() | ||
4381 | 710 | |||
4382 | 711 | endif() | ||
4383 | 712 | |||
4384 | 713 | |||
4385 | 714 | if(USE_DOUBLE) | ||
4386 | 715 | set(CSOUNDLIB "csound64") | ||
4387 | 716 | else() | ||
4388 | 717 | set(CSOUNDLIB "csound") | ||
4389 | 718 | endif() | ||
4390 | 719 | |||
4391 | 720 | set(CSOUNDLIB_STATIC "${CSOUNDLIB}-static") | ||
4392 | 721 | |||
4393 | 722 | |||
4394 | 723 | add_library(${CSOUNDLIB} SHARED ${libcsound_SRCS}) | ||
4395 | 724 | set_target_properties(${CSOUNDLIB} PROPERTIES | ||
4396 | 725 | # Do not pull extra libs when linking against shared libcsound | ||
4397 | 726 | # The shared library loader will do that for us | ||
4398 | 727 | LINK_INTERFACE_LIBRARIES "" | ||
4399 | 728 | SOVERSION ${APIVERSION}) | ||
4400 | 729 | |||
4401 | 730 | # Add the install target | ||
4402 | 731 | install(TARGETS ${CSOUNDLIB} | ||
4403 | 732 | LIBRARY DESTINATION "${LIBRARY_INSTALL_DIR}" | ||
4404 | 733 | ARCHIVE DESTINATION "${LIBRARY_INSTALL_DIR}") | ||
4405 | 734 | |||
4406 | 735 | set(libcsound_LIBS | ||
4407 | 736 | ${LIBSNDFILE_LIBRARY} | ||
4408 | 737 | ${PTHREAD_LIBRARY}) | ||
4409 | 738 | |||
4410 | 739 | if(WIN32) | ||
4411 | 740 | list(APPEND libcsound_LIBS "${CSOUND_WINDOWS_LIBRARIES}") | ||
4412 | 741 | endif() | ||
4413 | 742 | |||
4414 | 743 | # Linux does not have a separate libintl, it is part of libc | ||
4415 | 744 | set(LIBINTL_AVAIL (LIBINTL_LIBRARY OR LINUX)) | ||
4416 | 745 | check_deps(USE_GETTEXT LIBINTL_HEADER LIBINTL_AVAIL GETTEXT_MSGFMT_EXECUTABLE) | ||
4417 | 746 | if(USE_GETTEXT) | ||
4418 | 747 | message(STATUS "Using GNU Gettext") | ||
4419 | 748 | if(NOT LINUX) | ||
4420 | 749 | list(APPEND libcsound_LIBS ${LIBINTL_LIBRARY}) | ||
4421 | 750 | endif() | ||
4422 | 751 | list(APPEND libcsound_CFLAGS -DGNU_GETTEXT) | ||
4423 | 752 | else() | ||
4424 | 753 | message(STATUS "Not using localization") | ||
4425 | 754 | endif() | ||
4426 | 755 | |||
4427 | 756 | |||
4428 | 757 | if(LINUX) | ||
4429 | 758 | message(STATUS "Building on Linux") | ||
4430 | 759 | add_definitions(-DLINUX) | ||
4431 | 760 | list(APPEND libcsound_LIBS m dl) | ||
4432 | 761 | endif() | ||
4433 | 762 | |||
4434 | 763 | if(APPLE) | ||
4435 | 764 | message(STATUS "Building on OSX") | ||
4436 | 765 | add_definitions(-DMACOSX -DPIPES) | ||
4437 | 766 | list(APPEND libcsound_LIBS m dl) | ||
4438 | 767 | endif() | ||
4439 | 768 | |||
4440 | 769 | if(WIN32) | ||
4441 | 770 | add_definitions(-DWIN32) | ||
4442 | 771 | endif() | ||
4443 | 772 | |||
4444 | 773 | |||
4445 | 774 | |||
4446 | 775 | # Pass flags according to system capabilities | ||
4447 | 776 | |||
4448 | 777 | if(HAVE_WINSOCK_H OR HAVE_SYS_SOCKETS_H) | ||
4449 | 778 | list(APPEND libcsound_CFLAGS -DHAVE_SOCKETS) | ||
4450 | 779 | endif() | ||
4451 | 780 | if(HAVE_DIRENT_H) | ||
4452 | 781 | list(APPEND libcsound_CFLAGS -DHAVE_DIRENT_H) | ||
4453 | 782 | endif() | ||
4454 | 783 | if(HAVE_FCNTL_H) | ||
4455 | 784 | list(APPEND libcsound_CFLAGS -DHAVE_FCNTL_H) | ||
4456 | 785 | endif() | ||
4457 | 786 | if(HAVE_UNISTD_H) | ||
4458 | 787 | list(APPEND libcsound_CFLAGS -DHAVE_UNISTD_H) | ||
4459 | 788 | endif() | ||
4460 | 789 | if(HAVE_STDINT_H) | ||
4461 | 790 | list(APPEND libcsound_CFLAGS -DHAVE_STDINT_H) | ||
4462 | 791 | endif() | ||
4463 | 792 | if(HAVE_SYS_TIME_H) | ||
4464 | 793 | list(APPEND libcsound_CFLAGS -DHAVE_SYS_TIME_H) | ||
4465 | 794 | endif() | ||
4466 | 795 | if(HAVE_SYS_TYPES_H) | ||
4467 | 796 | list(APPEND libcsound_CFLAGS -DHAVE_SYS_TYPES_H) | ||
4468 | 797 | endif() | ||
4469 | 798 | if(HAVE_TERMIOS_H) | ||
4470 | 799 | list(APPEND libcsound_CFLAGS -DHAVE_TERMIOS_H) | ||
4471 | 800 | endif() | ||
4472 | 801 | if(HAVE_VALUES_H) | ||
4473 | 802 | list(APPEND libcsound_CFLAGS -DHAVE_VALUES_H) | ||
4474 | 803 | endif() | ||
4475 | 804 | #if(CMAKE_C_COMPILER MATCHES "gcc") | ||
4476 | 805 | # list(APPEND libcsound_CFLAGS -fno-strict-aliasing) | ||
4477 | 806 | #endif() | ||
4478 | 807 | if(BIG_ENDIAN) | ||
4479 | 808 | list(APPEND libcsound_CFLAGS -DWORDS_BIGENDIAN) | ||
4480 | 809 | endif() | ||
4481 | 810 | |||
4482 | 811 | add_compiler_flags(${libcsound_CFLAGS} TARGETS ${CSOUNDLIB}) | ||
4483 | 812 | |||
4484 | 813 | target_link_libraries(${CSOUNDLIB} ${libcsound_LIBS}) | ||
4485 | 814 | |||
4486 | 815 | set_target_properties(${CSOUNDLIB} PROPERTIES | ||
4487 | 816 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR} | ||
4488 | 817 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
4489 | 818 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}) | ||
4490 | 819 | |||
4491 | 820 | if(BUILD_STATIC_LIBRARY) | ||
4492 | 821 | add_library(${CSOUNDLIB_STATIC} STATIC ${libcsound_SRCS}) | ||
4493 | 822 | SET_TARGET_PROPERTIES(${CSOUNDLIB_STATIC} PROPERTIES OUTPUT_NAME ${CSOUNDLIB}) | ||
4494 | 823 | SET_TARGET_PROPERTIES(${CSOUNDLIB_STATIC} PROPERTIES PREFIX "lib") | ||
4495 | 824 | add_compiler_flags(${libcsound_CFLAGS} TARGETS ${CSOUNDLIB_STATIC}) | ||
4496 | 825 | |||
4497 | 826 | target_link_libraries(${CSOUNDLIB_STATIC} ${libcsound_LIBS}) | ||
4498 | 827 | |||
4499 | 828 | set_target_properties(${CSOUNDLIB_STATIC} PROPERTIES | ||
4500 | 829 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR} | ||
4501 | 830 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR} | ||
4502 | 831 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}) | ||
4503 | 832 | |||
4504 | 833 | # Add the install target | ||
4505 | 834 | install(TARGETS ${CSOUNDLIB_STATIC} | ||
4506 | 835 | LIBRARY DESTINATION "${LIBRARY_INSTALL_DIR}" | ||
4507 | 836 | ARCHIVE DESTINATION "${LIBRARY_INSTALL_DIR}") | ||
4508 | 837 | endif() | ||
4509 | 838 | |||
4510 | 839 | option(BUILD_CATALOG "Build the opcode/library catalog" OFF) | ||
4511 | 840 | check_deps(BUILD_CATALOG) | ||
4512 | 841 | if(BUILD_CATALOG) | ||
4513 | 842 | |||
4514 | 843 | make_executable(mkdb "mkdb" "dl") | ||
4515 | 844 | set_target_properties(mkdb PROPERTIES LINKER_LANGUAGE C) | ||
4516 | 845 | endif() | ||
4517 | 846 | |||
4518 | 847 | |||
4519 | 848 | add_subdirectory(Opcodes) | ||
4520 | 849 | add_subdirectory(InOut) | ||
4521 | 850 | add_subdirectory(interfaces) | ||
4522 | 851 | add_subdirectory(frontends) | ||
4523 | 852 | add_subdirectory(util) | ||
4524 | 853 | add_subdirectory(util1) | ||
4525 | 854 | add_subdirectory(SDIF) | ||
4526 | 855 | add_subdirectory(po) | ||
4527 | 856 | add_subdirectory(H) | ||
4528 | 857 | 0 | ||
4529 | === removed directory '.pc/2020-libpthread-underlinkage.patch' | |||
4530 | === removed file '.pc/2020-libpthread-underlinkage.patch/CMakeLists.txt' | |||
4531 | --- .pc/2020-libpthread-underlinkage.patch/CMakeLists.txt 2013-04-06 14:01:34 +0000 | |||
4532 | +++ .pc/2020-libpthread-underlinkage.patch/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
4533 | @@ -1,864 +0,0 @@ | |||
4534 | 1 | cmake_minimum_required(VERSION 2.6) | ||
4535 | 2 | |||
4536 | 3 | project (Csound) | ||
4537 | 4 | |||
4538 | 5 | message(STATUS "${CMAKE_HOME_DIRECTORY}") | ||
4539 | 6 | |||
4540 | 7 | # Project definitions | ||
4541 | 8 | set(APIVERSION "5.2") | ||
4542 | 9 | |||
4543 | 10 | # Relative install paths | ||
4544 | 11 | set(EXECUTABLE_INSTALL_DIR "bin") | ||
4545 | 12 | set(LIBRARY_INSTALL_DIR "lib") | ||
4546 | 13 | if(USE_DOUBLE) | ||
4547 | 14 | set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins64-${APIVERSION}") | ||
4548 | 15 | else() | ||
4549 | 16 | set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins-${APIVERSION}") | ||
4550 | 17 | endif() | ||
4551 | 18 | set(PYTHON_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR}) | ||
4552 | 19 | set(JAVA_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR}) | ||
4553 | 20 | set(LUA_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR}) | ||
4554 | 21 | set(LOCALE_INSTALL_DIR "share/locale") | ||
4555 | 22 | set(HEADER_INSTALL_DIR "include/csound") | ||
4556 | 23 | |||
4557 | 24 | include(TestBigEndian) | ||
4558 | 25 | include(CheckFunctionExists) | ||
4559 | 26 | include(CheckIncludeFile) | ||
4560 | 27 | include(CheckIncludeFileCXX) | ||
4561 | 28 | include(CheckLibraryExists) | ||
4562 | 29 | include(CMakeParseArguments) | ||
4563 | 30 | |||
4564 | 31 | # Utility function to make plugins. All plugin targets should use this as it | ||
4565 | 32 | # sets up output directory set in top-level CmakeLists.txt | ||
4566 | 33 | # and adds the appropriate install target | ||
4567 | 34 | # | ||
4568 | 35 | # libname - name of library to produce | ||
4569 | 36 | # srcs - list of src files (must be quoted if a list) | ||
4570 | 37 | # extralibs (OPTIONAL) - extra libraries to link the plugin to | ||
4571 | 38 | # | ||
4572 | 39 | function(make_plugin libname srcs) | ||
4573 | 40 | if(APPLE) | ||
4574 | 41 | add_library(${libname} SHARED ${srcs}) | ||
4575 | 42 | else() | ||
4576 | 43 | add_library(${libname} MODULE ${srcs}) | ||
4577 | 44 | endif() | ||
4578 | 45 | |||
4579 | 46 | set(i 2) | ||
4580 | 47 | while( ${i} LESS ${ARGC} ) | ||
4581 | 48 | if(NOT MSVC OR NOT("${ARGV${i}}" MATCHES "m")) | ||
4582 | 49 | target_link_libraries(${libname} ${ARGV${i}}) | ||
4583 | 50 | endif() | ||
4584 | 51 | math(EXPR i "${i}+1") | ||
4585 | 52 | endwhile() | ||
4586 | 53 | |||
4587 | 54 | set_target_properties(${libname} PROPERTIES | ||
4588 | 55 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_PLUGINS_DIR} | ||
4589 | 56 | LIBRARY_OUTPUT_DIRECTORY ${BUILD_PLUGINS_DIR} | ||
4590 | 57 | ARCHIVE_OUTPUT_DIRECTORY ${BUILD_PLUGINS_DIR}) | ||
4591 | 58 | |||
4592 | 59 | install(TARGETS ${libname} | ||
4593 | 60 | LIBRARY DESTINATION "${PLUGIN_INSTALL_DIR}" ) | ||
4594 | 61 | endfunction(make_plugin) | ||
4595 | 62 | # Utility function to make executables. All plugin targets should use this as it | ||
4596 | 63 | # sets up output directory set in top-level CmakeLists.txt | ||
4597 | 64 | # and adds an appropriate install target | ||
4598 | 65 | # | ||
4599 | 66 | # name - name of executable to produce | ||
4600 | 67 | # srcs - list of src files | ||
4601 | 68 | # libs - list of library files to link to | ||
4602 | 69 | # output_name (OPTIONAL) - overide the name of the generated executable | ||
4603 | 70 | # | ||
4604 | 71 | function(make_executable name srcs libs) | ||
4605 | 72 | add_executable(${name} ${srcs}) | ||
4606 | 73 | target_link_libraries (${name} ${libs}) | ||
4607 | 74 | set_target_properties(${name} PROPERTIES | ||
4608 | 75 | RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR}) | ||
4609 | 76 | |||
4610 | 77 | if(${ARGC} EQUAL 4) | ||
4611 | 78 | set_target_properties(${name} PROPERTIES | ||
4612 | 79 | OUTPUT_NAME ${ARGV3}) | ||
4613 | 80 | endif() | ||
4614 | 81 | install(TARGETS ${name} | ||
4615 | 82 | RUNTIME DESTINATION "${EXECUTABLE_INSTALL_DIR}" ) | ||
4616 | 83 | endfunction(make_executable) | ||
4617 | 84 | |||
4618 | 85 | |||
4619 | 86 | # Utility function to make a utility executable | ||
4620 | 87 | # | ||
4621 | 88 | # name - name of executable to produce | ||
4622 | 89 | # srcs - list of src files | ||
4623 | 90 | |||
4624 | 91 | function(make_utility name srcs) | ||
4625 | 92 | make_executable(${name} "${srcs}" "${CSOUNDLIB}") | ||
4626 | 93 | add_dependencies(${name} ${CSOUNDLIB}) | ||
4627 | 94 | endfunction() | ||
4628 | 95 | |||
4629 | 96 | |||
4630 | 97 | # Expands a list into a space-separated string (outvar element1 ....) | ||
4631 | 98 | # Why do I have to do this? Cmake, you just lost one point | ||
4632 | 99 | function(expand_list out) | ||
4633 | 100 | set(i 1) | ||
4634 | 101 | set(tmp "") | ||
4635 | 102 | while( ${i} LESS ${ARGC} ) | ||
4636 | 103 | set(tmp "${tmp} ${ARGV${i}}") | ||
4637 | 104 | math(EXPR i "${i}+1") | ||
4638 | 105 | endwhile() | ||
4639 | 106 | set(${out} "${tmp}" PARENT_SCOPE) | ||
4640 | 107 | endfunction(expand_list) | ||
4641 | 108 | |||
4642 | 109 | # Checks if dependencies for an enabled target are fulfilled. | ||
4643 | 110 | # If FAIL_MISSING is true and the dependencies are not fulfilled, | ||
4644 | 111 | # it will abort the cmake run. | ||
4645 | 112 | # If FAIL_MISSING is false, it will set the option to OFF. | ||
4646 | 113 | # If the target is not enabled, it will do nothing. | ||
4647 | 114 | # example: check_deps(BUILD_NEW_PARSER FLEX_EXECUTABLE BISON_EXECUTABLE) | ||
4648 | 115 | function(check_deps option) | ||
4649 | 116 | if(${option}) | ||
4650 | 117 | set(i 1) | ||
4651 | 118 | while( ${i} LESS ${ARGC} ) | ||
4652 | 119 | set(dep ${ARGV${i}}) | ||
4653 | 120 | if(NOT ${dep}) | ||
4654 | 121 | if(FAIL_MISSING) | ||
4655 | 122 | message(FATAL_ERROR | ||
4656 | 123 | "${option} is enabled, but ${dep}=\"${${dep}}\"") | ||
4657 | 124 | else() | ||
4658 | 125 | message(STATUS "${dep}=\"${${dep}}\", so disabling ${option}") | ||
4659 | 126 | set(${option} OFF PARENT_SCOPE) | ||
4660 | 127 | # Set it in the local scope too | ||
4661 | 128 | set(${option} OFF) | ||
4662 | 129 | endif() | ||
4663 | 130 | endif() | ||
4664 | 131 | math(EXPR i "${i}+1") | ||
4665 | 132 | endwhile() | ||
4666 | 133 | endif() | ||
4667 | 134 | if(${option}) | ||
4668 | 135 | message(STATUS "${option} is enabled") | ||
4669 | 136 | else() | ||
4670 | 137 | message(STATUS "${option} is disabled") | ||
4671 | 138 | endif() | ||
4672 | 139 | endfunction(check_deps) | ||
4673 | 140 | |||
4674 | 141 | # Shortcut to add compiler flags | ||
4675 | 142 | # Mandatory arguments: the flags to add, should be passed before optional keywords, can be | ||
4676 | 143 | # passed as lists or space-separated | ||
4677 | 144 | # Optional keywords: | ||
4678 | 145 | # LINKER: add to linker instead of compile flags (LDFLAGS vs CFLAGS) | ||
4679 | 146 | # TARGETS <target1> <target2> ... | ||
4680 | 147 | # if specified, will add the flags to a target instead | ||
4681 | 148 | # of the global namespace | ||
4682 | 149 | function(add_compiler_flags) | ||
4683 | 150 | set(bool_options LINKER) | ||
4684 | 151 | set(multi_val_args TARGETS) | ||
4685 | 152 | cmake_parse_arguments(FLAGS "${bool_options}" "" "${multi_val_args}" ${ARGN}) | ||
4686 | 153 | |||
4687 | 154 | expand_list(FLAGS ${FLAGS_UNPARSED_ARGUMENTS}) | ||
4688 | 155 | |||
4689 | 156 | if(FLAGS_TARGETS) | ||
4690 | 157 | foreach(target ${FLAGS_TARGETS}) | ||
4691 | 158 | if(NOT FLAGS_LINKER) | ||
4692 | 159 | set(property "COMPILE_FLAGS") | ||
4693 | 160 | else() | ||
4694 | 161 | set(property "LINK_FLAGS") | ||
4695 | 162 | endif() | ||
4696 | 163 | get_target_property(propval ${target} ${property}) | ||
4697 | 164 | if(NOT propval) | ||
4698 | 165 | set(propval "") | ||
4699 | 166 | endif() | ||
4700 | 167 | set_target_properties(${target} PROPERTIES | ||
4701 | 168 | ${property} "${propval} ${FLAGS}") | ||
4702 | 169 | endforeach() | ||
4703 | 170 | else() | ||
4704 | 171 | if(FLAGS_LINKER) | ||
4705 | 172 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLAGS}") | ||
4706 | 173 | set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${FLAGS}") | ||
4707 | 174 | set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${FLAGS}") | ||
4708 | 175 | else() | ||
4709 | 176 | add_definitions("${FLAGS}") | ||
4710 | 177 | endif() | ||
4711 | 178 | endif() | ||
4712 | 179 | endfunction(add_compiler_flags) | ||
4713 | 180 | |||
4714 | 181 | |||
4715 | 182 | # Include this after the install path definitions so we can override them here. | ||
4716 | 183 | # Also after function definitions so we can use them there | ||
4717 | 184 | find_file(CUSTOM_CMAKE "Custom.cmake" HINTS ${CMAKE_HOME_DIRECTORY}) | ||
4718 | 185 | if(CUSTOM_CMAKE) | ||
4719 | 186 | message(STATUS "Including Custom.cmake file: ${CUSTOM_CMAKE}") | ||
4720 | 187 | include(${CUSTOM_CMAKE}) | ||
4721 | 188 | endif() | ||
4722 | 189 | |||
4723 | 190 | |||
4724 | 191 | if(WIN32 AND NOT MSVC) | ||
4725 | 192 | if(EXISTS "C:/MinGW/include") | ||
4726 | 193 | include_directories(C:/MinGW/include) | ||
4727 | 194 | else() | ||
4728 | 195 | MESSAGE(STATUS "MinGW include dir not found") | ||
4729 | 196 | endif() | ||
4730 | 197 | endif() | ||
4731 | 198 | |||
4732 | 199 | if(WIN32) | ||
4733 | 200 | set(CMAKE_SHARED_LIBRARY_PREFIX "") | ||
4734 | 201 | set(CMAKE_SHARED_MODULE_PREFIX "") | ||
4735 | 202 | |||
4736 | 203 | set(CSOUND_WINDOWS_LIBRARIES | ||
4737 | 204 | advapi32 | ||
4738 | 205 | comctl32 | ||
4739 | 206 | comdlg32 | ||
4740 | 207 | glu32 | ||
4741 | 208 | kernel32 | ||
4742 | 209 | msvcrt | ||
4743 | 210 | odbc32 | ||
4744 | 211 | odbccp32 | ||
4745 | 212 | ole32 | ||
4746 | 213 | oleaut32 | ||
4747 | 214 | shell32 | ||
4748 | 215 | user32 | ||
4749 | 216 | uuid | ||
4750 | 217 | winmm | ||
4751 | 218 | winspool | ||
4752 | 219 | ws2_32 | ||
4753 | 220 | wsock32 | ||
4754 | 221 | advapi32 | ||
4755 | 222 | comctl32 | ||
4756 | 223 | comdlg32 | ||
4757 | 224 | glu32 | ||
4758 | 225 | kernel32 | ||
4759 | 226 | odbc32 | ||
4760 | 227 | odbccp32 | ||
4761 | 228 | ole32 | ||
4762 | 229 | oleaut32 | ||
4763 | 230 | shell32 | ||
4764 | 231 | user32 | ||
4765 | 232 | uuid | ||
4766 | 233 | winmm | ||
4767 | 234 | winspool | ||
4768 | 235 | ws2_32 | ||
4769 | 236 | wsock32 | ||
4770 | 237 | pthread) | ||
4771 | 238 | |||
4772 | 239 | endif(WIN32) | ||
4773 | 240 | |||
4774 | 241 | if(CMAKE_SYSTEM_NAME MATCHES "Linux") | ||
4775 | 242 | set(LINUX YES) | ||
4776 | 243 | else() | ||
4777 | 244 | set(LINUX NO) | ||
4778 | 245 | endif() | ||
4779 | 246 | |||
4780 | 247 | ## USER OPTIONS ## | ||
4781 | 248 | |||
4782 | 249 | option(USE_DOUBLE "Set to use double-precision floating point for audio samples." ON) | ||
4783 | 250 | option(BUILD_UTILITIES "Build stand-alone executables for utilities that can also be used with -U" ON) | ||
4784 | 251 | |||
4785 | 252 | option(BUILD_NEW_PARSER "Enable building new parser (requires Flex/Bison)" ON) | ||
4786 | 253 | option(NEW_PARSER_DEBUG "Enable tracing of new parser" OFF) | ||
4787 | 254 | |||
4788 | 255 | option(BUILD_MULTI_CORE "Enable building for multicore system (requires BUILD_NEW_PARSER)" ON) | ||
4789 | 256 | |||
4790 | 257 | option(FAIL_MISSING "Fail when a required external dependency is not present (useful for packagers)" OFF) | ||
4791 | 258 | |||
4792 | 259 | option(USE_GETTEXT "Use the Gettext internationalization library" ON) | ||
4793 | 260 | |||
4794 | 261 | option(BUILD_STATIC_LIBRARY "Also build a static version of the csound library" OFF) | ||
4795 | 262 | |||
4796 | 263 | option(USE_OPEN_MP "Use OpenMP for Parallel Performance" ON) | ||
4797 | 264 | option(USE_LRINT "Use lrint/lrintf for converting floating point values to integers." ON) | ||
4798 | 265 | option(BUILD_RELEASE "Build for release" ON) | ||
4799 | 266 | # Optional targets, they should all default to ON (check_deps will disable them if not possible to build) | ||
4800 | 267 | |||
4801 | 268 | |||
4802 | 269 | set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) | ||
4803 | 270 | |||
4804 | 271 | # This needs to be here since _everybody_ needs this flag | ||
4805 | 272 | if(USE_DOUBLE) | ||
4806 | 273 | add_definitions("-DUSE_DOUBLE") | ||
4807 | 274 | endif(USE_DOUBLE) | ||
4808 | 275 | if(${CMAKE_C_COMPILER} MATCHES "gcc" AND LINUX) | ||
4809 | 276 | add_compiler_flags("-fvisibility=hidden") | ||
4810 | 277 | add_compiler_flags("-fvisibility=hidden" LINKER) | ||
4811 | 278 | endif() | ||
4812 | 279 | |||
4813 | 280 | if(BUILD_RELEASE) | ||
4814 | 281 | add_definitions("-D_CSOUND_RELEASE_") | ||
4815 | 282 | if(LINUX) | ||
4816 | 283 | set(DEFAULT_OPCODEDIR "${CMAKE_INSTALL_PREFIX}/${PLUGIN_INSTALL_DIR}") | ||
4817 | 284 | add_definitions("-DCS_DEFAULT_PLUGINDIR=\"${DEFAULT_OPCODEDIR}\"") | ||
4818 | 285 | endif() | ||
4819 | 286 | else() | ||
4820 | 287 | add_definitions("-DBETA") | ||
4821 | 288 | endif() | ||
4822 | 289 | |||
4823 | 290 | if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) | ||
4824 | 291 | add_definitions("-Wno-format") | ||
4825 | 292 | add_compiler_flags("-g") | ||
4826 | 293 | endif() | ||
4827 | 294 | |||
4828 | 295 | #if(USE_DOUBLE) | ||
4829 | 296 | # set(BUILD_PLUGINS_DIR ${BUILD_DIR}/plugins64) | ||
4830 | 297 | #else() | ||
4831 | 298 | # set(BUILD_PLUGINS_DIR ${BUILD_DIR}/plugins) | ||
4832 | 299 | #endif() | ||
4833 | 300 | |||
4834 | 301 | set(BUILD_PLUGINS_DIR ${BUILD_DIR}) | ||
4835 | 302 | set(BUILD_BIN_DIR ${BUILD_DIR}) | ||
4836 | 303 | set(BUILD_LIB_DIR ${BUILD_DIR}) | ||
4837 | 304 | |||
4838 | 305 | message(STATUS "BUILD_BIN_DIR set to ${BUILD_BIN_DIR}") | ||
4839 | 306 | message(STATUS "BUILD_LIB_DIR set to ${BUILD_LIB_DIR}") | ||
4840 | 307 | message(STATUS "BUILD_PLUGINS_DIR set to ${BUILD_PLUGINS_DIR}") | ||
4841 | 308 | |||
4842 | 309 | # OS specific checks | ||
4843 | 310 | |||
4844 | 311 | TEST_BIG_ENDIAN(BIG_ENDIAN) | ||
4845 | 312 | |||
4846 | 313 | ## CONFIGURATION ## | ||
4847 | 314 | |||
4848 | 315 | SET(BUILD_SHARED_LIBS ON) | ||
4849 | 316 | |||
4850 | 317 | ## HEADER/LIBRARY/OTHER CHECKS ## | ||
4851 | 318 | |||
4852 | 319 | find_package(OpenMP) | ||
4853 | 320 | |||
4854 | 321 | # First, required stuff | ||
4855 | 322 | find_library(LIBSNDFILE_LIBRARY sndfile) | ||
4856 | 323 | |||
4857 | 324 | if(NOT LIBSNDFILE_LIBRARY AND WIN32) | ||
4858 | 325 | find_library(LIBSNDFILE_LIBRARY sndfile-1) | ||
4859 | 326 | endif() | ||
4860 | 327 | |||
4861 | 328 | if(NOT LIBSNDFILE_LIBRARY) | ||
4862 | 329 | message(FATAL_ERROR "Csound requires the sndfile library") | ||
4863 | 330 | endif() | ||
4864 | 331 | |||
4865 | 332 | find_path(SNDFILE_H_PATH sndfile.h) | ||
4866 | 333 | if(SNDFILE_H_PATH) | ||
4867 | 334 | include_directories(${SNDFILE_H_PATH}) | ||
4868 | 335 | else() | ||
4869 | 336 | message(FATAL_ERROR "Could not find sndfile.h") | ||
4870 | 337 | endif() | ||
4871 | 338 | |||
4872 | 339 | find_library(PTHREAD_LIBRARY pthread) | ||
4873 | 340 | |||
4874 | 341 | if(NOT PTHREAD_LIBRARY AND WIN32) | ||
4875 | 342 | find_library(PTHREAD_LIBRARY pthreadGC2) | ||
4876 | 343 | endif() | ||
4877 | 344 | |||
4878 | 345 | if(NOT PTHREAD_LIBRARY) | ||
4879 | 346 | message(FATAL_ERROR "Csound requires the pthread library") | ||
4880 | 347 | endif() | ||
4881 | 348 | |||
4882 | 349 | set(CMAKE_REQUIRED_INCLUDES pthread.h) | ||
4883 | 350 | set(CMAKE_REQUIRED_LIBRARIES pthread) | ||
4884 | 351 | |||
4885 | 352 | # Now, non required library searches # | ||
4886 | 353 | |||
4887 | 354 | find_library(VORBISFILE_LIBRARY vorbisfile) | ||
4888 | 355 | check_include_file(libintl.h LIBINTL_HEADER) | ||
4889 | 356 | find_library(LIBINTL_LIBRARY intl) | ||
4890 | 357 | find_package(Gettext) | ||
4891 | 358 | check_library_exists(m lrint "" HAVE_LRINT) | ||
4892 | 359 | |||
4893 | 360 | set(HEADERS_TO_CHECK | ||
4894 | 361 | unistd.h io.h fcntl.h stdint.h | ||
4895 | 362 | sys/time.h sys/types.h termios.h | ||
4896 | 363 | values.h winsock.h sys/socket.h | ||
4897 | 364 | dirent.h) | ||
4898 | 365 | |||
4899 | 366 | foreach(header ${HEADERS_TO_CHECK}) | ||
4900 | 367 | # Convert to uppercase and replace [./] with _ | ||
4901 | 368 | string(TOUPPER ${header} tmp) | ||
4902 | 369 | string(REGEX REPLACE [./] "_" upper_header ${tmp}) | ||
4903 | 370 | check_include_file(${header} HAVE_${upper_header}) | ||
4904 | 371 | endforeach() | ||
4905 | 372 | |||
4906 | 373 | check_deps(USE_LRINT HAVE_LRINT) | ||
4907 | 374 | if(USE_LRINT) | ||
4908 | 375 | add_definitions("-DUSE_LRINT") | ||
4909 | 376 | endif() | ||
4910 | 377 | |||
4911 | 378 | # Flex/Bison for the new parser | ||
4912 | 379 | if(BUILD_NEW_PARSER) | ||
4913 | 380 | find_package(FLEX) | ||
4914 | 381 | find_package(BISON) | ||
4915 | 382 | endif() | ||
4916 | 383 | |||
4917 | 384 | ## MAIN TARGETS ## | ||
4918 | 385 | |||
4919 | 386 | set(libcsound_CFLAGS -D__BUILDING_LIBCSOUND) | ||
4920 | 387 | |||
4921 | 388 | include_directories(./H) | ||
4922 | 389 | include_directories(./Engine) | ||
4923 | 390 | |||
4924 | 391 | #adding this for files that #include SDIF/sdif* | ||
4925 | 392 | include_directories(./) | ||
4926 | 393 | |||
4927 | 394 | #checking pthread functions | ||
4928 | 395 | check_function_exists(pthread_spin_lock PTHREAD_SPIN_LOCK_EXISTS) | ||
4929 | 396 | check_function_exists(pthread_barrier_init PTHREAD_BARRIER_INIT_EXISTS) | ||
4930 | 397 | |||
4931 | 398 | if(PTHREAD_SPIN_LOCK_EXISTS) | ||
4932 | 399 | list(APPEND libcsound_CFLAGS -DHAVE_PTHREAD_SPIN_LOCK) | ||
4933 | 400 | endif() | ||
4934 | 401 | |||
4935 | 402 | if(PTHREAD_BARRIER_INIT_EXISTS) | ||
4936 | 403 | list(APPEND libcsound_CFLAGS -DHAVE_PTHREAD_BARRIER_INIT) | ||
4937 | 404 | endif() | ||
4938 | 405 | |||
4939 | 406 | |||
4940 | 407 | check_deps(USE_OPEN_MP OPENMP_FOUND PTHREAD_BARRIER_INIT_EXISTS) | ||
4941 | 408 | if(USE_OPEN_MP) | ||
4942 | 409 | list(APPEND libcsound_CFLAGS -DUSE_OPENMP) | ||
4943 | 410 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") | ||
4944 | 411 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") | ||
4945 | 412 | |||
4946 | 413 | set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OpenMP_CXX_FLAGS}") | ||
4947 | 414 | set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${OpenMP_CXX_FLAGS}") | ||
4948 | 415 | |||
4949 | 416 | endif() | ||
4950 | 417 | |||
4951 | 418 | |||
4952 | 419 | #if(WIN32) | ||
4953 | 420 | include_directories(${LIBSNDFILE_INCLUDE_DIRECTORY}) | ||
4954 | 421 | #endif(WIN32) | ||
4955 | 422 | |||
4956 | 423 | |||
4957 | 424 | # The csound library | ||
4958 | 425 | set(libcsound_SRCS | ||
4959 | 426 | Engine/auxfd.c | ||
4960 | 427 | Engine/cfgvar.c | ||
4961 | 428 | Engine/corfiles.c | ||
4962 | 429 | Engine/entry1.c | ||
4963 | 430 | Engine/envvar.c | ||
4964 | 431 | Engine/express.c | ||
4965 | 432 | Engine/extract.c | ||
4966 | 433 | Engine/fgens.c | ||
4967 | 434 | Engine/insert.c | ||
4968 | 435 | Engine/linevent.c | ||
4969 | 436 | Engine/memalloc.c | ||
4970 | 437 | Engine/memfiles.c | ||
4971 | 438 | Engine/musmon.c | ||
4972 | 439 | Engine/namedins.c | ||
4973 | 440 | Engine/otran.c | ||
4974 | 441 | Engine/rdorch.c | ||
4975 | 442 | Engine/rdscor.c | ||
4976 | 443 | Engine/scsort.c | ||
4977 | 444 | Engine/scxtract.c | ||
4978 | 445 | Engine/sort.c | ||
4979 | 446 | Engine/sread.c | ||
4980 | 447 | Engine/swrite.c | ||
4981 | 448 | Engine/swritestr.c | ||
4982 | 449 | Engine/twarp.c | ||
4983 | 450 | InOut/libsnd.c | ||
4984 | 451 | InOut/libsnd_u.c | ||
4985 | 452 | InOut/midifile.c | ||
4986 | 453 | InOut/midirecv.c | ||
4987 | 454 | InOut/midisend.c | ||
4988 | 455 | InOut/winascii.c | ||
4989 | 456 | InOut/windin.c | ||
4990 | 457 | InOut/window.c | ||
4991 | 458 | InOut/winEPS.c | ||
4992 | 459 | OOps/aops.c | ||
4993 | 460 | OOps/bus.c | ||
4994 | 461 | OOps/cmath.c | ||
4995 | 462 | OOps/diskin.c | ||
4996 | 463 | OOps/diskin2.c | ||
4997 | 464 | OOps/disprep.c | ||
4998 | 465 | OOps/dumpf.c | ||
4999 | 466 | OOps/fftlib.c | ||
5000 | 467 | OOps/goto_ops.c |
The diff has been truncated for viewing.
thanks for your work