1 # Copyright (C) 2018-2019 Intel Corporation
2 # SPDX-License-Identifier: Apache-2.0
5 set(TARGET_NAME "MKLDNNPlugin")
7 if (UNIX AND NOT APPLE)
8 set(OS_SPECIFIC_SRC ${CMAKE_CURRENT_SOURCE_DIR}/mkldnn/os/lin/*.cpp)
12 ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
13 ${CMAKE_CURRENT_SOURCE_DIR}/mkldnn/*.cpp
14 ${CMAKE_CURRENT_SOURCE_DIR}/utils/*.cpp
15 ${CMAKE_CURRENT_SOURCE_DIR}/nodes/*.cpp
20 ${CMAKE_CURRENT_SOURCE_DIR}/*.h
21 ${CMAKE_CURRENT_SOURCE_DIR}/mkldnn/*.h
22 ${CMAKE_CURRENT_SOURCE_DIR}/mkldnn/*.hpp
23 ${CMAKE_CURRENT_SOURCE_DIR}/utils/*.h
24 ${CMAKE_CURRENT_SOURCE_DIR}/nodes/*.h
27 addVersionDefines(mkldnn_plugin.cpp CI_BUILD_NUMBER MKL_VERSION)
29 add_definitions(-DIMPLEMENT_INFERENCE_ENGINE_PLUGIN)
32 ${IE_MAIN_SOURCE_DIR}/include
33 ${IE_MAIN_SOURCE_DIR}/src/inference_engine
34 ${CMAKE_CURRENT_SOURCE_DIR}
35 ${CMAKE_CURRENT_SOURCE_DIR}/mkldnn
36 ${IE_MAIN_SOURCE_DIR}/thirdparty/mkl-dnn/src/common
37 ${IE_MAIN_SOURCE_DIR}/thirdparty/mkl-dnn/src/cpu
38 ${IE_MAIN_SOURCE_DIR}/thirdparty/mkl-dnn/include
39 ${CMAKE_BINARY_DIR}/include/
42 if (GEMM STREQUAL "MKL")
43 log_rpath_from_dir(MKL "${MKL}/lib")
46 add_library(${TARGET_NAME} SHARED ${SOURCES} ${HEADERS})
47 set_ie_threading_interface_for(${TARGET_NAME})
49 if (THREADING STREQUAL "TBB")
50 set(MKLDNN_THR MKLDNN_THR_TBB)
51 elseif (THREADING STREQUAL "OMP")
52 set(MKLDNN_THR MKLDNN_THR_OMP)
54 set(MKLDNN_THR MKLDNN_THR_SEQ)
57 target_compile_definitions(${TARGET_NAME} PUBLIC -DMKLDNN_THR=${MKLDNN_THR})
58 target_link_libraries(${TARGET_NAME} PRIVATE inference_engine ${INTEL_ITT_LIBS} mkldnn)
60 set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME})
62 add_library(test_${TARGET_NAME} STATIC ${SOURCES} ${HEADERS})
63 set_ie_threading_interface_for(test_${TARGET_NAME})
65 target_compile_definitions(test_${TARGET_NAME} PUBLIC -DMKLDNN_THR=${MKLDNN_THR})
66 target_link_libraries(test_${TARGET_NAME} PRIVATE inference_engine_s mkldnn)
68 set_target_properties(test_${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME test_${TARGET_NAME})
70 add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})