Imported Upstream version 1.25.0
[platform/core/ml/nnfw.git] / compiler / luci-pass-value-test / CMakeLists.txt
1 if(NOT ENABLE_TEST)
2   return()
3 endif(NOT ENABLE_TEST)
4
5 unset(TEST_DEPS)
6 unset(LUCI_PASS_VALUE_TESTS)
7
8 get_target_property(ARTIFACTS_BIN_PATH testDataGenerator BINARY_DIR)
9
10 macro(addeval RECIPE PASS_OPTION)
11   list(APPEND LUCI_PASS_VALUE_TESTS ${RECIPE})
12
13   set(CIRCLE_FILE "${RECIPE}.circle")
14   set(CIRCLE_PATH "${ARTIFACTS_BIN_PATH}/${CIRCLE_FILE}")
15
16   set(PASS_CIRCLE_FILE "${RECIPE}.pass.circle")
17   set(PASS_CIRCLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}/${PASS_CIRCLE_FILE}")
18
19   set(DASH_PASS_OPTION "--${PASS_OPTION}")
20   foreach(MORE_OPTIONS ${ARGN})
21     list(APPEND DASH_PASS_OPTION "--${MORE_OPTIONS}")
22   endforeach()
23   # NOTE if there are two options, 'DASH_PASS_OPTION' will be like '--option_a;--option_b'
24   #      add_custom_command() will translate ';' to two arguments as '--optiona_a --optionb'
25   #      do not use set(DASH_PASS_OPTION "${DASH_PASS_OPTION} --${ARG}"))
26   #      as this will become like '"--optiona_a --optionb"' which is one string argument
27
28   # Generate optimized .circle
29   add_custom_command(OUTPUT ${PASS_CIRCLE_OUTPUT_PATH}
30     COMMAND $<TARGET_FILE:circle2circle> ${DASH_PASS_OPTION} ${CIRCLE_PATH} ${PASS_CIRCLE_OUTPUT_PATH}
31     DEPENDS $<TARGET_FILE:circle2circle> ${CIRCLE_PATH}
32     COMMENT "Generate ${PASS_CIRCLE_FILE} with ${DASH_PASS_OPTION}"
33   )
34
35   # depends
36   list(APPEND TEST_DEPS ${PASS_CIRCLE_OUTPUT_PATH})
37
38 endmacro(addeval)
39
40 # Read "test.lst"
41 include("test.lst")
42 # Read "test.local.lst" if exists
43 include("test.local.lst" OPTIONAL)
44
45 add_custom_target(luci_pass_value_test_files ALL DEPENDS ${TEST_DEPS})
46 add_dependencies(luci_pass_value_test_files common_artifacts_deps)
47
48 add_test(NAME luci_pass_value_test
49   COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/eval_driver.sh"
50           "${CMAKE_CURRENT_BINARY_DIR}"
51           "${ARTIFACTS_BIN_PATH}"
52           "${NNCC_OVERLAY_DIR}/venv_2_12_1"
53           "$<TARGET_FILE:luci_eval_driver>"
54           ${LUCI_PASS_VALUE_TESTS}
55 )