summaryrefslogtreecommitdiffstats
path: root/arts/midi/CMakeLists.txt
blob: 0b91a9fec864009158c1d457fb655d50e01a3ccb (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
#################################################
#
#  (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/runtime
  ${CMAKE_BINARY_DIR}
  ${ARTS_INCLUDE_DIRS}
  ${TQT_INCLUDE_DIRS}
  ${TDE_INCLUDE_DIR}
)

link_directories(
  ${TQT_LIBRARY_DIRS}
  ${ARTS_LIBRARY_DIRS}
)


##### artsmidi (library) ########################

tde_add_library( artsmidi_idl SHARED
  SOURCES artsmidi.cc
  VERSION 0.0.0
  LINK ${ARTS_LIBRARIES} ${GLIB2_LIBRARIES} ${GTHREAD2_LIBRARIES} mcop artsflow artsflow_idl
  DESTINATION ${LIB_INSTALL_DIR}
)

tde_add_library( artsmidi SHARED
  SOURCES
    midimanager_impl.cc midiclient_impl.cc
    miditest_impl.cc midimanagerport_impl.cc rawmidiport_impl.cc
    systemmiditimer_impl.cc audiomiditimer_impl.cc miditimercommon.cc
    audiosync_impl.cc audiotimer.cc alsamidigateway_impl.cc
    alsamidiport_impl.cc midisyncgroup_impl.cc timestampmath.cc
  VERSION 0.0.0
  LINK
    artsmidi_idl-shared
  DESTINATION ${LIB_INSTALL_DIR}
)

add_custom_command(
  OUTPUT
    artsmidi.cc artsmidi.h
    artsmidi.mcopclass artsmidi.mcoptype
  COMMAND ${ARTS_MCOPIDL_EXECUTABLE} -t
    -I${ARTS_INCLUDEDIR} ${CMAKE_CURRENT_SOURCE_DIR}/artsmidi.idl
  DEPENDS artsmidi.idl
)


##### midisend (executable) #####################

tde_add_executable( midisend
  SOURCES midisend.cc midimsg.c
  LINK artsmidi_idl-shared
  DESTINATION ${BIN_INSTALL_DIR}
)

tde_add_check_executable( midisynctest
  SOURCES midisynctest.cc
  LINK artsmidi-shared soundserver_idl
)


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

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

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