Publishing 2019 R1.1 content and Myriad plugin sources (#162)
[platform/upstream/dldt.git] / inference-engine / tests / unit / CMakeLists.txt
1 # Copyright (C) 2018-2019 Intel Corporation
2 # SPDX-License-Identifier: Apache-2.0
3 #
4
5 cmake_policy(SET CMP0054 NEW)
6
7 set(TARGET_NAME InferenceEngineUnitTests)
8
9 #rpath enabled for unit tests only
10 SET (CMAKE_SKIP_RPATH OFF)
11
12 # collect sources
13
14 file(GLOB
15         TEST_SRC
16         graph_tools/*.cpp
17         inference_engine_tests/*.cpp
18         inference_engine_tests/cpp_interfaces/*.cpp
19         mem_solver/*.cpp
20         cnn_network/*.cpp
21         builders/*.cpp
22         transformations/*.cpp
23         shape_infer/*.cpp
24         shape_infer/built-in/*.cpp
25         topology_verification_tests/*.cpp
26         stress_tests/*.cpp
27         )
28
29 if (ENABLE_GNA)
30     file(GLOB
31             GNA_TESTS
32             engines/gna/*cpp
33             )
34     list(APPEND TEST_SRC ${GNA_TESTS})
35     source_group("gna" FILES ${GNA_TESTS})
36
37     find_package(libGNA)
38     include_directories(${libGNA_INCLUDE_DIRS})
39
40     set (GNA_TEST_ENGINE GNAPlugin_test_static)
41 endif()
42
43 if (ENABLE_MKL_DNN)
44     if (GEMM STREQUAL "MKL")
45         add_definitions(-DUSE_MKL)
46     endif ()
47     file(GLOB
48             MKLDNN_TESTS
49             engines/mkldnn/*.cpp
50             engines/mkldnn/graph/layers/extensions/*.cpp
51             engines/mkldnn/graph/layers/internal/*.cpp
52             engines/mkldnn/graph/structure/*.cpp
53             engines/mkldnn/graph/*.cpp)
54     file(GLOB
55             MKLDNN_TESTS_INCLUDE engines/mkldnn/graph/*.hpp)
56
57     include_directories(
58             ${IE_MAIN_SOURCE_DIR}/thirdparty/mkl-dnn/include
59             engines/mkldnn/graph
60             ${CMAKE_BINARY_DIR}/include/)
61
62     source_group("mkldnn" FILES ${MKLDNN_TESTS} ${MKLDNN_TESTS_INCLUDE})
63 endif ()
64
65 if (ENABLE_VPU)
66     # Disable MVNC Unit tests for PCIE
67     if (NOT ENABLE_MYX_PCIE)
68         file(GLOB VPU_MVNC_TESTS engines/vpu/mvnc/*cpp)
69     endif()
70     file(GLOB
71             VPU_TESTS
72             engines/vpu/*cpp
73             )
74     include_directories(
75             ${IE_MAIN_SOURCE_DIR}/thirdparty/movidius
76             ${IE_MAIN_SOURCE_DIR}/thirdparty/movidius/XLink/shared
77             ${IE_MAIN_SOURCE_DIR}/thirdparty/movidius/watchdog
78             ${IE_MAIN_SOURCE_DIR}/thirdparty/movidius/WinPthread
79     )
80
81     list(APPEND TEST_SRC ${VPU_TESTS})
82     source_group("vpu" FILES ${VPU_TESTS})
83 endif()
84
85 file(GLOB
86         TEST_INCLUDE
87         shape_infer/*.hpp)
88
89 source_group("src" FILES ${TEST_SRC})
90 source_group("include" FILES ${TEST_INCLUDE})
91
92 # create target
93
94 add_executable(${TARGET_NAME} ${TEST_SRC} ${TEST_INCLUDE} ${MKLDNN_TESTS} ${MKLDNN_TESTS_INCLUDE} ${DLAI_TESTS} transformations/sub_test.cpp transformations/tranformations_test.hpp)
95 set_ie_threading_interface_for(${TARGET_NAME})
96
97 target_include_directories(${TARGET_NAME} PRIVATE
98         ${IE_MAIN_SOURCE_DIR}/src/mkldnn_plugin
99         ${IE_MAIN_SOURCE_DIR}/src/gna_plugin
100         ${IE_MAIN_SOURCE_DIR}/src/inference_engine
101         ${IE_MAIN_SOURCE_DIR}/src/extension
102         ${IE_MAIN_SOURCE_DIR}/src/extension/common
103         "${CMAKE_CURRENT_SOURCE_DIR}/mocks")
104
105 set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME})
106
107 ## Mock macros doesn't use "override" specificator
108 target_compile_options(${TARGET_NAME} PRIVATE $<$<CXX_COMPILER_ID:Clang>: -Wno-inconsistent-missing-override >)
109 target_compile_options(${TARGET_NAME} PRIVATE $<$<CXX_COMPILER_ID:AppleClang>: -Wno-inconsistent-missing-override >)
110
111 if (ENABLE_VPU)
112     target_link_libraries(${TARGET_NAME} PRIVATE mvnc vpu_graph_transformer_test_static)
113 endif ()
114
115 target_link_libraries(${TARGET_NAME} PRIVATE
116     gtest
117     gtest_main
118     gmock
119     gflags
120     inference_engine_s
121     helpers
122     ${CMAKE_DL_LIBS}
123     ${GNA_TEST_ENGINE})
124
125 add_dependencies(${TARGET_NAME} ie_cpu_extension)
126
127 if (ENABLE_MKL_DNN)
128     target_link_libraries(${TARGET_NAME} PRIVATE
129             test_MKLDNNPlugin
130             mkldnn)
131 endif ()
132
133 add_test(NAME ${TARGET_NAME}
134         COMMAND ${TARGET_NAME})
135
136 add_dependencies(${TARGET_NAME} mock_engine)
137
138 # GAPI unit tests
139 add_subdirectory(opencv_test_gapi)