summaryrefslogtreecommitdiffstats
path: root/arts/midi/CMakeLists.txt
blob: c8c0925dfb4f45aeab96be6551bc609c889272d8 (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.cpp
  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.cpp midiclient_impl.cpp
    miditest_impl.cpp midimanagerport_impl.cpp rawmidiport_impl.cpp
    systemmiditimer_impl.cpp audiomiditimer_impl.cpp miditimercommon.cpp
    audiosync_impl.cpp audiotimer.cpp alsamidigateway_impl.cpp
    alsamidiport_impl.cpp midisyncgroup_impl.cpp timestampmath.cpp
  VERSION 0.0.0
  LINK
    artsmidi_idl-shared
  DESTINATION ${LIB_INSTALL_DIR}
)

add_custom_command(
  OUTPUT
    artsmidi.cpp 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.cpp midimsg.c
  LINK artsmidi_idl-shared
  DESTINATION ${BIN_INSTALL_DIR}
)

tde_add_check_executable( midisynctest
  SOURCES midisynctest.cpp
  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
)