cmake_minimum_required (VERSION 3.6) cmake_policy(SET CMP0077 NEW) # The tests are assuming that MATRIX_CHECK is enabled when building # CMSIS-DSP. set(MATRIXCHECK ON) set(FASTMATHCOMPUTATIONS OFF) option(DUMPPATTERN "Dump test patterns when test is failing" ON) option(CUSTOMIZE_TESTS "Enable customizations of tests" ON) option(BASICMATH_TESTS "Enable Basic Math testing" ON) option(COMPLEXMATH_TESTS "Enable Complex Math testing" ON) option(CONTROLLER_TESTS "Enable Controller testing" ON) option(FASTMATH_TESTS "Enable Fast Math testing" ON) option(INTRINSICS_TESTS "Enable Intrinsics testing" ON) option(FILTERING_TESTS "Enable Filtering testing" ON) option(MATRIX_TESTS "Enable Matrix testing" ON) option(STATISTICS_TESTS "Enable Statistics testing" ON) option(SUPPORT_TESTS "Enable Support testing" ON) option(TRANSFORM_TESTS "Enable Transform testing" ON) project(DSP_Lib_TestSuite) # Needed to find the config modules list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/..) set(ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../..) file(GLOB MAIN "Common/src/*.c") file(GLOB BASICMATH_TESTS_SRC "Common/src/basic_math_tests/*.c") file(GLOB COMPLEXMATH_TESTS_SRC "Common/src/complex_math_tests/*.c") file(GLOB CONTROLLER_TESTS_SRC "Common/src/controller_tests/*.c") file(GLOB FASTMATH_TESTS_SRC "Common/src/fast_math_tests/*.c") file(GLOB FILTERING_TESTS_SRC "Common/src/filtering_tests/*.c") file(GLOB INTRINSINCS_TESTS_SRC "Common/src/intrinsics_tests/*.c") file(GLOB MATRIX_TESTS_SRC "Common/src/matrix_tests/*.c") file(GLOB STATISTICS_TESTS_SRC "Common/src/statistics_tests/*.c") file(GLOB SUPPORT_TESTS_SRC "Common/src/support_tests/*.c") file(GLOB TRANSFORM_TESTS_SRC "Common/src/transform_tests/*.c") file(GLOB JTEST_MAIN "Common/JTest/src/*.c") set(TESTSRC ${MAIN} ${BASICMATH_TESTS_SRC} ${COMPLEXMATH_TESTS_SRC} ${CONTROLLER_TESTS_SRC} ${FASTMATH_TESTS_SRC} ${FILTERING_TESTS_SRC} ${INTRINSINCS_TESTS_SRC} ${MATRIX_TESTS_SRC} ${STATISTICS_TESTS_SRC} ${SUPPORT_TESTS_SRC} ${TRANSFORM_TESTS_SRC} ${JTEST_MAIN} ) set(JINCS Common/JTest/inc Common/JTest/inc/arr_desc Common/inc/basic_math_tests Common/inc/complex_math_tests Common/inc/controller_tests Common/inc/fast_math_tests Common/inc/filtering_tests Common/inc/intrinsics_tests Common/inc/matrix_tests Common/inc/statistics_tests Common/inc/support_tests Common/inc/transform_tests ) add_subdirectory(../Source bin_dsp) add_subdirectory(RefLibs bin_ref) add_executable(DSP_Lib_TestSuite) if (CUSTOMIZE_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE CUSTOMIZE_TESTS) endif() if (BASICMATH_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_BASICMATH_TESTS) endif() if (COMPLEXMATH_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_COMPLEXMATH_TESTS) endif() if (CONTROLLER_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_CONTROLLER_TESTS) endif() if (FASTMATH_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_FASTMATH_TESTS) endif() if (FILTERING_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_FILTERING_TESTS) endif() if (INTRINSICS_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_INTRINSICS_TESTS) endif() if (MATRIX_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_MATRIX_TESTS) endif() if (STATISTICS_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_STATISTICS_TESTS) endif() if (SUPPORT_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_SUPPORT_TESTS) endif() if (TRANSFORM_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_TRANSFORM_TESTS) endif() if (DUMPPATTERN) target_compile_definitions(DSP_Lib_TestSuite PRIVATE DUMPPATTERN) endif() # Change behavior of configBoot for scatter file set(TESTFRAMEWORK ON) include(configBoot) file(COPY ${ROOT}/CMSIS/DSP/Examples/ARM/boot/RTE_Components.h DESTINATION tempLink) target_link_libraries(DSP_Lib_TestSuite PRIVATE CMSISDSP) target_link_libraries(DSP_Lib_TestSuite PRIVATE DspRefLibs) target_sources(DSP_Lib_TestSuite PRIVATE ${TESTSRC}) ### Includes target_include_directories(DSP_Lib_TestSuite PRIVATE "Common/inc") target_include_directories(DSP_Lib_TestSuite PRIVATE "Common/inc/templates") target_include_directories(DSP_Lib_TestSuite PRIVATE ${JINCS})