CMakeLists.txt 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. cmake_minimum_required (VERSION 3.6)
  2. cmake_policy(SET CMP0077 NEW)
  3. # The tests are assuming that MATRIX_CHECK is enabled when building
  4. # CMSIS-DSP.
  5. set(MATRIXCHECK ON)
  6. set(FASTMATHCOMPUTATIONS OFF)
  7. option(DUMPPATTERN "Dump test patterns when test is failing" ON)
  8. option(CUSTOMIZE_TESTS "Enable customizations of tests" ON)
  9. option(BASICMATH_TESTS "Enable Basic Math testing" ON)
  10. option(COMPLEXMATH_TESTS "Enable Complex Math testing" ON)
  11. option(CONTROLLER_TESTS "Enable Controller testing" ON)
  12. option(FASTMATH_TESTS "Enable Fast Math testing" ON)
  13. option(INTRINSICS_TESTS "Enable Intrinsics testing" ON)
  14. option(FILTERING_TESTS "Enable Filtering testing" ON)
  15. option(MATRIX_TESTS "Enable Matrix testing" ON)
  16. option(STATISTICS_TESTS "Enable Statistics testing" ON)
  17. option(SUPPORT_TESTS "Enable Support testing" ON)
  18. option(TRANSFORM_TESTS "Enable Transform testing" ON)
  19. project(DSP_Lib_TestSuite)
  20. # Needed to find the config modules
  21. list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/..)
  22. set(ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../..)
  23. file(GLOB MAIN "Common/src/*.c")
  24. file(GLOB BASICMATH_TESTS_SRC "Common/src/basic_math_tests/*.c")
  25. file(GLOB COMPLEXMATH_TESTS_SRC "Common/src/complex_math_tests/*.c")
  26. file(GLOB CONTROLLER_TESTS_SRC "Common/src/controller_tests/*.c")
  27. file(GLOB FASTMATH_TESTS_SRC "Common/src/fast_math_tests/*.c")
  28. file(GLOB FILTERING_TESTS_SRC "Common/src/filtering_tests/*.c")
  29. file(GLOB INTRINSINCS_TESTS_SRC "Common/src/intrinsics_tests/*.c")
  30. file(GLOB MATRIX_TESTS_SRC "Common/src/matrix_tests/*.c")
  31. file(GLOB STATISTICS_TESTS_SRC "Common/src/statistics_tests/*.c")
  32. file(GLOB SUPPORT_TESTS_SRC "Common/src/support_tests/*.c")
  33. file(GLOB TRANSFORM_TESTS_SRC "Common/src/transform_tests/*.c")
  34. file(GLOB JTEST_MAIN "Common/JTest/src/*.c")
  35. set(TESTSRC ${MAIN}
  36. ${BASICMATH_TESTS_SRC}
  37. ${COMPLEXMATH_TESTS_SRC}
  38. ${CONTROLLER_TESTS_SRC}
  39. ${FASTMATH_TESTS_SRC}
  40. ${FILTERING_TESTS_SRC}
  41. ${INTRINSINCS_TESTS_SRC}
  42. ${MATRIX_TESTS_SRC}
  43. ${STATISTICS_TESTS_SRC}
  44. ${SUPPORT_TESTS_SRC}
  45. ${TRANSFORM_TESTS_SRC}
  46. ${JTEST_MAIN}
  47. )
  48. set(JINCS
  49. Common/JTest/inc
  50. Common/JTest/inc/arr_desc
  51. Common/inc/basic_math_tests
  52. Common/inc/complex_math_tests
  53. Common/inc/controller_tests
  54. Common/inc/fast_math_tests
  55. Common/inc/filtering_tests
  56. Common/inc/intrinsics_tests
  57. Common/inc/matrix_tests
  58. Common/inc/statistics_tests
  59. Common/inc/support_tests
  60. Common/inc/transform_tests
  61. )
  62. add_subdirectory(../Source bin_dsp)
  63. add_subdirectory(RefLibs bin_ref)
  64. add_executable(DSP_Lib_TestSuite)
  65. if (CUSTOMIZE_TESTS)
  66. target_compile_definitions(DSP_Lib_TestSuite PRIVATE CUSTOMIZE_TESTS)
  67. endif()
  68. if (BASICMATH_TESTS)
  69. target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_BASICMATH_TESTS)
  70. endif()
  71. if (COMPLEXMATH_TESTS)
  72. target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_COMPLEXMATH_TESTS)
  73. endif()
  74. if (CONTROLLER_TESTS)
  75. target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_CONTROLLER_TESTS)
  76. endif()
  77. if (FASTMATH_TESTS)
  78. target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_FASTMATH_TESTS)
  79. endif()
  80. if (FILTERING_TESTS)
  81. target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_FILTERING_TESTS)
  82. endif()
  83. if (INTRINSICS_TESTS)
  84. target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_INTRINSICS_TESTS)
  85. endif()
  86. if (MATRIX_TESTS)
  87. target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_MATRIX_TESTS)
  88. endif()
  89. if (STATISTICS_TESTS)
  90. target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_STATISTICS_TESTS)
  91. endif()
  92. if (SUPPORT_TESTS)
  93. target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_SUPPORT_TESTS)
  94. endif()
  95. if (TRANSFORM_TESTS)
  96. target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_TRANSFORM_TESTS)
  97. endif()
  98. if (DUMPPATTERN)
  99. target_compile_definitions(DSP_Lib_TestSuite PRIVATE DUMPPATTERN)
  100. endif()
  101. # Change behavior of configBoot for scatter file
  102. set(TESTFRAMEWORK ON)
  103. include(configBoot)
  104. file(COPY ${ROOT}/CMSIS/DSP/Examples/ARM/boot/RTE_Components.h DESTINATION tempLink)
  105. target_link_libraries(DSP_Lib_TestSuite PRIVATE CMSISDSP)
  106. target_link_libraries(DSP_Lib_TestSuite PRIVATE DspRefLibs)
  107. target_sources(DSP_Lib_TestSuite PRIVATE ${TESTSRC})
  108. ### Includes
  109. target_include_directories(DSP_Lib_TestSuite PRIVATE "Common/inc")
  110. target_include_directories(DSP_Lib_TestSuite PRIVATE "Common/inc/templates")
  111. target_include_directories(DSP_Lib_TestSuite PRIVATE ${JINCS})