391e35b7fac0b1238f56fe5e0c7129a9849e1900
[platform/core/ml/nnfw.git] / compiler / record-minmax / CMakeLists.txt
1 set(DRIVER "driver/Driver.cpp")
2
3 file(GLOB_RECURSE SOURCES "src/*.cpp")
4
5 add_executable(record-minmax ${DRIVER} ${SOURCES})
6 target_include_directories(record-minmax PRIVATE include)
7
8 target_link_libraries(record-minmax arser)
9 target_link_libraries(record-minmax safemain)
10 target_link_libraries(record-minmax luci_import)
11 target_link_libraries(record-minmax luci_env)
12 target_link_libraries(record-minmax luci_export)
13 target_link_libraries(record-minmax luci_interpreter)
14 target_link_libraries(record-minmax luci_log)
15 target_link_libraries(record-minmax dio_hdf5)
16 target_link_libraries(record-minmax vconone)
17 target_link_libraries(record-minmax nncc_coverage)
18 target_link_libraries(record-minmax nncc_common)
19
20 install(TARGETS record-minmax DESTINATION bin)
21
22 if(NOT ENABLE_TEST)
23   return()
24 endif(NOT ENABLE_TEST)
25
26 # Build record-minmax-for-thread-test if target arch is 64bit
27 # Thread sanitizer is only available on 64bit machine
28 # (https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual#supported-platforms)
29 if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
30   # create record-minmax-for-thread-test target
31   # Note: record-minmax-for-thread-test is built with -fsanitize=thread so that thread sanitizer can check memory bugs,
32   # record-minmax is built without the option for performance.
33   add_executable(record-minmax-for-thread-test ${DRIVER} ${SOURCES})
34   target_include_directories(record-minmax-for-thread-test PRIVATE include)
35
36   target_link_libraries(record-minmax-for-thread-test arser)
37   target_link_libraries(record-minmax-for-thread-test safemain)
38   target_link_libraries(record-minmax-for-thread-test luci_import)
39   target_link_libraries(record-minmax-for-thread-test luci_env)
40   target_link_libraries(record-minmax-for-thread-test luci_export)
41   target_link_libraries(record-minmax-for-thread-test luci_interpreter)
42   target_link_libraries(record-minmax-for-thread-test dio_hdf5)
43   target_link_libraries(record-minmax-for-thread-test vconone)
44   target_link_libraries(record-minmax-for-thread-test nncc_coverage)
45   target_link_libraries(record-minmax-for-thread-test luci_log)
46
47   target_compile_options(record-minmax-for-thread-test PUBLIC -fsanitize=thread)
48   target_link_libraries(record-minmax-for-thread-test -fsanitize=thread)
49 endif("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
50
51 file(GLOB_RECURSE TESTS "tests/*.test.cpp")
52
53 nnas_find_package(GTest REQUIRED)
54 GTest_AddTest(record_minmax_function_test "${TESTS}")
55 target_include_directories(record_minmax_function_test PRIVATE include)
56 target_link_libraries(record_minmax_function_test nncc_coverage)