OSDN Git Service

8e945efebd06fc269d2c692632db92baff9736cb
[timidity41/timidity41.git] / timidity / CMakeLists.txt
1
2 add_definitions(
3     [[-DDEFAULT_PATH="./"]]
4 )
5
6 # calcnewton
7
8 add_executable(calcnewton calcnewt.c)
9
10 if(MSVC AND "${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
11     target_compile_options(calcnewton PRIVATE /Oi-)
12 endif()
13
14 if(MSVC)
15     target_compile_options(calcnewton PRIVATE /Od)
16 else()
17     target_compile_options(calcnewton PRIVATE -O0)
18 endif()
19
20 add_custom_command(
21     OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/newton_table.c"
22     COMMAND calcnewton "${CMAKE_CURRENT_BINARY_DIR}/newton_table.c"
23 )
24
25 set_source_files_properties(resample.c OBJECT_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/newton_table.c")
26 include_directories("${CMAKE_CURRENT_BINARY_DIR}")
27
28 # timidity common
29
30 set(
31     TIMIDITY_INTERFACE_DEPENDENT_SOURCE
32
33     controls.c
34     flac_a.c
35     gogo_a.c
36     int_synth.c
37     lame_a.c
38     miditrace.c
39     npipe_a.c
40     opus_a.c
41     output.c
42     playmidi.c
43     portaudio_a.c
44     sndfontini.c
45     speex_a.c
46     thread.c
47     timer2.c
48     timidity.c
49     vorbis_a.c
50     wrdt.c
51     
52     controls.h
53     flac_a.h
54     gogo_a.h
55     int_synth.h
56     LameEnc.h
57     miditrace.h
58     output.h
59     portaudio_a.h
60     thread.h
61     timer2.h
62     timidity.h
63     vstwrapper.h
64     wrd.h
65
66     $<TARGET_OBJECTS:libarc>
67     $<TARGET_OBJECTS:libunimod>
68     $<TARGET_OBJECTS:utils>
69 )
70
71 add_definitions(${TIMIDITY_FE_DEFINITIONS})
72
73 add_library(
74     timidity_common OBJECT
75
76     aiff_a.c
77     ao_a.c
78     aq.c
79     au_a.c
80     audio_cnv.c
81     common.c
82     decode.c
83         dls.cpp
84         ecw.cpp
85     effect.c
86     envelope.c
87     filter.c
88     freq.c
89     instrum.c
90     midi_a.c
91     oscillator.c
92     list_a.c
93     loadtab.c
94     m2m.c
95     mfi.c
96     mfnode.c
97     mix.c
98     mod.c
99     mod2midi.c
100     modmid_a.c
101     mt19937ar.c
102     myini.c
103     optcode.c
104     quantity.c
105     raw_a.c
106     rcp.c
107     readmidi.c
108     recache.c
109     resample.c
110     sbkconv.c
111     sffile.c
112     sfitem.c
113     sfz.cpp
114     benchmark_a.c
115     # smfconv.c
116     smplfile.c
117     sndfont.c
118     tables.c
119     version.c
120     voice_effect.c
121     volumecalc_a.c
122     w32_a.c
123     w32_gogo.c
124     wasapi_a.c
125     wave_a.c
126     w32g_ogg_dll.c
127     w32_portaudio_dll.c
128         w32_speex_dll.c
129     w32g_vorbis_dll.c
130     w32g_vorbisenc_dll.c
131     w32g_vorbisfile_dll.c
132     w32g_opus_dll.c
133     w32_libFLAC_dll.c
134     w32_libmpg123_dll.c
135     w32_libOggFLAC_dll.c
136     wdmks_a.c
137     wrd_read.c
138
139     aenc.h
140     aq.h
141     audio_cnv.h
142     audriv.h
143     common.h
144     decode.h
145         dls.h
146     dlutils.h
147         ecw.h
148     filter.h
149     freq.h
150     instrum.h
151     oscillator.h
152     loadsndfontini.h
153     mac_com.h
154     mac_main.h
155     mfnode.h
156     mix.h
157     mod.h
158     mod2midi.h
159     mt19937ar.h
160     myini.h
161     optcode.h
162     playmidi.h
163     pragmapack.h
164     quantity.h
165     readmidi.h
166     recache.h
167     resample.h
168     effect.h
169     sffile.h
170     sfitem.h
171     sflayer.h
172     sfz.h
173     # smfconv.h
174     sndfontini.h
175     sysdep.h
176     tables.h
177     voice_effect.h
178     w32_a.h
179     w32_gogo.h
180     w32_libFLAC_dll.h
181     w32_libFLAC_dll_g.h
182     w32_libFLAC_dll_i.h
183     w32_libOggFLAC_dll.h
184     w32_libOggFLAC_dll_g.h
185     w32_libOggFLAC_dll_i.h
186         wasapi_a.h
187     wdmks_a.h
188
189     ../vorbis-tools/vorbiscomment/vcedit.c
190     ../vorbis-tools/vorbiscomment/vcedit.h
191 )
192
193 set(
194     TIMIDITY_COMMON_LIBS
195
196     avrt
197     comctl32
198     setupapi
199     shlwapi
200     winmm
201     ws2_32
202 )
203
204 # timidity
205
206 add_executable(
207     timidity
208
209     ${TIMIDITY_INTERFACE_DEPENDENT_SOURCE}
210     $<TARGET_OBJECTS:interface>
211     $<TARGET_OBJECTS:timidity_common>
212 )
213
214 add_dependencies(timidity UpdateTim41Version)
215 target_compile_definitions(timidity PRIVATE -DIA_NCURSES -DIA_VT100)
216 target_link_libraries(timidity ${TIMIDITY_COMMON_LIBS} pdcurses)
217
218 # twsynsrv
219
220 add_executable(
221     twsynsrv
222
223     ${TIMIDITY_INTERFACE_DEPENDENT_SOURCE}
224     $<TARGET_OBJECTS:interface_synsrv>
225     $<TARGET_OBJECTS:timidity_common>
226 )
227
228 add_dependencies(twsynsrv UpdateTim41Version)
229 target_compile_definitions(twsynsrv PRIVATE -DIA_WINSYN -DTWSYNSRV -DTWSYNG32INI)
230 target_link_libraries(twsynsrv ${TIMIDITY_COMMON_LIBS})
231
232 # timw32g
233
234 add_executable(
235     timw32g WIN32
236
237     ${TIMIDITY_INTERFACE_DEPENDENT_SOURCE}
238     $<TARGET_OBJECTS:interface_w32g>
239     $<TARGET_OBJECTS:timidity_common>
240 )
241
242 add_dependencies(timw32g UpdateTim41Version)
243 target_compile_definitions(timw32g PRIVATE -DIA_W32GUI -D__W32G__)
244 target_link_libraries(timw32g ${TIMIDITY_COMMON_LIBS})
245 DisableMSManifest(timw32g)
246
247 # twsyng
248
249 add_executable(
250     twsyng WIN32
251
252     ${TIMIDITY_INTERFACE_DEPENDENT_SOURCE}
253     $<TARGET_OBJECTS:interface_w32gsyn>
254     $<TARGET_OBJECTS:timidity_common>
255 )
256
257 add_dependencies(twsyng UpdateTim41Version)
258 target_compile_definitions(twsyng PRIVATE -DIA_WINSYN -DIA_W32G_SYN -D__W32G__ -DTWSYNG32 -DTWSYNG32INI)
259 target_link_libraries(twsyng ${TIMIDITY_COMMON_LIBS})
260 DisableMSManifest(twsyng)