summaryrefslogtreecommitdiffstats
path: root/Drivers/CMSIS/DSP/Source/MatrixFunctions/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Drivers/CMSIS/DSP/Source/MatrixFunctions/CMakeLists.txt')
-rw-r--r--Drivers/CMSIS/DSP/Source/MatrixFunctions/CMakeLists.txt54
1 files changed, 54 insertions, 0 deletions
diff --git a/Drivers/CMSIS/DSP/Source/MatrixFunctions/CMakeLists.txt b/Drivers/CMSIS/DSP/Source/MatrixFunctions/CMakeLists.txt
new file mode 100644
index 0000000..f2b3211
--- /dev/null
+++ b/Drivers/CMSIS/DSP/Source/MatrixFunctions/CMakeLists.txt
@@ -0,0 +1,54 @@
+cmake_minimum_required (VERSION 3.14)
+
+project(CMSISDSPMatrix)
+
+include(configLib)
+include(configDsp)
+
+file(GLOB SRCF64 "./*_f64.c")
+file(GLOB SRCF32 "./*_f32.c")
+file(GLOB SRCF16 "./*_f16.c")
+file(GLOB SRCQ31 "./*_q31.c")
+file(GLOB SRCQ15 "./*_q15.c")
+file(GLOB SRCQ7 "./*_q7.c")
+
+file(GLOB SRCU32 "./*_u32.c")
+file(GLOB SRCU16 "./*_u16.c")
+file(GLOB SRCU8 "./*_u8.c")
+
+add_library(CMSISDSPMatrix STATIC ${SRCF64})
+target_sources(CMSISDSPMatrix PRIVATE ${SRCF32})
+
+if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16))
+target_sources(CMSISDSPMatrix PRIVATE ${SRCF16})
+endif()
+
+target_sources(CMSISDSPMatrix PRIVATE ${SRCQ31})
+target_sources(CMSISDSPMatrix PRIVATE ${SRCQ15})
+target_sources(CMSISDSPMatrix PRIVATE ${SRCQ7})
+
+target_sources(CMSISDSPMatrix PRIVATE ${SRCU32})
+target_sources(CMSISDSPMatrix PRIVATE ${SRCU16})
+target_sources(CMSISDSPMatrix PRIVATE ${SRCU8})
+
+configLib(CMSISDSPMatrix ${ROOT})
+configDsp(CMSISDSPMatrix ${ROOT})
+
+### Includes
+target_include_directories(CMSISDSPMatrix PUBLIC "${DSP}/Include")
+
+
+if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16))
+target_sources(CMSISDSPMatrix PRIVATE arm_mat_add_f16.c)
+target_sources(CMSISDSPMatrix PRIVATE arm_mat_sub_f16.c)
+target_sources(CMSISDSPMatrix PRIVATE arm_mat_trans_f16.c)
+target_sources(CMSISDSPMatrix PRIVATE arm_mat_scale_f16.c)
+target_sources(CMSISDSPMatrix PRIVATE arm_mat_mult_f16.c)
+target_sources(CMSISDSPMatrix PRIVATE arm_mat_vec_mult_f16.c)
+target_sources(CMSISDSPMatrix PRIVATE arm_mat_cmplx_trans_f16.c)
+target_sources(CMSISDSPMatrix PRIVATE arm_mat_cmplx_mult_f16.c)
+target_sources(CMSISDSPMatrix PRIVATE arm_mat_inverse_f16.c)
+target_sources(CMSISDSPMatrix PRIVATE arm_mat_init_f16.c)
+target_sources(CMSISDSPMatrix PRIVATE arm_mat_cholesky_f16.c)
+
+endif()