1 set(DRIVER "driver/Driver.cpp")
3 file(GLOB_RECURSE SOURCES "src/*.cpp")
5 add_executable(record-minmax ${DRIVER} ${SOURCES})
6 target_include_directories(record-minmax PRIVATE include)
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)
20 install(TARGETS record-minmax DESTINATION bin)
24 endif(NOT ENABLE_TEST)
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)
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)
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")
51 file(GLOB_RECURSE TESTS "tests/*.test.cpp")
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)