summaryrefslogtreecommitdiffstats
path: root/Drivers/CMSIS/DSP/Source/FastMathFunctions/CMakeLists.txt
blob: 95a9eb615c72d57577207978377663784b4d3b59 (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
cmake_minimum_required (VERSION 3.14)

project(CMSISDSPFastMath)

include(configLib)
include(configDsp)


add_library(CMSISDSPFastMath STATIC)
configLib(CMSISDSPFastMath ${ROOT})
configDsp(CMSISDSPFastMath ${ROOT})

include(interpol)
interpol(CMSISDSPFastMath)

if (CONFIGTABLE AND ALLFAST)
    target_compile_definitions(CMSISDSPFastMath PUBLIC ARM_ALL_FAST_TABLES)  
endif()

if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_F32)
target_sources(CMSISDSPFastMath PRIVATE arm_cos_f32.c)
endif()

if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_Q15)
target_sources(CMSISDSPFastMath PRIVATE arm_cos_q15.c)
endif()

if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_Q31)
target_sources(CMSISDSPFastMath PRIVATE arm_cos_q31.c)
endif()

if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_F32)
target_sources(CMSISDSPFastMath PRIVATE arm_sin_f32.c)
endif()

if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_Q15)
target_sources(CMSISDSPFastMath PRIVATE arm_sin_q15.c)
endif()

if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_Q31)
target_sources(CMSISDSPFastMath PRIVATE arm_sin_q31.c)
endif()

if (NOT CONFIGTABLE OR ALLFAST OR ARM_SQRT_Q31)
target_sources(CMSISDSPFastMath PRIVATE arm_sqrt_q31.c)
endif()

if (NOT CONFIGTABLE OR ALLFAST OR ARM_SQRT_Q15)
target_sources(CMSISDSPFastMath PRIVATE arm_sqrt_q15.c)
endif()

target_sources(CMSISDSPFastMath PRIVATE arm_vlog_f32.c)
target_sources(CMSISDSPFastMath PRIVATE arm_vlog_f64.c)
target_sources(CMSISDSPFastMath PRIVATE arm_vexp_f32.c)
target_sources(CMSISDSPFastMath PRIVATE arm_vexp_f64.c)

target_sources(CMSISDSPFastMath PRIVATE arm_vlog_q31.c)
target_sources(CMSISDSPFastMath PRIVATE arm_vlog_q15.c)


if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16))
target_sources(CMSISDSPFastMath PRIVATE arm_vlog_f16.c)
target_sources(CMSISDSPFastMath PRIVATE arm_vexp_f16.c)
target_sources(CMSISDSPFastMath PRIVATE arm_vinverse_f16.c)
target_sources(CMSISDSPFastMath PRIVATE arm_atan2_f16.c)
endif()

target_sources(CMSISDSPFastMath PRIVATE arm_divide_q15.c)
target_sources(CMSISDSPFastMath PRIVATE arm_divide_q31.c)

target_sources(CMSISDSPFastMath PRIVATE arm_atan2_f32.c)
target_sources(CMSISDSPFastMath PRIVATE arm_atan2_q31.c)
target_sources(CMSISDSPFastMath PRIVATE arm_atan2_q15.c)


### Includes
target_include_directories(CMSISDSPFastMath PUBLIC "${DSP}/Include")