Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / src / cldnn_engine / CMakeLists.txt
1 # Copyright (C) 2018-2019 Intel Corporation
2 # SPDX-License-Identifier: Apache-2.0
3 #
4
5 set (TARGET_NAME "clDNNPlugin")
6
7 file (GLOB MAIN_SRC
8         ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
9         )
10
11 file (GLOB LIBRARY_HEADERS
12         ${CMAKE_CURRENT_SOURCE_DIR}/*.h
13         ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp
14         )
15
16 addVersionDefines(cldnn_engine.cpp CI_BUILD_NUMBER CLDNN_VERSION)
17
18 add_definitions(-DIMPLEMENT_INFERENCE_ENGINE_PLUGIN)
19
20 # Create named folders for the sources within the .vcproj
21 # Empty name lists them directly under the .vcproj
22 source_group("src" FILES ${LIBRARY_SRC})
23 source_group("include" FILES ${LIBRARY_HEADERS})
24
25
26 #TODO: clDNN for non windows...
27 if (APPLE)
28 elseif  (UNIX)
29     set(CLDNN_BUILD_PLATFORM Centos7/)
30     set(CLDNN_PLATFORM Linux64/)
31     set(CLDNN_LIB_FOLDER bin)
32     set(CLDNN_LIB_NAME clDNN64)
33 else ()
34     #32 bits platform
35     if (NOT "${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
36         set(CLDNN_PLATFORM Windows32/)
37         set(CLDNN_LIB_NAME clDNN32)
38     else()
39         set(CLDNN_PLATFORM Windows64/)
40         set(CLDNN_LIB_NAME clDNN64)
41     endif()
42     set(CLDNN_LIB_FOLDER lib)
43 endif ()
44
45 set (CLDNN_TOP_FOLDER ${IE_MAIN_SOURCE_DIR}/thirdparty/clDNN)
46
47 # Properties->C/C++->General->Additional Include Directories
48 include_directories (
49         ${CMAKE_CURRENT_SOURCE_DIR}
50         ${IE_MAIN_SOURCE_DIR}/include
51         ${CLDNN_TOP_FOLDER}/api
52         ${CLDNN_TOP_FOLDER}/include
53         #${OCL_DIST}/include
54         ${IE_MAIN_SOURCE_DIR}/src/inference_engine
55         ${IE_MAIN_SOURCE_DIR}/thirdparty/pugixml/src)
56
57 # clDnn build configuration, change that if you'd like to debug
58 if (${CMAKE_BUILD_TYPE} STREQUAL "Debug" )
59     set (Configuration ${CMAKE_BUILD_TYPE})
60 else()
61     set (Configuration Release)
62 endif()
63
64 set(CLDNN_LIBRARY clDNN_shlib)
65
66 # Create library file from sources.
67 add_library(${TARGET_NAME} SHARED
68     ${MAIN_SRC}
69     ${LIBRARY_HEADERS})
70 target_link_libraries(${TARGET_NAME} ${INTEL_ITT_LIBS} inference_engine ${CLDNN_LIBRARY})
71
72 set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME})
73
74 #copy default global xml file describing the custom kernels and the *.cl files
75 add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
76     COMMAND "${CMAKE_COMMAND}" -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/cldnn_global_custom_kernels $<TARGET_FILE_DIR:${TARGET_NAME}>/cldnn_global_custom_kernels)
77
78 add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})