CMakeLists.txt 2.23 KB
Newer Older
1
# Copyright (C) 2018-2019 Intel Corporation
openvino-pushbot's avatar
openvino-pushbot committed
2 3
# SPDX-License-Identifier: Apache-2.0
#
4

openvino-pushbot's avatar
openvino-pushbot committed
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
set(TARGET_NAME "MKLDNNPlugin")

if (UNIX AND NOT APPLE)
    set(OS_SPECIFIC_SRC ${CMAKE_CURRENT_SOURCE_DIR}/mkldnn/os/lin/*.cpp)
endif()

file(GLOB SOURCES
        ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/mkldnn/*.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/utils/*.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/nodes/*.cpp
        ${OS_SPECIFIC_SRC}
)

file(GLOB HEADERS
        ${CMAKE_CURRENT_SOURCE_DIR}/*.h
        ${CMAKE_CURRENT_SOURCE_DIR}/mkldnn/*.h
        ${CMAKE_CURRENT_SOURCE_DIR}/mkldnn/*.hpp
        ${CMAKE_CURRENT_SOURCE_DIR}/utils/*.h
        ${CMAKE_CURRENT_SOURCE_DIR}/nodes/*.h
)

addVersionDefines(mkldnn_plugin.cpp CI_BUILD_NUMBER MKL_VERSION)

29
add_definitions(-DIMPLEMENT_INFERENCE_ENGINE_PLUGIN)
openvino-pushbot's avatar
openvino-pushbot committed
30 31 32 33 34 35 36

include_directories(
        ${IE_MAIN_SOURCE_DIR}/include
        ${IE_MAIN_SOURCE_DIR}/src/inference_engine
        ${CMAKE_CURRENT_SOURCE_DIR}
        ${CMAKE_CURRENT_SOURCE_DIR}/mkldnn
        ${IE_MAIN_SOURCE_DIR}/thirdparty/mkl-dnn/src/common
37
        ${IE_MAIN_SOURCE_DIR}/thirdparty/mkl-dnn/src/cpu
openvino-pushbot's avatar
openvino-pushbot committed
38
        ${IE_MAIN_SOURCE_DIR}/thirdparty/mkl-dnn/include
39
        ${CMAKE_BINARY_DIR}/include/
openvino-pushbot's avatar
openvino-pushbot committed
40 41
)

42 43 44 45
if (GEMM STREQUAL "MKL")
    log_rpath_from_dir(MKL "${MKL}/lib")
endif()

Alexey Suhov's avatar
Alexey Suhov committed
46
add_library(${TARGET_NAME} SHARED ${SOURCES} ${HEADERS})
47
set_ie_threading_interface_for(${TARGET_NAME})
openvino-pushbot's avatar
openvino-pushbot committed
48

Alexey Suhov's avatar
Alexey Suhov committed
49
if (THREADING STREQUAL "TBB")
50
    set(MKLDNN_THR MKLDNN_THR_TBB)
Alexey Suhov's avatar
Alexey Suhov committed
51
elseif (THREADING STREQUAL "OMP")
52
    set(MKLDNN_THR MKLDNN_THR_OMP)
Alexey Suhov's avatar
Alexey Suhov committed
53
else()
54
    set(MKLDNN_THR MKLDNN_THR_SEQ)
openvino-pushbot's avatar
openvino-pushbot committed
55 56
endif()

57 58 59
target_compile_definitions(${TARGET_NAME} PUBLIC -DMKLDNN_THR=${MKLDNN_THR})
target_link_libraries(${TARGET_NAME} PRIVATE inference_engine ${INTEL_ITT_LIBS} mkldnn)

openvino-pushbot's avatar
openvino-pushbot committed
60 61 62
set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME})

add_library(test_${TARGET_NAME} STATIC ${SOURCES} ${HEADERS})
63
set_ie_threading_interface_for(test_${TARGET_NAME})
openvino-pushbot's avatar
openvino-pushbot committed
64

65 66
target_compile_definitions(test_${TARGET_NAME} PUBLIC -DMKLDNN_THR=${MKLDNN_THR})
target_link_libraries(test_${TARGET_NAME} PRIVATE inference_engine_s mkldnn)
Alexey Suhov's avatar
Alexey Suhov committed
67

openvino-pushbot's avatar
openvino-pushbot committed
68
set_target_properties(test_${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME test_${TARGET_NAME})
69 70

add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})