CMakeLists.txt 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. cmake_minimum_required (VERSION 3.6)
  2. project(CMSISDSPComplexMath)
  3. include(configLib)
  4. include(configDsp)
  5. file(GLOB SRC "./*_*.c")
  6. add_library(CMSISDSPComplexMath STATIC)
  7. configLib(CMSISDSPComplexMath ${ROOT})
  8. configDsp(CMSISDSPComplexMath ${ROOT})
  9. include(interpol)
  10. interpol(CMSISDSPFastMath)
  11. if (CONFIGTABLE AND ALLFAST)
  12. target_compile_definitions(CMSISDSPComplexMath PUBLIC ARM_ALL_FAST_TABLES)
  13. endif()
  14. # MVE code is using a table for computing the fast sqrt arm_cmplx_mag_q31
  15. # There is the possibility of not compiling this function and not including
  16. # the table.
  17. if (NOT CONFIGTABLE OR ALLFAST OR ARM_CMPLX_MAG_Q31 OR (NOT HELIUM AND NOT MVEI))
  18. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_mag_q31.c)
  19. endif()
  20. if (NOT CONFIGTABLE OR ALLFAST OR ARM_CMPLX_MAG_Q15 OR (NOT HELIUM AND NOT MVEI))
  21. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_mag_q15.c)
  22. endif()
  23. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_conj_f32.c)
  24. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_conj_q15.c)
  25. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_conj_q31.c)
  26. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_dot_prod_f32.c)
  27. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_dot_prod_q15.c)
  28. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_dot_prod_q31.c)
  29. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_mag_f32.c)
  30. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_mag_squared_f32.c)
  31. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_mag_squared_q15.c)
  32. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_mag_squared_q31.c)
  33. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_mult_cmplx_f32.c)
  34. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_mult_cmplx_q15.c)
  35. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_mult_cmplx_q31.c)
  36. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_mult_real_f32.c)
  37. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_mult_real_q15.c)
  38. target_sources(CMSISDSPComplexMath PRIVATE arm_cmplx_mult_real_q31.c)
  39. ### Includes
  40. target_include_directories(CMSISDSPComplexMath PUBLIC "${DSP}/Include")