summaryrefslogtreecommitdiffstats
path: root/flow/CMakeLists.txt
blob: 08396660df66d157b5490c72c65fd00028083170 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
###########################################
#                                         #
#  (C) 2010 Serghei Amelian               #
#  serghei (DOT) amelian (AT) gmail.com   #
#                                         #
#  Improvements and feedback are welcome  #
#                                         #
#  This file is released under GPL >= 2   #
#                                         #
###########################################

add_subdirectory( mcopclass )
add_subdirectory( gsl )
add_subdirectory( gslpp )


include_directories(
  ${CMAKE_BINARY_DIR}
  ${CMAKE_SOURCE_DIR}/artsc
  ${CMAKE_BINARY_DIR}/mcop
  ${CMAKE_SOURCE_DIR}/mcop
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_CURRENT_SOURCE_DIR}
  ${GLIB2_INCLUDE_DIRS}
  ${AUDIOFILE_INCLUDE_DIRS}
  ${ALSA_INCLUDE_DIRS}
  ${ESOUND_INCLUDE_DIRS}
  ${LIBJACK_INCLUDE_DIRS}
  ${NAS_INCLUDE_DIR}
  ${OSS_INCLUDE_DIR}
)


##### artsflow (shared )

set( target artsflow )

set( ${target}_SRCS
  synth_play_impl.cpp gslschedule.cpp audiosubsys.cpp
  pipebuffer.cpp convert.cpp synth_wave_sin_impl.cpp
  synth_frequency_impl.cpp synth_multi_add_impl.cpp
  synth_add_impl.cpp synth_mul_impl.cpp synth_play_wav_impl.cpp
  stdsynthmodule.cpp cache.cpp asyncschedule.cpp bytestreamtoaudio_impl.cpp
  stereovolumecontrol_impl.cpp stereoeffectstack_impl.cpp
  fft.c stereofftscope_impl.cpp virtualports.cpp bus.cpp
  audiomanager_impl.cpp synth_record_impl.cpp resample.cpp
  audioio.cpp audioiooss.cpp audioioalsa.cpp audioioalsa9.cpp
  audioionull.cpp audioiolibaudioio.cpp audioioesd.cpp audioiosndio.cpp
  audioiojack.cpp audioiosun.cpp audioioaix.cpp audioionas.cpp
  cpuinfo.cpp audioioossthreaded.cpp audiotobytestream_impl.cpp
  audioiosgi.cpp audioiocsl.cpp audioiomas.cpp datahandle_impl.cpp
)

tde_add_library( ${target} SHARED

  SOURCES
        ${${target}_SRCS}
  LINK
     artsgsl-static
     artsgslpp-static
     artsflow_idl-shared
     ${AUDIOFILE_LIBRARIES}
     ${LIBJACK_LIBRARIES}
     ${LIBSNDIO_LIBRARIES}
     ${ESOUND_LIBRARIES}
     ${NAS_LIBRARIES}
     ${OSS_LIBRARIES}

  VERSION 1.0.0

  DESTINATION ${LIB_INSTALL_DIR}
)


##### artsflow_idl (shared )

add_custom_command(
  OUTPUT artsflow.cpp
  COMMAND ../mcopidl/mcopidl
  ARGS -t ${CMAKE_CURRENT_SOURCE_DIR}/artsflow.idl
  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/artsflow.idl
)

tde_add_library( artsflow_idl SHARED

  SOURCES
        artsflow.cpp
  LINK
     mcop-shared
     ${ALSA_LIBRARIES}

  VERSION 1.0.0

  DESTINATION ${LIB_INSTALL_DIR}

  DEPENDENCIES mcopidl
)


##### headers

install(
    FILES audiosubsys.h cache.h cachedwav.h convert.h gslschedule.h
          pipebuffer.h stdsynthmodule.h synthschedule.h bufferqueue.h
          fft.h artsflow.idl audioio.h resample.h cpuinfo.h
          ${CMAKE_CURRENT_BINARY_DIR}/artsflow.h

    DESTINATION ${INCLUDE_INSTALL_DIR}
)


##### other data

install(
    FILES ${CMAKE_CURRENT_BINARY_DIR}/artsflow.mcoptype
          ${CMAKE_CURRENT_BINARY_DIR}/artsflow.mcopclass

    DESTINATION ${LIB_INSTALL_DIR}/mcop
)