1cmake_minimum_required (VERSION 3.14)
2
3project(CMSISDSPFastMath)
4
5include(configLib)
6include(configDsp)
7
8file(GLOB SRC "./*_*.c")
9
10add_library(CMSISDSPFastMath STATIC)
11configLib(CMSISDSPFastMath ${ROOT})
12configDsp(CMSISDSPFastMath ${ROOT})
13
14include(interpol)
15interpol(CMSISDSPFastMath)
16
17if (CONFIGTABLE AND ALLFAST)
18    target_compile_definitions(CMSISDSPFastMath PUBLIC ARM_ALL_FAST_TABLES)
19endif()
20
21if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_F32)
22target_sources(CMSISDSPFastMath PRIVATE arm_cos_f32.c)
23endif()
24
25if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_Q15)
26target_sources(CMSISDSPFastMath PRIVATE arm_cos_q15.c)
27endif()
28
29if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_Q31)
30target_sources(CMSISDSPFastMath PRIVATE arm_cos_q31.c)
31endif()
32
33if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_F32)
34target_sources(CMSISDSPFastMath PRIVATE arm_sin_f32.c)
35endif()
36
37if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_Q15)
38target_sources(CMSISDSPFastMath PRIVATE arm_sin_q15.c)
39endif()
40
41if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_Q31)
42target_sources(CMSISDSPFastMath PRIVATE arm_sin_q31.c)
43endif()
44
45target_sources(CMSISDSPFastMath PRIVATE arm_sqrt_q15.c)
46target_sources(CMSISDSPFastMath PRIVATE arm_sqrt_q31.c)
47target_sources(CMSISDSPFastMath PRIVATE arm_vlog_f32.c)
48target_sources(CMSISDSPFastMath PRIVATE arm_vexp_f32.c)
49
50if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16))
51target_sources(CMSISDSPFastMath PRIVATE arm_vlog_f16.c)
52target_sources(CMSISDSPFastMath PRIVATE arm_vexp_f16.c)
53target_sources(CMSISDSPFastMath PRIVATE arm_vinverse_f16.c)
54endif()
55
56target_sources(CMSISDSPFastMath PRIVATE arm_divide_q15.c)
57
58
59### Includes
60target_include_directories(CMSISDSPFastMath PUBLIC "${DSP}/Include")
61
62
63
64