summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorIsabella Gottardi <isabella.gottardi@arm.com>2021-04-20 14:08:52 +0100
committerIsabella Gottardi <isabella.gottardi@arm.com>2021-04-23 17:52:15 +0100
commit8520983b8e73bf25826fab4cc99fc656b11fabc0 (patch)
tree5cf071084c567b0e013215261538e235a6568f45 /CMakeLists.txt
parentb88705d6c04d8b7b2fdffaf1501042b984e682cf (diff)
downloadml-embedded-evaluation-kit-8520983b8e73bf25826fab4cc99fc656b11fabc0.tar.gz
MLECO-1871: Adding external use-case directories support
* Cmake updates * Markdownlint on docs * Removing windows command leftovers Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com> Change-Id: I4a12b4e798559e8f4e8a3307038df7829137184a
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt68
1 files changed, 47 insertions, 21 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e2f109c..5317bfa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -104,6 +104,8 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}/source)
+set(TEST_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/tests)
+list(APPEND USE_CASES_TESTS_SEARCH_DIR_LIST ${TEST_SRCS}/use_case)
if (CPU_PROFILE_ENABLED)
set(PROFILING_OPT "${PROFILING_OPT} -DCPU_PROFILE_ENABLED")
@@ -234,13 +236,17 @@ file(GLOB_RECURSE SRC_APPLICATION
list(FILTER SRC_APPLICATION EXCLUDE REGEX ".*main\\.c.*$")
list(JOIN USE_CASE_BUILD "" USE_CASE_BUILD_STR)
+list(APPEND USE_CASES_SEARCH_DIR_LIST ${SRC_PATH}/use_case)
+message(STATUS "Use-cases source paths: ${USE_CASES_SEARCH_DIR_LIST}.")
if (${USE_CASE_BUILD_STR} STREQUAL all)
- SUBDIRLIST(USE_CASES ${SRC_PATH}/use_case/)
+ foreach(USE_CASES_SEARCH_DIR ${USE_CASES_SEARCH_DIR_LIST})
+ SUBDIRLIST(USE_CASES_SUBDIRS ${USE_CASES_SEARCH_DIR})
+ list(APPEND USE_CASES ${USE_CASES_SUBDIRS})
+ endforeach()
else()
set(USE_CASES ${USE_CASE_BUILD})
endif()
-set(TEST_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/tests)
if (NOT ${CMAKE_CROSSCOMPILING})
#Test TPIP
@@ -263,10 +269,17 @@ endif ()
message(STATUS "Building use-cases: ${USE_CASES}.")
foreach(use_case ${USE_CASES})
- if (EXISTS ${SRC_PATH}/use_case/${use_case})
- message(STATUS "Found sources for use-case ${use_case}")
- else ()
- message(FATAL_ERROR "Faild to find sources for ${use_case} in ${SRC_PATH}/use_case/${use_case}!")
+ set(SRC_USE_CASE "")
+ foreach(USE_CASES_SEARCH_DIR ${USE_CASES_SEARCH_DIR_LIST})
+ if (EXISTS ${USE_CASES_SEARCH_DIR}/${use_case})
+ message(STATUS "Found sources for use-case ${use_case}")
+ set(SRC_USE_CASE ${USE_CASES_SEARCH_DIR})
+ break()
+ endif ()
+ endforeach()
+
+ if (${SRC_USE_CASE} STREQUAL "")
+ message(FATAL_ERROR "Failed to find sources for ${use_case}!")
endif ()
# Executable application:
set(TARGET_NAME "ethos-u-${use_case}")
@@ -280,20 +293,20 @@ foreach(use_case ${USE_CASES})
file(MAKE_DIRECTORY ${SRC_GEN_DIR} ${INC_GEN_DIR})
file(GLOB_RECURSE UC_SRC
- "${SRC_PATH}/use_case/${use_case}/src/*.cpp"
- "${SRC_PATH}/use_case/${use_case}/src/*.cc"
- "${SRC_PATH}/use_case/${use_case}/src/*.c"
- "${SRC_PATH}/use_case/${use_case}/src/**/*.cpp"
- "${SRC_PATH}/use_case/${use_case}/src/**/*.cc"
- "${SRC_PATH}/use_case/${use_case}/src/**/*.c"
+ "${SRC_USE_CASE}/${use_case}/src/*.cpp"
+ "${SRC_USE_CASE}/${use_case}/src/*.cc"
+ "${SRC_USE_CASE}/${use_case}/src/*.c"
+ "${SRC_USE_CASE}/${use_case}/src/**/*.cpp"
+ "${SRC_USE_CASE}/${use_case}/src/**/*.cc"
+ "${SRC_USE_CASE}/${use_case}/src/**/*.c"
)
set(UC_INCLUDE
- ${SRC_PATH}/use_case/${use_case}/include
+ ${SRC_USE_CASE}/${use_case}/include
)
file(GLOB UC_CMAKE_FILE
- "${SRC_PATH}/use_case/${use_case}/*.cmake"
+ "${SRC_USE_CASE}/${use_case}/*.cmake"
)
include(${UC_CMAKE_FILE})
@@ -377,8 +390,20 @@ foreach(use_case ${USE_CASES})
--output_file_path ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/images-${use_case}.txt
COMMENT "Generating FPGA mappings file")
elseif (${TARGET_PLATFORM} STREQUAL native)
+
+ # If native build tests
+ set(TEST_SRC_USE_CASE "")
+ foreach(USE_CASES_TESTS_SEARCH_DIR ${USE_CASES_TESTS_SEARCH_DIR_LIST})
+
+ if (EXISTS ${USE_CASES_TESTS_SEARCH_DIR}/${use_case})
+ message(STATUS "Found tests for use-case ${use_case} at ${USE_CASES_TESTS_SEARCH_DIR}/${use_case}.")
+ set(TEST_SRC_USE_CASE ${USE_CASES_TESTS_SEARCH_DIR})
+ break()
+ endif ()
+ endforeach()
+
# Add tests only if they exists for the usecase
- if (EXISTS ${TEST_SRCS}/use_case/${use_case})
+ if (NOT ${TEST_SRC_USE_CASE} STREQUAL "")
set(TEST_RESOURCES_INCLUDE
"${TEST_SRCS}/utils/"
@@ -391,12 +416,12 @@ foreach(use_case ${USE_CASES})
"${TEST_SRCS}/common/*.cc"
"${TEST_SRCS}/utils/*.cc"
"${TEST_SRCS}/utils/*.cpp"
- "${TEST_SRCS}/use_case/${use_case}/*.cpp"
- "${TEST_SRCS}/use_case/${use_case}/*.cc"
- "${TEST_SRCS}/use_case/${use_case}/*.c"
- "${TEST_SRCS}/use_case/${use_case}/**/*.cpp"
- "${TEST_SRCS}/use_case/${use_case}/**/*.cc"
- "${TEST_SRCS}/use_case/${use_case}/**/*.c"
+ "${TEST_SRC_USE_CASE}/${use_case}/*.cpp"
+ "${TEST_SRC_USE_CASE}/${use_case}/*.cc"
+ "${TEST_SRC_USE_CASE}/${use_case}/*.c"
+ "${TEST_SRC_USE_CASE}/${use_case}/**/*.cpp"
+ "${TEST_SRC_USE_CASE}/${use_case}/**/*.cc"
+ "${TEST_SRC_USE_CASE}/${use_case}/**/*.c"
)
if (DEFINED ${use_case}_TEST_IFM AND DEFINED ${use_case}_TEST_OFM)
@@ -428,6 +453,7 @@ foreach(use_case ${USE_CASES})
"${TEST_TARGET_NAME}"
"catch2-headers"
)
+
endif ()
endif ()
endforeach()