imc_extension.cmake 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. set(IMC_BENCH_NAME "vAes" CACHE STRING "" FORCE)
  2. set(AVAILABLE_BENCHES "vBasicMath" "vStringSearch" "vFFT" "vSha" "vCrc" "vMatMul" "vConv2d" "adc_demo" "vAes")
  3. if(NOT IMC_BENCH_NAME IN_LIST AVAILABLE_BENCHES)
  4. message( FATAL_ERROR "incorrect benchmark name: ${IMC_BENCH_NAME}")
  5. endif()
  6. add_compile_definitions(imcBENCH_NAME=${IMC_BENCH_NAME})
  7. if(IMC_BENCH_NAME MATCHES "vConv2d")
  8. set(BENCHMARK_SRC_FILES
  9. )
  10. set(IMC_APP_FILES
  11. Core/Src/benchmarks/conv2d/conv2d.c
  12. )
  13. set(IMC_LINK_OBJS
  14. )
  15. endif()
  16. if(IMC_BENCH_NAME MATCHES "adc_demo")
  17. set(BENCHMARK_SRC_FILES
  18. Core/Src/benchmarks/adc_demo/adc_demo.c
  19. )
  20. set(IMC_APP_FILES
  21. )
  22. set(IMC_LINK_OBJS
  23. )
  24. endif()
  25. if(IMC_BENCH_NAME MATCHES "vBasicMath")
  26. set(BENCHMARK_SRC_FILES
  27. Core/Src/benchmarks/basicmath/cubic.c
  28. Core/Src/benchmarks/basicmath/isqrt.c
  29. Core/Src/benchmarks/basicmath/rad2deg.c
  30. )
  31. set(IMC_APP_FILES
  32. Core/Src/benchmarks/basicmath/basicmath.c
  33. )
  34. set(IMC_LINK_OBJS
  35. )
  36. include_directories(
  37. Core/Inc/benchmarks/basicmath
  38. )
  39. endif()
  40. if(IMC_BENCH_NAME MATCHES "vCrc")
  41. set(BENCHMARK_SRC_FILES
  42. )
  43. set(IMC_APP_FILES
  44. Core/Src/benchmarks/crc/crc_32.c
  45. )
  46. set(IMC_LINK_OBJS
  47. ${CMAKE_SOURCE_DIR}/Core/Src/benchmarks/crc/crc_input.o
  48. )
  49. include_directories(
  50. Core/Inc/benchmarks/crc
  51. )
  52. endif()
  53. if(IMC_BENCH_NAME MATCHES "vFFT")
  54. set(BENCHMARK_SRC_FILES
  55. Core/Src/benchmarks/fft/fftmisc.c
  56. Core/Src/benchmarks/fft/fourierf.c
  57. )
  58. set(IMC_APP_FILES
  59. Core/Src/benchmarks/fft/fft.c
  60. )
  61. set(IMC_LINK_OBJS
  62. )
  63. include_directories(
  64. Core/Inc/benchmarks/fft
  65. )
  66. endif()
  67. if(IMC_BENCH_NAME MATCHES "vSha")
  68. set(BENCHMARK_SRC_FILES
  69. )
  70. set(IMC_APP_FILES
  71. Core/Src/benchmarks/sha/sha.c
  72. )
  73. set(IMC_LINK_OBJS
  74. ${CMAKE_SOURCE_DIR}/Core/Src/benchmarks/sha/sha_input.o
  75. )
  76. include_directories(
  77. Core/Inc/benchmarks/sha
  78. )
  79. endif()
  80. if(IMC_BENCH_NAME MATCHES "vMatMul")
  81. set(BENCHMARK_SRC_FILES
  82. )
  83. set(IMC_APP_FILES
  84. Core/Src/benchmarks/matmul/matmul.c
  85. )
  86. set(IMC_LINK_OBJS
  87. )
  88. endif()
  89. if(IMC_BENCH_NAME MATCHES "vStringSearch")
  90. set(BENCHMARK_SRC_FILES
  91. )
  92. set(IMC_APP_FILES
  93. Core/Src/benchmarks/stringsearch/stringsearch_local.c
  94. )
  95. set(IMC_LINK_OBJS
  96. )
  97. endif()
  98. if(IMC_BENCH_NAME MATCHES "vAes")
  99. set(BENCHMARK_SRC_FILES
  100. )
  101. set(IMC_APP_FILES
  102. Core/Src/benchmarks/aes/aes.c
  103. )
  104. set(IMC_LINK_OBJS
  105. )
  106. include_directories(
  107. Core/Inc/benchmarks/aes
  108. )
  109. endif()
  110. foreach(BENCH_SRC ${BENCHMARK_SRC_FILES})
  111. list(APPEND SRC_FILES ${BENCH_SRC})
  112. endforeach()