source: trunk/fw_g473rct/Drivers/CMSIS/DSP/Source/CMakeLists.txt

Last change on this file was 20, checked in by f.jahn, 5 days ago

adc dma funktioniert und modbus funktioniert

File size: 9.7 KB
Line 
1cmake_minimum_required (VERSION 3.6)
2
3project(CMSISDSP)
4
5# Needed to find the config modules
6list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/..)
7
8# Select which parts of the CMSIS-DSP must be compiled.
9# There are some dependencies between the parts but they are not tracked
10# by this cmake. So, enabling some functions may require to enable some
11# other ones.
12option(BASICMATH            "Basic Math Functions"              ON)
13option(COMPLEXMATH          "Complex Math Functions"            ON)
14option(CONTROLLER           "Controller Functions"              ON)
15option(FASTMATH             "Fast Math Functions"               ON)
16option(FILTERING            "Filtering Functions"               ON)
17option(MATRIX               "Matrix Functions"                  ON)
18option(STATISTICS           "Statistics Functions"              ON)
19option(SUPPORT              "Support Functions"                 ON)
20option(TRANSFORM            "Transform Functions"               ON)
21
22# When OFF it is the default behavior : all tables are included.
23option(CONFIGTABLE          "Configuration of table allowed"    OFF)
24
25# When CONFIGTABLE is ON, select if all interpolation tables must be included
26option(ALLFAST              "All interpolation tables included" OFF)
27# When CONFIGTABLE is ON, select if all FFT tables must be included
28option(ALLFFT               "All fft tables included"           OFF)
29
30# Features which require inclusion of a data table.
31# Since some tables may be big, the corresponding feature can be
32# disabled.
33# Those options are taken into account only when CONFIGTABLE is ON
34option(ARM_COS_F32          "cos f32"                           OFF)
35option(ARM_COS_Q31          "cos q31"                           OFF)
36option(ARM_COS_Q15          "cos q15"                           OFF)
37option(ARM_SIN_F32          "sin f32"                           OFF)
38option(ARM_SIN_Q31          "sin q31"                           OFF)
39option(ARM_SIN_Q15          "sin q15"                           OFF)
40option(ARM_SIN_COS_F32      "sin cos f32"                       OFF)
41option(ARM_SIN_COS_Q31      "sin cos q31"                       OFF)
42             
43option(ARM_LMS_NORM_Q31     "lms norm q31"                      OFF)
44option(ARM_LMS_NORM_Q15     "lms norm q15"                      OFF)
45             
46option(CFFT_F32_16          "cfft f32 16"                       OFF)
47option(CFFT_F32_32          "cfft f32 32"                       OFF)
48option(CFFT_F32_64          "cfft f32 64"                       OFF)
49option(CFFT_F32_128         "cfft f32 128"                      OFF)
50option(CFFT_F32_256         "cfft f32 256"                      OFF)
51option(CFFT_F32_512         "cfft f32 512"                      OFF)
52option(CFFT_F32_1024        "cfft f32 1024"                     OFF)
53option(CFFT_F32_2048        "cfft f32 2048"                     OFF)
54option(CFFT_F32_4096        "cfft f32 4096"                     OFF)
55                 
56option(CFFT_Q31_16          "cfft q31 16"                       OFF)
57option(CFFT_Q31_32          "cfft q31 32"                       OFF)
58option(CFFT_Q31_64          "cfft q31 64"                       OFF)
59option(CFFT_Q31_128         "cfft q31 128"                      OFF)
60option(CFFT_Q31_256         "cfft q31 256"                      OFF)
61option(CFFT_Q31_512         "cfft q31 512"                      OFF)
62option(CFFT_Q31_1024        "cfft q31 1024"                     OFF)
63option(CFFT_Q31_2048        "cfft q31 2048"                     OFF)
64option(CFFT_Q31_4096        "cfft q31 4096"                     OFF)
65                 
66option(CFFT_Q15_16          "cfft q15 16"                       OFF)
67option(CFFT_Q15_32          "cfft q15 32"                       OFF)
68option(CFFT_Q15_64          "cfft q15 64"                       OFF)
69option(CFFT_Q15_128         "cfft q15 128"                      OFF)
70option(CFFT_Q15_256         "cfft q15 256"                      OFF)
71option(CFFT_Q15_512         "cfft q15 512"                      OFF)
72option(CFFT_Q15_1024        "cfft q15 1024"                     OFF)
73option(CFFT_Q15_2048        "cfft q15 2048"                     OFF)
74option(CFFT_Q15_4096        "cfft q15 4096"                     OFF)
75             
76option(RFFT_FAST_F32_32     "rfft fast f32 32"                  OFF)
77option(RFFT_FAST_F32_64     "rfft fast f32 64"                  OFF)
78option(RFFT_FAST_F32_128    "rfft fast f32 128"                 OFF)
79option(RFFT_FAST_F32_256    "rfft fast f32 256"                 OFF)
80option(RFFT_FAST_F32_512    "rfft fast f32 512"                 OFF)
81option(RFFT_FAST_F32_1024   "rfft fast f32 1024"                OFF)
82option(RFFT_FAST_F32_2048   "rfft fast f32 2048"                OFF)
83option(RFFT_FAST_F32_4096   "rfft fast f32 4096"                OFF)
84             
85             
86option(RFFT_F32_128         "rfft f32 128"                      OFF)
87option(RFFT_F32_512         "rfft f32 512"                      OFF)
88option(RFFT_F32_2048        "rfft f32 2048"                     OFF)
89option(RFFT_F32_8192        "rfft f32 8192"                     OFF)
90             
91option(RFFT_Q31_32          "rfft q31 32"                       OFF)
92option(RFFT_Q31_64          "rfft q31 64"                       OFF)
93option(RFFT_Q31_128         "rfft q31 128"                      OFF)
94option(RFFT_Q31_256         "rfft q31 256"                      OFF)
95option(RFFT_Q31_512         "rfft q31 512"                      OFF)
96option(RFFT_Q31_1024        "rfft q31 1024"                     OFF)
97option(RFFT_Q31_2048        "rfft q31 2048"                     OFF)
98option(RFFT_Q31_4096        "rfft q31 4096"                     OFF)
99option(RFFT_Q31_8192        "rfft q31 8192"                     OFF)
100             
101option(RFFT_Q15_32          "rfft q15 32"                       OFF)
102option(RFFT_Q15_64          "rfft q15 64"                       OFF)
103option(RFFT_Q15_128         "rfft q15 128"                      OFF)
104option(RFFT_Q15_256         "rfft q15 256"                      OFF)
105option(RFFT_Q15_512         "rfft q15 512"                      OFF)
106option(RFFT_Q15_1024        "rfft q15 1024"                     OFF)
107option(RFFT_Q15_2048        "rfft q15 2048"                     OFF)
108option(RFFT_Q15_4096        "rfft q15 4096"                     OFF)
109option(RFFT_Q15_8192        "rfft q15 8192"                     OFF)
110             
111option(DCT4_F32_128          "dct4 f32 128"                     OFF)
112option(DCT4_F32_512          "dct4 f32 512"                     OFF)
113option(DCT4_F32_2048         "dct4 f32 2048"                    OFF)
114option(DCT4_F32_8192         "dct4 f32 8192"                    OFF)
115             
116option(DCT4_Q31_128          "dct4 q31 128"                     OFF)
117option(DCT4_Q31_512          "dct4 q31 512"                     OFF)
118option(DCT4_Q31_2048         "dct4 q31 2048"                    OFF)
119option(DCT4_Q31_8192         "dct4 q31 8192"                    OFF)
120             
121option(DCT4_Q15_128          "dct4 q15 128"                     OFF)
122option(DCT4_Q15_512          "dct4 q15 512"                     OFF)
123option(DCT4_Q15_2048         "dct4 q15 2048"                    OFF)
124option(DCT4_Q15_8192         "dct4 q15 8192"                    OFF)
125
126
127###########################
128#
129# CMSIS DSP
130#
131###########################
132
133# DSP Sources
134SET(DSP ".")
135
136add_library(CMSISDSP INTERFACE)
137
138include(config)
139
140
141if (BASICMATH)
142  add_subdirectory(BasicMathFunctions)
143  target_link_libraries(CMSISDSP INTERFACE CMSISDSPBasicMath)
144endif()
145
146if (COMPLEXMATH)
147  add_subdirectory(ComplexMathFunctions)
148  target_link_libraries(CMSISDSP INTERFACE CMSISDSPComplexMath)
149endif()
150
151if (CONTROLLER)
152  add_subdirectory(ControllerFunctions)
153  # Fast tables inclusion is allowed
154  if (CONFIGTABLE)
155    target_compile_definitions(CMSISDSPController PUBLIC ARM_FAST_ALLOW_TABLES)
156  endif()
157  target_link_libraries(CMSISDSP INTERFACE CMSISDSPController)
158endif()
159
160if (FASTMATH)
161  add_subdirectory(FastMathFunctions)
162  # Fast tables inclusion is allowed
163  if (CONFIGTABLE)
164    target_compile_definitions(CMSISDSPFastMath PUBLIC ARM_FAST_ALLOW_TABLES)
165  endif()
166  target_link_libraries(CMSISDSP INTERFACE CMSISDSPFastMath)
167endif()
168
169if (FILTERING)
170  add_subdirectory(FilteringFunctions)
171  # Fast tables inclusion is allowed
172  if (CONFIGTABLE)
173    target_compile_definitions(CMSISDSPFiltering PUBLIC ARM_FAST_ALLOW_TABLES)
174  endif()
175  target_link_libraries(CMSISDSP INTERFACE CMSISDSPFiltering)
176endif()
177
178if (MATRIX)
179  add_subdirectory(MatrixFunctions)
180  target_link_libraries(CMSISDSP INTERFACE CMSISDSPMatrix)
181endif()
182
183if (STATISTICS)
184  add_subdirectory(StatisticsFunctions)
185  target_link_libraries(CMSISDSP INTERFACE CMSISDSPStatistics)
186endif()
187
188if (SUPPORT)
189  add_subdirectory(SupportFunctions)
190  target_link_libraries(CMSISDSP INTERFACE CMSISDSPSupport)
191endif()
192
193if (TRANSFORM)
194  add_subdirectory(TransformFunctions)
195  # FFT tables inclusion is allowed
196  if (CONFIGTABLE)
197    target_compile_definitions(CMSISDSPTransform PUBLIC ARM_FFT_ALLOW_TABLES)
198  endif()
199  target_link_libraries(CMSISDSP INTERFACE CMSISDSPTransform)
200endif()
201
202if (FILTERING OR CONTROLLER OR FASTMATH OR TRANSFORM)
203  add_subdirectory(CommonTables)
204  if (TRANSFORM)
205    # FFT tables inclusion is allowed
206    if (CONFIGTABLE)
207      target_compile_definitions(CMSISDSPCommon PUBLIC ARM_FFT_ALLOW_TABLES)
208    endif()
209  endif()
210  if (FILTERING OR CONTROLLER OR FASTMATH)
211    # Select which tables to include
212    if (CONFIGTABLE)
213      target_compile_definitions(CMSISDSPCommon PUBLIC ARM_FAST_ALLOW_TABLES)
214    endif()
215  endif()
216  target_link_libraries(CMSISDSP INTERFACE CMSISDSPCommon)
217endif()
218
219### Includes
220target_include_directories(CMSISDSP INTERFACE "${DSP}/../Include")
221
222
223
Note: See TracBrowser for help on using the repository browser.