]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | cmake_minimum_required(VERSION 3.8) |
2 | project(vamp-cmake) | |
3 | ||
4 | set(CMAKE_DEBUG_POSTFIX d) | |
5 | ||
6 | find_package(SndFile REQUIRED) | |
7 | ||
8 | set(VAMP_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/vamp/vamp.h) | |
9 | ||
10 | set(SDK_HEADERS | |
11 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-sdk/Plugin.h | |
12 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-sdk/PluginAdapter.h | |
13 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-sdk/PluginBase.h | |
14 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-sdk/RealTime.h | |
15 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-sdk/FFT.h | |
16 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-sdk/plugguard.h | |
17 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-sdk/vamp-sdk.h) | |
18 | ||
19 | set(SDK_SRC | |
20 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-sdk/acsymbols.c | |
21 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-sdk/FFT.cpp | |
22 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-sdk/PluginAdapter.cpp | |
23 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-sdk/RealTime.cpp) | |
24 | ||
25 | set(HOST_SDK_HEADERS | |
26 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-hostsdk/Plugin.h | |
27 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-hostsdk/PluginBase.h | |
28 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-hostsdk/PluginHostAdapter.h | |
29 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-hostsdk/RealTime.h | |
30 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-hostsdk/PluginBufferingAdapter.h | |
31 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-hostsdk/PluginChannelAdapter.h | |
32 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-hostsdk/PluginInputDomainAdapter.h | |
33 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-hostsdk/PluginLoader.h | |
34 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-hostsdk/PluginSummarisingAdapter.h | |
35 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-hostsdk/PluginWrapper.h | |
36 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-hostsdk/hostguard.h | |
37 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-hostsdk/host-c.h | |
38 | ${CMAKE_CURRENT_SOURCE_DIR}/vamp-hostsdk/vamp-hostsdk.h) | |
39 | ||
40 | set(HOST_SDK_SRC | |
41 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-hostsdk/acsymbols.c | |
42 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-hostsdk/Files.cpp | |
43 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-hostsdk/PluginBufferingAdapter.cpp | |
44 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-hostsdk/PluginChannelAdapter.cpp | |
45 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-hostsdk/PluginHostAdapter.cpp | |
46 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-hostsdk/PluginInputDomainAdapter.cpp | |
47 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-hostsdk/PluginLoader.cpp | |
48 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-hostsdk/PluginSummarisingAdapter.cpp | |
49 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-hostsdk/PluginWrapper.cpp | |
50 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-hostsdk/RealTime.cpp | |
51 | ${CMAKE_CURRENT_SOURCE_DIR}/src/vamp-hostsdk/host-c.cpp) | |
52 | ||
53 | if(BUILD_SHARED_LIBS) | |
54 | if(MSVC) | |
55 | set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) | |
56 | endif() | |
57 | endif() | |
58 | ||
59 | add_library(vamp-sdk ${SDK_SRC} ${SDK_HEADERS}) | |
60 | add_library(vamp-hostsdk ${HOST_SDK_SRC} ${HOST_SDK_HEADERS}) | |
61 | ||
62 | message(${SDK_HEADERS}) | |
63 | ||
64 | set_target_properties(vamp-sdk PROPERTIES PUBLIC_HEADER "${SDK_HEADERS}") | |
65 | set_target_properties(vamp-hostsdk PROPERTIES PUBLIC_HEADER | |
66 | "${HOST_SDK_HEADERS}") | |
67 | ||
68 | set_property(TARGET vamp-sdk PROPERTY CXX_STANDARD 11) | |
69 | set_property(TARGET vamp-hostsdk PROPERTY CXX_STANDARD 11) | |
70 | ||
71 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}) | |
72 | add_definitions(-D_LIB -D_USE_MATH_DEFINES) | |
73 | ||
74 | target_link_libraries(vamp-hostsdk PUBLIC SndFile::sndfile) | |
75 | ||
76 | target_link_libraries(vamp-sdk PUBLIC SndFile::sndfile) | |
77 | ||
78 | install( | |
79 | TARGETS vamp-hostsdk vamp-sdk | |
80 | RUNTIME DESTINATION bin | |
81 | LIBRARY DESTINATION lib | |
82 | ARCHIVE DESTINATION lib | |
83 | PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") | |
84 | ||
85 | if(NOT DISABLE_INSTALL_HEADERS) | |
86 | install( | |
87 | DIRECTORY vamp-hostsdk/ | |
88 | DESTINATION include/vamp-sdk/vamp-hostsdk | |
89 | FILES_MATCHING | |
90 | PATTERN "*.h" | |
91 | PATTERN "*_priv.h" EXCLUDE | |
92 | PATTERN "config.h" EXCLUDE) | |
93 | install( | |
94 | DIRECTORY vamp-sdk/ | |
95 | DESTINATION include/vamp-sdk/vamp-sdk | |
96 | FILES_MATCHING | |
97 | PATTERN "*.h" | |
98 | PATTERN "*_priv.h" EXCLUDE | |
99 | PATTERN "config.h" EXCLUDE) | |
100 | install( | |
101 | DIRECTORY vamp/ | |
102 | DESTINATION include/vamp-sdk/vamp | |
103 | FILES_MATCHING | |
104 | PATTERN "*.h" | |
105 | PATTERN "*_priv.h" EXCLUDE | |
106 | PATTERN "config.h" EXCLUDE) | |
107 | endif() |