Config.cmake 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. cmake_minimum_required (VERSION 3.14)
  2. if (CONFIGTABLE AND ALLFAST)
  3. target_compile_definitions(CMSISDSP PUBLIC ARM_ALL_FAST_TABLES)
  4. endif()
  5. # Vectorized code is defining sqrt
  6. # so fast tables required even if Fast Math not built.
  7. if (CONFIGTABLE AND (HELIUM OR MVEF OR MVEI))
  8. target_compile_definitions(CMSISDSP PUBLIC ARM_FAST_ALLOW_TABLES)
  9. endif()
  10. # MVE code is using a table for computing the fast sqrt arm_cmplx_mag_q31
  11. # There is the possibility of not compiling this function and not including
  12. # the table.
  13. if (NOT CONFIGTABLE OR ALLFAST OR ARM_CMPLX_MAG_Q31 OR (NOT HELIUM AND NOT MVEI))
  14. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mag_q31.c)
  15. endif()
  16. if (NOT CONFIGTABLE OR ALLFAST OR ARM_CMPLX_MAG_Q15 OR (NOT HELIUM AND NOT MVEI))
  17. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mag_q15.c)
  18. endif()
  19. if (NOT CONFIGTABLE OR ALLFAST OR ARM_CMPLX_MAG_FAST_Q15 OR (NOT HELIUM AND NOT MVEI))
  20. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mag_fast_q15.c)
  21. endif()
  22. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_conj_f32.c)
  23. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_conj_q15.c)
  24. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_conj_q31.c)
  25. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_dot_prod_f32.c)
  26. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_dot_prod_q15.c)
  27. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_dot_prod_q31.c)
  28. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mag_f32.c)
  29. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mag_f64.c)
  30. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mag_squared_f32.c)
  31. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mag_squared_f64.c)
  32. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mag_squared_q15.c)
  33. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mag_squared_q31.c)
  34. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c)
  35. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mult_cmplx_f64.c)
  36. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c)
  37. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c)
  38. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mult_real_f32.c)
  39. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mult_real_q15.c)
  40. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mult_real_q31.c)
  41. if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16))
  42. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_conj_f16.c)
  43. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_dot_prod_f16.c)
  44. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mag_f16.c)
  45. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mag_squared_f16.c)
  46. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mult_cmplx_f16.c)
  47. target_sources(CMSISDSP PRIVATE ComplexMathFunctions/arm_cmplx_mult_real_f16.c)
  48. endif()