-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
104 lines (82 loc) · 2.56 KB
/
CMakeLists.txt
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
cmake_minimum_required(VERSION 3.15)
################################################################
# Setup the project
################################################################
set(PROJECT_NAME "anira-bela-inference")
project(${PROJECT_NAME} VERSION ${PROJECT_VERSION_SHORT})
message(STATUS "Building ${PROJECT_NAME} - Version: ${PROJECT_VERSION_SHORT} (${PROJECT_VERSION_FULL})")
# Sets the cpp language minimum
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)
################################################################
# Setup required by Bela
################################################################
add_compile_options(
-march=armv7-a
-mtune=cortex-a8
-mfloat-abi=hard
-mfpu=neon
-Wno-psabi
)
add_compile_options(
-O3
-g
-fPIC
-ftree-vectorize
-ffast-math
)
add_compile_definitions(DXENOMAI_SKIN_posix)
################################################################
find_library(COBALT_LIB REQUIRED
NAMES cobalt libcobalt
HINTS "${CMAKE_SYSROOT}/usr/xenomai/lib"
)
find_library(NEON_LIB REQUIRED
NAMES NE10 libNE10
HINTS "${CMAKE_SYSROOT}/usr/lib"
)
find_library(MATHNEON_LIB REQUIRED
NAMES mathneon libmathneon
HINTS "${CMAKE_SYSROOT}/usr/lib"
)
################################################################
# Adding the executable
################################################################
file(GLOB SRC_FILES *.cpp)
add_executable(${PROJECT_NAME} ${SRC_FILES})
################################################################
# Define the path of the models
################################################################
target_compile_definitions(
${PROJECT_NAME} PRIVATE
AUDIO_PATH="/root/audio"
)
################################################################
# Adding include directories from cross-compilation toolchain
################################################################
target_include_directories(
${PROJECT_NAME} PRIVATE ${BELA_ROOT} ${BELA_ROOT}/include
)
################################################################
# Linking the required libraries
################################################################
target_link_libraries(
${PROJECT_NAME}
PRIVATE
${BELA_ROOT}/lib/libbelafull.so
anira::anira
${COBALT_LIB}
${NEON_LIB}
${MATHNEON_LIB}
dl
prussdrv
asound
atomic
sndfile
pthread
rt
)
################################################################
# Setup the install target
################################################################
include(cmake/install.cmake)