CMAKE: moved GNA var setting to proper place; removed find_package when build python...
[platform/upstream/dldt.git] / inference-engine / cmake / FindlibGNA.cmake
1 # Copyright (C) 2018-2019 Intel Corporation
2 # SPDX-License-Identifier: Apache-2.0
3 #
4
5 # module to locate GNA libraries
6
7 if (WIN32)
8     set(GNA_PLATFORM_DIR win64)
9 elseif (UNIX)
10     set(GNA_PLATFORM_DIR linux)
11 else ()
12     message(FATAL_ERROR "GNA not supported on this platform, only linux, and windows")
13 endif ()
14
15 set(libGNA_FOUND TRUE)
16
17 set(GNA_KERNEL_LIB_NAME gna)
18 set(GNA_LIBS_LIST
19         "libGNA::API"
20         "libGNA::KERNEL")
21
22 if (GNA_LIBRARY_VERSION STREQUAL "GNA1")
23     # use old version of GNA Library from gna_20181120
24     if (WIN32)
25         set(GNA_LIB_DIR x64)
26     else ()
27         list(APPEND GNA_LIBS_LIST
28                 "libGNA::OLD_API_LIB")
29         set(GNA_LIB_DIR lib)
30         set(GNA_KERNEL_LIB_NAME gna_kernel)
31     endif()
32     set(libGNA_INCLUDE_DIRS "${GNA}/${GNA_PLATFORM_DIR}/include")
33 else()
34     # use current version of GNA library
35     set(GNA_LIB_DIR x64)
36     set(libGNA_INCLUDE_DIRS "${GNA}/include")
37 endif()
38 set(libGNA_LIBRARIES_BASE_PATH ${GNA}/${GNA_PLATFORM_DIR}/${GNA_LIB_DIR})
39
40 add_library(libGNA::KERNEL SHARED IMPORTED)
41 find_library(GNA_KERNEL_LIBRARY
42         ${GNA_KERNEL_LIB_NAME}
43         HINTS
44         ${libGNA_LIBRARIES_BASE_PATH})
45 set_target_properties(libGNA::KERNEL PROPERTIES IMPORTED_LOCATION ${GNA_KERNEL_LIBRARY})
46
47 if ((GNA_LIBRARY_VERSION STREQUAL "GNA1") AND (NOT WIN32))
48     add_library(libGNA::OLD_API_LIB SHARED IMPORTED)
49     find_library(GNA_API_LIBRARY
50             gna_api
51             HINTS
52             ${libGNA_LIBRARIES_BASE_PATH})
53     set_target_properties(libGNA::OLD_API_LIB PROPERTIES IMPORTED_LOCATION ${GNA_API_LIBRARY})
54     target_link_libraries(libGNA::OLD_API_LIB INTERFACE libGNA::KERNEL)
55     set_target_properties(libGNA::OLD_API_LIB PROPERTIES IMPORTED_NO_SONAME TRUE)
56     set_target_properties(libGNA::KERNEL PROPERTIES IMPORTED_NO_SONAME TRUE)
57 endif()
58
59 add_library(libGNA::API INTERFACE IMPORTED)
60 set_property(TARGET libGNA::API PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${libGNA_INCLUDE_DIRS})
61
62 add_library(libGNA INTERFACE IMPORTED)
63 foreach(_lib_name ${GNA_LIBS_LIST})
64     set_property(TARGET libGNA APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${_lib_name})
65
66     get_target_property(_target_type ${_lib_name} TYPE)
67     if (${_target_type} STREQUAL "INTERFACE_LIBRARY")
68         get_target_property(_target_location ${_lib_name} INTERFACE_INCLUDE_DIRECTORIES)
69     else()
70         get_target_property(_target_location ${_lib_name} IMPORTED_LOCATION)
71     endif ()
72     message(STATUS "${_lib_name} ${_target_type} : ${_target_location}")
73 endforeach(_lib_name)
74
75 if (WIN32)
76     set_target_properties(libGNA::KERNEL PROPERTIES
77         IMPORTED_IMPLIB ${GNA_KERNEL_LIBRARY})
78 elseif(NOT GNA_LIBRARY_VERSION STREQUAL "GNA1")
79     set_target_properties(libGNA PROPERTIES INTERFACE_LINK_OPTIONS "-Wl,-rpath-link,${libGNA_LIBRARIES_BASE_PATH}")
80 endif ()