diff --git a/cmake/developer_package/features.cmake b/cmake/developer_package/features.cmake index d88532f8bf3..9e2843b30cc 100644 --- a/cmake/developer_package/features.cmake +++ b/cmake/developer_package/features.cmake @@ -48,13 +48,8 @@ ie_dependent_option (ENABLE_AVX2 "Enable AVX2 optimizations" ON "X86_64 OR (X86 ie_dependent_option (ENABLE_AVX512F "Enable AVX512 optimizations" ON "X86_64 OR (X86 AND NOT EMSCRIPTEN)" OFF) -if(EMSCRIPTEN) - set (BUILD_SHARED_LIBS_DEFAULT OFF) -else() - set (BUILD_SHARED_LIBS_DEFAULT ON) -endif() - # Type of build, we add this as an explicit option to default it to ON +get_property(BUILD_SHARED_LIBS_DEFAULT GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS) ie_option (BUILD_SHARED_LIBS "Build as a shared library" ${BUILD_SHARED_LIBS_DEFAULT}) # Android does not support SOVERSION @@ -63,7 +58,7 @@ ie_dependent_option (ENABLE_LIBRARY_VERSIONING "Enable libraries versioning" ON ie_dependent_option (ENABLE_FASTER_BUILD "Enable build features (PCH, UNITY) to speed up build time" OFF "CMAKE_VERSION VERSION_GREATER_EQUAL 3.16" OFF) -if(CMAKE_CROSSCOMPILING) +if(CMAKE_CROSSCOMPILING OR WIN32) set(STYLE_CHECKS_DEFAULT OFF) else() set(STYLE_CHECKS_DEFAULT ON) diff --git a/cmake/features.cmake b/cmake/features.cmake index 0ceb6a2d0fa..9a905e723eb 100644 --- a/cmake/features.cmake +++ b/cmake/features.cmake @@ -79,7 +79,7 @@ ie_dependent_option (ENABLE_INTEL_GNA "GNA support for OpenVINO Runtime" ON ie_option (ENABLE_INTEL_GNA_DEBUG "GNA debug build" OFF) -if(ENABLE_TESTS OR BUILD_SHARED_LIBS) +if((ENABLE_TESTS OR BUILD_SHARED_LIBS) AND ENABLE_INTEL_GNA) set(ENABLE_IR_V7_READER_DEFAULT ON) else() set(ENABLE_IR_V7_READER_DEFAULT OFF) @@ -156,8 +156,8 @@ ie_option(ENABLE_OV_TF_LITE_FRONTEND "Enable TensorFlow Lite FrontEnd" ON) ie_dependent_option(ENABLE_SYSTEM_PROTOBUF "Use system protobuf" OFF "ENABLE_OV_ONNX_FRONTEND OR ENABLE_OV_PADDLE_FRONTEND OR ENABLE_OV_TF_FRONTEND;BUILD_SHARED_LIBS" OFF) ie_option(ENABLE_OV_IR_FRONTEND "Enable IR FrontEnd" ON) -ie_dependent_option(ENABLE_SYSTEM_FLATBUFFERS "Use system flatbuffers" OFF - "ENABLE_OV_TF_LITE_FRONTEND;BUILD_SHARED_LIBS" OFF) +ie_dependent_option(ENABLE_SYSTEM_FLATBUFFERS "Use system flatbuffers" ${ENABLE_SYSTEM_LIBS_DEFAULT} + "ENABLE_OV_TF_LITE_FRONTEND" OFF) ie_dependent_option(ENABLE_OV_CORE_UNIT_TESTS "Enables OpenVINO core unit tests" ON "ENABLE_TESTS" OFF) ie_option(ENABLE_OPENVINO_DEBUG "Enable output for OPENVINO_DEBUG statements" OFF) diff --git a/install_build_dependencies.sh b/install_build_dependencies.sh index e30b8258f3f..22116ad4885 100755 --- a/install_build_dependencies.sh +++ b/install_build_dependencies.sh @@ -61,6 +61,10 @@ if [ -f /etc/lsb-release ] || [ -f /etc/debian_version ] ; then `# samples and tools` \ libgflags-dev \ zlib1g-dev + # TF lite frontend + if apt-cache search --names-only '^libflatbuffers-dev'| grep -q libflatbuffers-dev; then + apt-get install -y --no-install-recommends libflatbuffers-dev + fi # git-lfs is not available on debian9 if apt-cache search --names-only '^git-lfs'| grep -q git-lfs; then apt-get install -y --no-install-recommends git-lfs diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt index ea12663f909..ddfa824ce17 100644 --- a/thirdparty/CMakeLists.txt +++ b/thirdparty/CMakeLists.txt @@ -291,8 +291,22 @@ endif() if(ENABLE_OV_TF_LITE_FRONTEND) if(ENABLE_SYSTEM_FLATBUFFERS) - find_package(Flatbuffers REQUIRED) + if(CMAKE_HOST_LINUX AND EMSCRIPTEN AND HOST_X86_64) + set(_old_flat_CMAKE_LIBRARY_ARCHITECTURE ${CMAKE_LIBRARY_ARCHITECTURE}) + # without this WA cmake does not search in subfolder + # see https://cmake.org/cmake/help/latest/command/find_package.html#config-mode-search-procedure + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + endif() + find_host_package(Flatbuffers QUIET NO_CMAKE_FIND_ROOT_PATH) + + if(DEFINED _old_flat_CMAKE_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE ${_old_flat_CMAKE_LIBRARY_ARCHITECTURE}) + unset(_old_flat_CMAKE_LIBRARY_ARCHITECTURE) + endif() + endif() + + if(Flatbuffers_FOUND) # we don't actually use library files (.so | .dylib | .a) itself, only headers set(flatbuffers_LIBRARY flatbuffers::flatbuffers) set(flatbuffers_COMPILER flatbuffers::flatc) @@ -300,9 +314,7 @@ if(ENABLE_OV_TF_LITE_FRONTEND) foreach(target IN LISTS flatbuffers_LIBRARY flatbuffers_COMPILER) set_property(TARGET ${target} PROPERTY IMPORTED_GLOBAL ON) endforeach() - endif() - - if(NOT Flatbuffers_FOUND) + else() add_subdirectory(flatbuffers EXCLUDE_FROM_ALL) endif()