summaryrefslogtreecommitdiffstats
path: root/arts/modules/synth/CMakeLists.txt
blob: 9930b55d17896c40f58694c2481b4a872e07b176 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#################################################
#
#  (C) 2017 Slávek Banko
#  slavek (DOT) banko (AT) axis.cz
#
#  Improvements and feedback are welcome
#
#  This file is released under GPL >= 2
#
#################################################

add_subdirectory( mcopclass )

include_directories(
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_BINARY_DIR}/arts/gui/common
  ${CMAKE_BINARY_DIR}/arts/midi
  ${CMAKE_BINARY_DIR}/arts/modules
  ${CMAKE_BINARY_DIR}/arts/runtime
  ${CMAKE_BINARY_DIR}
  ${ARTS_INCLUDE_DIRS}
  ${GLIB2_INCLUDE_DIRS}
  ${TQT_INCLUDE_DIRS}
  ${TDE_INCLUDE_DIR}
)

link_directories(
  ${TQT_LIBRARY_DIRS}
  ${ARTS_LIBRARY_DIRS}
)


##### artsmoudlessynth (library) ################

tde_add_library( artsmodulessynth SHARED
  SOURCES
    artsmodulessynth.cpp
    synth_xfade_impl.cpp synth_autopanner_impl.cpp synth_delay_impl.cpp
    synth_cdelay_impl.cpp synth_envelope_adsr_impl.cpp synth_pscale_impl.cpp
    synth_tremolo_impl.cpp synth_fx_cflanger_impl.cpp synth_compressor_impl.cpp
    synth_pitch_shift_impl.cpp synth_pitch_shift_fft_impl.cpp c_filter_stuff.c
    synth_shelve_cutoff_impl.cpp synth_brickwall_limiter_impl.cpp
    synth_std_equalizer_impl.cpp synth_rc_impl.cpp synth_moog_vcf_impl.cpp
    synth_atan_saturate_impl.cpp synth_fm_source_impl.cpp
    synth_wave_tri_impl.cpp synth_noise_impl.cpp synth_wave_softsaw_impl.cpp
    synth_wave_square_impl.cpp synth_wave_pulse_impl.cpp synth_osc_impl.cpp
    synth_play_pat_impl.cpp synth_capture_wav_impl.cpp
    synth_midi_test_impl.cpp synth_sequence_impl.cpp synth_sequence_freq_impl.cpp
    synth_midi_debug_impl.cpp objectcache_impl.cpp synth_nil_impl.cpp
    synth_debug_impl.cpp synth_data_impl.cpp synth_div_impl.cpp
  VERSION 0.0.0
  LINK
    artsbuilder-shared artsmidi_idl-shared
    mcop artsflow artsflow_idl artsgsl ${ARTS_LIBRARIES} ${GLIB2_LIBRARIES}
  DESTINATION ${LIB_INSTALL_DIR}
)

add_custom_command(
  OUTPUT
    artsmodulessynth.cpp artsmodulessynth.h
    artsmodulessynth.mcopclass artsmodulessynth.mcoptype
  COMMAND ${ARTS_MCOPIDL_EXECUTABLE} -t
    -I${CMAKE_SOURCE_DIR}/arts/gui/common
    -I${CMAKE_SOURCE_DIR}/arts/midi
    -I${ARTS_INCLUDEDIR}
    ${CMAKE_CURRENT_SOURCE_DIR}/artsmodulessynth.idl
  DEPENDS artsmodulessynth.idl
)


##### other data ################################

install(
  FILES
    artsmodulessynth.idl
    ${CMAKE_CURRENT_BINARY_DIR}/artsmodulessynth.h
  DESTINATION ${INCLUDE_INSTALL_DIR}/arts
)

install(
  FILES
    ${CMAKE_CURRENT_BINARY_DIR}/artsmodulessynth.mcoptype
    ${CMAKE_CURRENT_BINARY_DIR}/artsmodulessynth.mcopclass
  DESTINATION ${LIB_INSTALL_DIR}/mcop
)