Skip to content

Commit

Permalink
Build using conanfile.txt (openvinotoolkit#17580)
Browse files Browse the repository at this point in the history
* Build using conanfile.txt

* Update .ci/azure/linux_arm64.yml

* Several improvements

* Removed conanfile.py

* Try to use activate / deactivate

* Fixed clang-format code style

* Supported TBB version from Conan

* Added more NOMINMAX

* Fixed static build

* More improvements for static build

* Add usage of static snappy in case of static build

* More fixes

* Small fixes

* Final fixes
  • Loading branch information
ilya-lavrenov authored and dood-apo committed Aug 24, 2023
1 parent 3a74395 commit 1726a51
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 14 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ file(GLOB_RECURSE HEADERS
${CMAKE_CURRENT_SOURCE_DIR}/src/*.hpp)

find_package(libGNA REQUIRED
NO_MODULE
PATHS "${CMAKE_CURRENT_SOURCE_DIR}/cmake"
NO_DEFAULT_PATH)

Expand Down
34 changes: 21 additions & 13 deletions cmake/libGNAConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,25 @@
#
# The example usage:
#
# find_package(libGNA COMPONENTS API KERNEL)
# find_package(libGNA NO_MODULE COMPONENTS API KERNEL)
#

set(libGNA_FOUND TRUE)
set(libGNA_FOUND ON)

set(GNA_KERNEL_LIB_NAME gna CACHE STRING "" FORCE)

if (NOT libGNA_FIND_COMPONENTS)
if(NOT libGNA_FIND_COMPONENTS)
set(libGNA_FIND_COMPONENTS "API;KERNEL")
endif()

foreach (_gna_component ${libGNA_FIND_COMPONENTS})
set(libGNA_${_gna_component}_FOUND FALSE)
set(libGNA_FIND_REQUIRED_${_gna_component} TRUE)
set(libGNA_${_gna_component}_FOUND OFF)
set(libGNA_FIND_REQUIRED_${_gna_component} ON)
endforeach()

set(libGNA_LIBRARIES_BASE_PATH ${GNA_PATH} CACHE STRING "" FORCE)

if(libGNA_FIND_REQUIRED_KERNEL)
if(libGNA_FIND_REQUIRED_KERNEL AND NOT TARGET libGNA::KERNEL)
find_library(GNA_KERNEL_LIBRARY ${GNA_KERNEL_LIB_NAME}
HINTS ${libGNA_LIBRARIES_BASE_PATH}
NO_CMAKE_FIND_ROOT_PATH)
Expand All @@ -55,26 +55,34 @@ if(libGNA_FIND_REQUIRED_KERNEL)
IMPORTED_LOCATION_RELEASE "${GNA_KERNEL_LIBRARY}"
INTERFACE_LINK_OPTIONS "-Wl,-rpath-link,${libGNA_LIBRARIES_BASE_PATH}")
endif()
set(libGNA_KERNEL_FOUND TRUE)
else()
message(SEND_ERROR "GNA KERNEL library (${GNA_KERNEL_LIB_NAME}) was not found in ${libGNA_LIBRARIES_BASE_PATH}")
endif()
endif()

if(libGNA_FIND_REQUIRED_API)
if(libGNA_FIND_REQUIRED_API AND NOT TARGET libGNA::API)
find_path(libGNA_INCLUDE_DIRS gna2-api.h
PATHS "${GNA_EXT_DIR}/include"
NO_CMAKE_FIND_ROOT_PATH)
if(libGNA_INCLUDE_DIRS)
add_library(libGNA::API INTERFACE IMPORTED)
set_target_properties(libGNA::API PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${libGNA_INCLUDE_DIRS}")
set(libGNA_API_FOUND TRUE)
else()
message(SEND_ERROR "GNA API headers (gna2-api.h) was not found in ${GNA_EXT_DIR}/include")
endif()
endif()

add_library(libGNA INTERFACE IMPORTED)
foreach(_lib_name IN LISTS libGNA_FIND_COMPONENTS)
set_property(TARGET libGNA APPEND PROPERTY INTERFACE_LINK_LIBRARIES libGNA::${_lib_name})
endforeach(_lib_name)
if(TARGET libGNA::KERNEL)
set(libGNA_KERNEL_FOUND ON)
endif()

if(TARGET libGNA::API)
set(libGNA_API_FOUND ON)
endif()

if(NOT TARGET libGNA)
add_library(libGNA INTERFACE IMPORTED)
foreach(_lib_name IN LISTS libGNA_FIND_COMPONENTS)
set_property(TARGET libGNA APPEND PROPERTY INTERFACE_LINK_LIBRARIES libGNA::${_lib_name})
endforeach()
endif()
2 changes: 1 addition & 1 deletion tests/deprecated/unit/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ if (ENABLE_INTEL_GNA AND BUILD_SHARED_LIBS)
list(REMOVE_ITEM TEST_SRC "${gna_stub}")
add_library(libGNAStubs SHARED "${gna_stub}")

find_package(libGNA)
find_package(libGNA NO_MODULE REQUIRED)

target_include_directories(libGNAStubs PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/engines/gna/")
target_link_libraries(libGNAStubs PUBLIC libGNA::API gmock gtest)
Expand Down

0 comments on commit 1726a51

Please sign in to comment.