Fixes for multi-config generators (#16097)
This commit is contained in:
parent
9c4c559909
commit
e1fbb7d768
@ -19,10 +19,6 @@ endif()
|
|||||||
|
|
||||||
project(OpenVINO DESCRIPTION "OpenVINO toolkit")
|
project(OpenVINO DESCRIPTION "OpenVINO toolkit")
|
||||||
|
|
||||||
if(NOT CMAKE_BUILD_TYPE)
|
|
||||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "CMake build type" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_package(IEDevScripts REQUIRED
|
find_package(IEDevScripts REQUIRED
|
||||||
PATHS "${OpenVINO_SOURCE_DIR}/cmake/developer_package"
|
PATHS "${OpenVINO_SOURCE_DIR}/cmake/developer_package"
|
||||||
NO_CMAKE_FIND_ROOT_PATH
|
NO_CMAKE_FIND_ROOT_PATH
|
||||||
@ -39,7 +35,6 @@ if(ENABLE_COVERAGE)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# resolving dependencies for the project
|
# resolving dependencies for the project
|
||||||
message (STATUS "PROJECT ............................... " ${PROJECT_NAME})
|
|
||||||
message (STATUS "CMAKE_VERSION ......................... " ${CMAKE_VERSION})
|
message (STATUS "CMAKE_VERSION ......................... " ${CMAKE_VERSION})
|
||||||
message (STATUS "CMAKE_BINARY_DIR ...................... " ${CMAKE_BINARY_DIR})
|
message (STATUS "CMAKE_BINARY_DIR ...................... " ${CMAKE_BINARY_DIR})
|
||||||
message (STATUS "CMAKE_SOURCE_DIR ...................... " ${CMAKE_SOURCE_DIR})
|
message (STATUS "CMAKE_SOURCE_DIR ...................... " ${CMAKE_SOURCE_DIR})
|
||||||
@ -48,10 +43,28 @@ message (STATUS "OpenVINO_BINARY_DIR ................... " ${OpenVINO_BINARY_DIR
|
|||||||
message (STATUS "CMAKE_GENERATOR ....................... " ${CMAKE_GENERATOR})
|
message (STATUS "CMAKE_GENERATOR ....................... " ${CMAKE_GENERATOR})
|
||||||
message (STATUS "CMAKE_C_COMPILER_ID ................... " ${CMAKE_C_COMPILER_ID})
|
message (STATUS "CMAKE_C_COMPILER_ID ................... " ${CMAKE_C_COMPILER_ID})
|
||||||
message (STATUS "CMAKE_CXX_COMPILER_ID ................. " ${CMAKE_CXX_COMPILER_ID})
|
message (STATUS "CMAKE_CXX_COMPILER_ID ................. " ${CMAKE_CXX_COMPILER_ID})
|
||||||
message (STATUS "CMAKE_BUILD_TYPE ...................... " ${CMAKE_BUILD_TYPE})
|
if(OV_GENERATOR_MULTI_CONFIG)
|
||||||
message (STATUS "CMAKE_TOOLCHAIN_FILE .................. " ${CMAKE_TOOLCHAIN_FILE})
|
string(REPLACE ";" " " config_types "${CMAKE_CONFIGURATION_TYPES}")
|
||||||
message (STATUS "GLIBC_VERSION.......................... " ${OV_GLIBC_VERSION})
|
message (STATUS "CMAKE_CONFIGURATION_TYPES ............. " ${config_types})
|
||||||
|
unset(config_types)
|
||||||
|
if(CMAKE_GENERATOR MATCHES "^Ninja Multi-Config$")
|
||||||
|
message (STATUS "CMAKE_DEFAULT_BUILD_TYPE .............. " ${CMAKE_DEFAULT_BUILD_TYPE})
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
message (STATUS "CMAKE_BUILD_TYPE ...................... " ${CMAKE_BUILD_TYPE})
|
||||||
|
endif()
|
||||||
|
if(CMAKE_GENERATOR_PLATFORM)
|
||||||
|
message (STATUS "CMAKE_GENERATOR_PLATFORM .............. " ${CMAKE_GENERATOR_PLATFORM})
|
||||||
|
endif()
|
||||||
|
if(CMAKE_GENERATOR_TOOLSET)
|
||||||
|
message (STATUS "CMAKE_GENERATOR_TOOLSET ............... " ${CMAKE_GENERATOR_TOOLSET})
|
||||||
|
endif()
|
||||||
|
if(CMAKE_TOOLCHAIN_FILE)
|
||||||
|
message (STATUS "CMAKE_TOOLCHAIN_FILE .................. " ${CMAKE_TOOLCHAIN_FILE})
|
||||||
|
endif()
|
||||||
|
if(OV_GLIBC_VERSION)
|
||||||
|
message (STATUS "GLIBC_VERSION ......................... " ${OV_GLIBC_VERSION})
|
||||||
|
endif()
|
||||||
|
|
||||||
# remove file with exported developer targets to force its regeneration
|
# remove file with exported developer targets to force its regeneration
|
||||||
file(REMOVE "${CMAKE_BINARY_DIR}/ngraphTargets.cmake")
|
file(REMOVE "${CMAKE_BINARY_DIR}/ngraphTargets.cmake")
|
||||||
|
@ -111,10 +111,13 @@ else()
|
|||||||
set(BIN_FOLDER "bin/${ARCH_FOLDER}")
|
set(BIN_FOLDER "bin/${ARCH_FOLDER}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "CMake build type")
|
|
||||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Release;Debug;RelWithDebInfo;MinSizeRel")
|
|
||||||
if(CMAKE_GENERATOR MATCHES "^Ninja Multi-Config$")
|
if(CMAKE_GENERATOR MATCHES "^Ninja Multi-Config$")
|
||||||
|
# Ninja-Multi specific, see:
|
||||||
|
# https://cmake.org/cmake/help/latest/variable/CMAKE_DEFAULT_BUILD_TYPE.html
|
||||||
set(CMAKE_DEFAULT_BUILD_TYPE "Release" CACHE STRING "CMake default build type")
|
set(CMAKE_DEFAULT_BUILD_TYPE "Release" CACHE STRING "CMake default build type")
|
||||||
|
elseif(NOT OV_GENERATOR_MULTI_CONFIG)
|
||||||
|
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "CMake build type")
|
||||||
|
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Release;Debug;RelWithDebInfo;MinSizeRel")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(USE_BUILD_TYPE_SUBFOLDER)
|
if(USE_BUILD_TYPE_SUBFOLDER)
|
||||||
@ -152,10 +155,10 @@ set(CMAKE_DEBUG_POSTFIX ${IE_DEBUG_POSTFIX})
|
|||||||
set(CMAKE_RELEASE_POSTFIX ${IE_RELEASE_POSTFIX})
|
set(CMAKE_RELEASE_POSTFIX ${IE_RELEASE_POSTFIX})
|
||||||
|
|
||||||
# Support CMake multi-configuration for Visual Studio / Ninja or Xcode build
|
# Support CMake multi-configuration for Visual Studio / Ninja or Xcode build
|
||||||
if (OV_GENERATOR_MULTI_CONFIG)
|
if(OV_GENERATOR_MULTI_CONFIG)
|
||||||
set(IE_BUILD_POSTFIX $<$<CONFIG:Debug>:${IE_DEBUG_POSTFIX}>$<$<CONFIG:Release>:${IE_RELEASE_POSTFIX}>)
|
set(IE_BUILD_POSTFIX $<$<CONFIG:Debug>:${IE_DEBUG_POSTFIX}>$<$<CONFIG:Release>:${IE_RELEASE_POSTFIX}>)
|
||||||
else ()
|
else()
|
||||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
set(IE_BUILD_POSTFIX ${IE_DEBUG_POSTFIX})
|
set(IE_BUILD_POSTFIX ${IE_DEBUG_POSTFIX})
|
||||||
else()
|
else()
|
||||||
set(IE_BUILD_POSTFIX ${IE_RELEASE_POSTFIX})
|
set(IE_BUILD_POSTFIX ${IE_RELEASE_POSTFIX})
|
||||||
|
@ -63,6 +63,15 @@ function(ov_native_compile_external_project)
|
|||||||
set(ARG_NATIVE_SOURCE_SUBDIR SOURCE_SUBDIR ${ARG_NATIVE_SOURCE_SUBDIR})
|
set(ARG_NATIVE_SOURCE_SUBDIR SOURCE_SUBDIR ${ARG_NATIVE_SOURCE_SUBDIR})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(OV_GENERATOR_MULTI_CONFIG)
|
||||||
|
if(CMAKE_GENERATOR MATCHES "^Ninja Multi-Config$")
|
||||||
|
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_CONFIGURATION_TYPES=${CMAKE_DEFAULT_BUILD_TYPE}")
|
||||||
|
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_DEFAULT_BUILD_TYPE=${CMAKE_DEFAULT_BUILD_TYPE}")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
|
||||||
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(${ARG_TARGET_NAME}
|
ExternalProject_Add(${ARG_TARGET_NAME}
|
||||||
# Directory Options
|
# Directory Options
|
||||||
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
|
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||||
@ -81,7 +90,6 @@ function(ov_native_compile_external_project)
|
|||||||
"-DCMAKE_C_FLAGS=${compile_flags}"
|
"-DCMAKE_C_FLAGS=${compile_flags}"
|
||||||
"-DCMAKE_POLICY_DEFAULT_CMP0069=NEW"
|
"-DCMAKE_POLICY_DEFAULT_CMP0069=NEW"
|
||||||
"-DCMAKE_INSTALL_PREFIX=${ARG_NATIVE_INSTALL_DIR}"
|
"-DCMAKE_INSTALL_PREFIX=${ARG_NATIVE_INSTALL_DIR}"
|
||||||
"-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
|
|
||||||
${ARG_CMAKE_ARGS}
|
${ARG_CMAKE_ARGS}
|
||||||
CMAKE_GENERATOR "${CMAKE_GENERATOR}"
|
CMAKE_GENERATOR "${CMAKE_GENERATOR}"
|
||||||
${ARG_NATIVE_SOURCE_SUBDIR}
|
${ARG_NATIVE_SOURCE_SUBDIR}
|
||||||
|
@ -194,7 +194,7 @@ macro(ie_cpack)
|
|||||||
set(CPACK_STRIP_FILES ON)
|
set(CPACK_STRIP_FILES ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# TODO: replace with openvino
|
# TODO: replace with openvino and handle multi-config generators case
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(CPACK_PACKAGE_NAME inference-engine_${CMAKE_BUILD_TYPE})
|
set(CPACK_PACKAGE_NAME inference-engine_${CMAKE_BUILD_TYPE})
|
||||||
else()
|
else()
|
||||||
@ -202,6 +202,7 @@ macro(ie_cpack)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CPACK_PACKAGE_VERSION "${OpenVINO_VERSION}")
|
set(CPACK_PACKAGE_VERSION "${OpenVINO_VERSION}")
|
||||||
|
# build version can be empty in case we are running cmake out of git repository
|
||||||
if(NOT OpenVINO_VERSION_BUILD STREQUAL "000")
|
if(NOT OpenVINO_VERSION_BUILD STREQUAL "000")
|
||||||
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.${OpenVINO_VERSION_BUILD}")
|
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.${OpenVINO_VERSION_BUILD}")
|
||||||
endif()
|
endif()
|
||||||
|
@ -16,7 +16,8 @@ set(ie_options "@IE_OPTIONS@")
|
|||||||
list(APPEND ie_options CMAKE_CXX_COMPILER_LAUNCHER CMAKE_C_COMPILER_LAUNCHER
|
list(APPEND ie_options CMAKE_CXX_COMPILER_LAUNCHER CMAKE_C_COMPILER_LAUNCHER
|
||||||
CMAKE_CXX_LINKER_LAUNCHER CMAKE_C_LINKER_LAUNCHER
|
CMAKE_CXX_LINKER_LAUNCHER CMAKE_C_LINKER_LAUNCHER
|
||||||
CMAKE_BUILD_TYPE CMAKE_SKIP_RPATH CMAKE_INSTALL_PREFIX
|
CMAKE_BUILD_TYPE CMAKE_SKIP_RPATH CMAKE_INSTALL_PREFIX
|
||||||
CMAKE_OSX_ARCHITECTURES CMAKE_OSX_DEPLOYMENT_TARGET)
|
CMAKE_OSX_ARCHITECTURES CMAKE_OSX_DEPLOYMENT_TARGET
|
||||||
|
CMAKE_CONFIGURATION_TYPES CMAKE_DEFAULT_BUILD_TYPE)
|
||||||
file(TO_CMAKE_PATH "${CMAKE_CURRENT_LIST_DIR}" cache_path)
|
file(TO_CMAKE_PATH "${CMAKE_CURRENT_LIST_DIR}" cache_path)
|
||||||
|
|
||||||
message(STATUS "The following CMake options are exported from Inference Engine Developer package")
|
message(STATUS "The following CMake options are exported from Inference Engine Developer package")
|
||||||
|
@ -14,7 +14,8 @@ set(ov_options "@IE_OPTIONS@")
|
|||||||
list(APPEND ov_options CMAKE_CXX_COMPILER_LAUNCHER CMAKE_C_COMPILER_LAUNCHER
|
list(APPEND ov_options CMAKE_CXX_COMPILER_LAUNCHER CMAKE_C_COMPILER_LAUNCHER
|
||||||
CMAKE_CXX_LINKER_LAUNCHER CMAKE_C_LINKER_LAUNCHER
|
CMAKE_CXX_LINKER_LAUNCHER CMAKE_C_LINKER_LAUNCHER
|
||||||
CMAKE_BUILD_TYPE CMAKE_SKIP_RPATH CMAKE_INSTALL_PREFIX
|
CMAKE_BUILD_TYPE CMAKE_SKIP_RPATH CMAKE_INSTALL_PREFIX
|
||||||
CMAKE_OSX_ARCHITECTURES CMAKE_OSX_DEPLOYMENT_TARGET)
|
CMAKE_OSX_ARCHITECTURES CMAKE_OSX_DEPLOYMENT_TARGET
|
||||||
|
CMAKE_CONFIGURATION_TYPES CMAKE_DEFAULT_BUILD_TYPE)
|
||||||
file(TO_CMAKE_PATH "${CMAKE_CURRENT_LIST_DIR}" cache_path)
|
file(TO_CMAKE_PATH "${CMAKE_CURRENT_LIST_DIR}" cache_path)
|
||||||
|
|
||||||
message(STATUS "The following CMake options are exported from OpenVINO Developer package")
|
message(STATUS "The following CMake options are exported from OpenVINO Developer package")
|
||||||
|
@ -5,12 +5,21 @@
|
|||||||
cmake_minimum_required (VERSION 3.10)
|
cmake_minimum_required (VERSION 3.10)
|
||||||
|
|
||||||
# Enable CMAKE_<LANG>_COMPILER_ID AppleClang
|
# Enable CMAKE_<LANG>_COMPILER_ID AppleClang
|
||||||
cmake_policy(SET CMP0025 NEW)
|
if(POLICY CMP0025)
|
||||||
|
cmake_policy(SET CMP0025 NEW)
|
||||||
|
endif()
|
||||||
|
|
||||||
project(Samples)
|
project(Samples)
|
||||||
|
|
||||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "CMake build type")
|
get_property(OV_GENERATOR_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Release" "Debug" "RelWithDebInfo" "MinSizeRel")
|
if(CMAKE_GENERATOR MATCHES "^Ninja Multi-Config$")
|
||||||
|
# Ninja-Multi specific, see:
|
||||||
|
# https://cmake.org/cmake/help/latest/variable/CMAKE_DEFAULT_BUILD_TYPE.html
|
||||||
|
set(CMAKE_DEFAULT_BUILD_TYPE "Release" CACHE STRING "CMake default build type")
|
||||||
|
elseif(NOT OV_GENERATOR_MULTI_CONFIG)
|
||||||
|
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "CMake build type")
|
||||||
|
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Release;Debug;RelWithDebInfo;MinSizeRel")
|
||||||
|
endif()
|
||||||
|
|
||||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||||
|
|
||||||
|
@ -27,16 +27,16 @@ ie_shellcheck_process(DIRECTORY "${OpenVINO_SOURCE_DIR}"
|
|||||||
ie_cpack_add_component(${OV_CPACK_COMP_SETUPVARS} HIDDEN)
|
ie_cpack_add_component(${OV_CPACK_COMP_SETUPVARS} HIDDEN)
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
set(_setupvars_file setupvars/setupvars.sh)
|
set(_setupvars_file "${CMAKE_CURRENT_SOURCE_DIR}/setupvars/setupvars.sh")
|
||||||
elseif(WIN32)
|
elseif(WIN32)
|
||||||
set(_setupvars_file setupvars/setupvars.bat)
|
set(_setupvars_file "${CMAKE_CURRENT_SOURCE_DIR}/setupvars/setupvars.bat")
|
||||||
if (USE_BUILD_TYPE_SUBFOLDER AND CMAKE_BUILD_TYPE AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug" AND NOT CMAKE_BUILD_TYPE STREQUAL "Release")
|
if(USE_BUILD_TYPE_SUBFOLDER AND CMAKE_BUILD_TYPE AND NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|Release)$")
|
||||||
# Patch primary configuration in setupvars.bat which is "Release" by default.
|
# Patch primary configuration in setupvars.bat which is "Release" by default.
|
||||||
# Note setupvars secondary configuration is always "Debug".
|
# Note setupvars secondary configuration is always "Debug".
|
||||||
message(STATUS "Patching content of ${_setupvars_file} for CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
|
message(STATUS "Patching content of ${_setupvars_file} for CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
|
||||||
file(READ "${_setupvars_file}" _setupvars_content)
|
file(READ "${_setupvars_file}" _setupvars_content)
|
||||||
string(REPLACE "Release" ${CMAKE_BUILD_TYPE} _setupvars_content "${_setupvars_content}")
|
string(REPLACE "Release" ${CMAKE_BUILD_TYPE} _setupvars_content "${_setupvars_content}")
|
||||||
set(_setupvars_file "${CMAKE_BINARY_DIR}/${_setupvars_file}")
|
set(_setupvars_file "${OpenVINO_BINARY_DIR}/${_setupvars_file}")
|
||||||
message(STATUS "Writing patched content to ${_setupvars_file}")
|
message(STATUS "Writing patched content to ${_setupvars_file}")
|
||||||
file(WRITE "${_setupvars_file}" "${_setupvars_content}")
|
file(WRITE "${_setupvars_file}" "${_setupvars_content}")
|
||||||
endif()
|
endif()
|
||||||
@ -51,11 +51,7 @@ install(PROGRAMS "${_setupvars_file}"
|
|||||||
if(LINUX)
|
if(LINUX)
|
||||||
ie_cpack_add_component(${OV_CPACK_COMP_INSTALL_DEPENDENCIES} HIDDEN)
|
ie_cpack_add_component(${OV_CPACK_COMP_INSTALL_DEPENDENCIES} HIDDEN)
|
||||||
|
|
||||||
set(install_dependencies_files install_openvino_dependencies.sh)
|
install(PROGRAMS "${CMAKE_CURRENT_SOURCE_DIR}/install_dependencies/install_openvino_dependencies.sh"
|
||||||
|
|
||||||
foreach(install_dependencies_file IN LISTS install_dependencies_files)
|
|
||||||
install(PROGRAMS "${CMAKE_CURRENT_SOURCE_DIR}/install_dependencies/${install_dependencies_file}"
|
|
||||||
DESTINATION install_dependencies/
|
DESTINATION install_dependencies/
|
||||||
COMPONENT ${OV_CPACK_COMP_INSTALL_DEPENDENCIES})
|
COMPONENT ${OV_CPACK_COMP_INSTALL_DEPENDENCIES})
|
||||||
endforeach()
|
|
||||||
endif()
|
endif()
|
||||||
|
@ -91,7 +91,7 @@ function(ov_check_python_build_conditions)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND CMAKE_DEBUG_POSTFIX)
|
if(NOT OV_GENERATOR_MULTI_CONFIG AND CMAKE_BUILD_TYPE STREQUAL "Debug" AND CMAKE_DEBUG_POSTFIX)
|
||||||
set(python_debug ON)
|
set(python_debug ON)
|
||||||
message(${message_mode} "Building python bindings in debug configuration is not supported on your platform (ENABLE_PYTHON is OFF)")
|
message(${message_mode} "Building python bindings in debug configuration is not supported on your platform (ENABLE_PYTHON is OFF)")
|
||||||
else()
|
else()
|
||||||
|
@ -79,11 +79,30 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/..")
|
target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/..")
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE openvino::runtime::dev openvino::runtime ${OFFLINE_TRANSFORMATIONS_LIB})
|
target_link_libraries(${PROJECT_NAME} PRIVATE
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO} OUTPUT_NAME "_pyopenvino")
|
openvino::runtime::dev openvino::runtime ${OFFLINE_TRANSFORMATIONS_LIB})
|
||||||
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||||
|
INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO}
|
||||||
|
OUTPUT_NAME "_pyopenvino")
|
||||||
|
|
||||||
addVersionDefines(pyopenvino.cpp CI_BUILD_NUMBER)
|
addVersionDefines(pyopenvino.cpp CI_BUILD_NUMBER)
|
||||||
|
|
||||||
|
if(OV_GENERATOR_MULTI_CONFIG)
|
||||||
|
string(APPEND _cmd_echo
|
||||||
|
"$<$<CONFIG:Debug>:"
|
||||||
|
"${CMAKE_COMMAND};-E;cmake_echo_color;--red;\"OpenVINO;Python;API;cannot;be;built;for;'Debug'\""
|
||||||
|
">")
|
||||||
|
string(APPEND cmd_error
|
||||||
|
"$<$<CONFIG:Debug>:"
|
||||||
|
"${CMAKE_COMMAND};-E;false"
|
||||||
|
">")
|
||||||
|
|
||||||
|
add_custom_command(TARGET ${PROJECT_NAME} PRE_BUILD
|
||||||
|
COMMAND "${_cmd_echo}"
|
||||||
|
COMMAND "${cmd_error}"
|
||||||
|
COMMAND_EXPAND_LISTS)
|
||||||
|
endif()
|
||||||
|
|
||||||
# perform copy
|
# perform copy
|
||||||
if(OpenVINO_SOURCE_DIR)
|
if(OpenVINO_SOURCE_DIR)
|
||||||
add_custom_command(TARGET ${PROJECT_NAME}
|
add_custom_command(TARGET ${PROJECT_NAME}
|
||||||
|
@ -262,6 +262,7 @@ function(set_ie_threading_interface_for TARGET_NAME)
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (NOT OpenVINO_SOURCE_DIR)
|
if (NOT OpenVINO_SOURCE_DIR)
|
||||||
|
# TODO: dead code since ie_parallel.cmake is not used outside of OpenVINO build
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
set(lib_rel_path ${IE_LIB_REL_DIR})
|
set(lib_rel_path ${IE_LIB_REL_DIR})
|
||||||
set(lib_dbg_path ${IE_LIB_DBG_DIR})
|
set(lib_dbg_path ${IE_LIB_DBG_DIR})
|
||||||
@ -307,6 +308,7 @@ function(set_ie_threading_interface_for TARGET_NAME)
|
|||||||
if (WIN32)
|
if (WIN32)
|
||||||
ie_target_link_libraries(${TARGET_NAME} ${LINK_TYPE} "$<$<CONFIG:DEBUG>:${OMP_LIBRARIES_DEBUG}>;$<$<NOT:$<CONFIG:DEBUG>>:${OMP_LIBRARIES_RELEASE}>")
|
ie_target_link_libraries(${TARGET_NAME} ${LINK_TYPE} "$<$<CONFIG:DEBUG>:${OMP_LIBRARIES_DEBUG}>;$<$<NOT:$<CONFIG:DEBUG>>:${OMP_LIBRARIES_RELEASE}>")
|
||||||
else()
|
else()
|
||||||
|
# TODO: handle multi-config generators case
|
||||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
ie_target_link_libraries(${TARGET_NAME} ${LINK_TYPE} ${OMP_LIBRARIES_DEBUG})
|
ie_target_link_libraries(${TARGET_NAME} ${LINK_TYPE} ${OMP_LIBRARIES_DEBUG})
|
||||||
else()
|
else()
|
||||||
|
@ -19,12 +19,8 @@
|
|||||||
#include "log/log.hpp"
|
#include "log/log.hpp"
|
||||||
#include "ops/util/util.hpp"
|
#include "ops/util/util.hpp"
|
||||||
|
|
||||||
namespace ov {
|
namespace std {
|
||||||
namespace intel_gna {
|
inline std::ostream& operator<<(std::ostream& os, const std::set<ov::element::Type>& t) {
|
||||||
using namespace common;
|
|
||||||
namespace limitations {
|
|
||||||
namespace {
|
|
||||||
std::ostream& operator<<(std::ostream& os, const std::set<ov::element::Type>& t) {
|
|
||||||
for (auto it = t.begin(); it != t.end(); ++it) {
|
for (auto it = t.begin(); it != t.end(); ++it) {
|
||||||
if (it != t.begin()) {
|
if (it != t.begin()) {
|
||||||
os << ", " << *it;
|
os << ", " << *it;
|
||||||
@ -34,7 +30,11 @@ std::ostream& operator<<(std::ostream& os, const std::set<ov::element::Type>& t)
|
|||||||
}
|
}
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
} // namespace
|
} // namespace std
|
||||||
|
|
||||||
|
namespace ov {
|
||||||
|
namespace intel_gna {
|
||||||
|
namespace limitations {
|
||||||
|
|
||||||
const std::set<ov::element::Type> SupportedElementTypes::supported_parameter_types = {ov::element::u8,
|
const std::set<ov::element::Type> SupportedElementTypes::supported_parameter_types = {ov::element::u8,
|
||||||
ov::element::i16,
|
ov::element::i16,
|
||||||
@ -629,11 +629,11 @@ bool Validator_35::ShouldUseOnlyConv2DGnaIface() const {
|
|||||||
|
|
||||||
std::unique_ptr<AbstractValidator> AbstractValidator::Create(const common::DeviceVersion& target) {
|
std::unique_ptr<AbstractValidator> AbstractValidator::Create(const common::DeviceVersion& target) {
|
||||||
switch (target) {
|
switch (target) {
|
||||||
case DeviceVersion::GNA3_0:
|
case common::DeviceVersion::GNA3_0:
|
||||||
case DeviceVersion::GNAEmbedded3_1:
|
case common::DeviceVersion::GNAEmbedded3_1:
|
||||||
return tools::make_unique<Validator_30>();
|
return tools::make_unique<Validator_30>();
|
||||||
case DeviceVersion::GNA3_5:
|
case common::DeviceVersion::GNA3_5:
|
||||||
case DeviceVersion::GNAEmbedded3_5:
|
case common::DeviceVersion::GNAEmbedded3_5:
|
||||||
return tools::make_unique<Validator_35>();
|
return tools::make_unique<Validator_35>();
|
||||||
default:
|
default:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
@ -658,7 +658,7 @@ bool AbstractValidator::ValidationSuccesful(const bool throwOnError,
|
|||||||
return error.empty();
|
return error.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool UseOnly16BitConvolutionWeights(const DeviceVersion& compile_target) {
|
bool UseOnly16BitConvolutionWeights(const common::DeviceVersion& compile_target) {
|
||||||
return (compile_target == common::DeviceVersion::GNA2_0 || compile_target == common::DeviceVersion::GNA3_0) ||
|
return (compile_target == common::DeviceVersion::GNA2_0 || compile_target == common::DeviceVersion::GNA3_0) ||
|
||||||
compile_target == common::DeviceVersion::GNAEmbedded3_1;
|
compile_target == common::DeviceVersion::GNAEmbedded3_1;
|
||||||
}
|
}
|
||||||
|
10
src/plugins/intel_gpu/thirdparty/CMakeLists.txt
vendored
10
src/plugins/intel_gpu/thirdparty/CMakeLists.txt
vendored
@ -43,6 +43,15 @@ if(ENABLE_ONEDNN_FOR_GPU)
|
|||||||
list(APPEND cmake_extra_args "-D${cmake_var}=${${cmake_var}}")
|
list(APPEND cmake_extra_args "-D${cmake_var}=${${cmake_var}}")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
if(OV_GENERATOR_MULTI_CONFIG)
|
||||||
|
if(CMAKE_GENERATOR MATCHES "^Ninja Multi-Config$")
|
||||||
|
list(APPEND cmake_extra_args "-DCMAKE_CONFIGURATION_TYPES=${CMAKE_DEFAULT_BUILD_TYPE}")
|
||||||
|
list(APPEND cmake_extra_args "-DCMAKE_DEFAULT_BUILD_TYPE=${CMAKE_DEFAULT_BUILD_TYPE}")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
list(APPEND cmake_extra_args "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
|
||||||
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(onednn_gpu_build
|
ExternalProject_Add(onednn_gpu_build
|
||||||
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/onednn_gpu"
|
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/onednn_gpu"
|
||||||
BINARY_DIR "${ONEDNN_BUILD_DIR}"
|
BINARY_DIR "${ONEDNN_BUILD_DIR}"
|
||||||
@ -73,7 +82,6 @@ if(ENABLE_ONEDNN_FOR_GPU)
|
|||||||
"-DDNNL_LIBRARY_NAME=onednn_gpu"
|
"-DDNNL_LIBRARY_NAME=onednn_gpu"
|
||||||
"-DCMAKE_INSTALL_PREFIX=${ONEDNN_INSTALL_DIR}"
|
"-DCMAKE_INSTALL_PREFIX=${ONEDNN_INSTALL_DIR}"
|
||||||
"-DCMAKE_INSTALL_LIBDIR=lib/$<CONFIG>"
|
"-DCMAKE_INSTALL_LIBDIR=lib/$<CONFIG>"
|
||||||
"-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
|
|
||||||
"-DDNNL_ENABLE_CONCURRENT_EXEC=ON"
|
"-DDNNL_ENABLE_CONCURRENT_EXEC=ON"
|
||||||
"-DDNNL_ENABLE_PRIMITIVE_CACHE=ON"
|
"-DDNNL_ENABLE_PRIMITIVE_CACHE=ON"
|
||||||
"-DDNNL_ENABLE_WORKLOAD=INFERENCE"
|
"-DDNNL_ENABLE_WORKLOAD=INFERENCE"
|
||||||
|
1
thirdparty/CMakeLists.txt
vendored
1
thirdparty/CMakeLists.txt
vendored
@ -94,6 +94,7 @@ if(ENABLE_INTEL_GPU)
|
|||||||
|
|
||||||
set(OpenCL_INCLUDE_DIR "${OpenCL_INCLUDE_DIR}" PARENT_SCOPE)
|
set(OpenCL_INCLUDE_DIR "${OpenCL_INCLUDE_DIR}" PARENT_SCOPE)
|
||||||
set(OpenCL_LIBRARY "${OpenCL_LIBRARY}" PARENT_SCOPE)
|
set(OpenCL_LIBRARY "${OpenCL_LIBRARY}" PARENT_SCOPE)
|
||||||
|
set(opencl_root_hints "${opencl_root_hints}" PARENT_SCOPE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# cmake cannot set properties for imported targets
|
# cmake cannot set properties for imported targets
|
||||||
|
15
thirdparty/ocl/CMakeLists.txt
vendored
15
thirdparty/ocl/CMakeLists.txt
vendored
@ -3,16 +3,10 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
function(get_lib_name TARGET_NAME LIBRARY_NAME)
|
function(get_lib_name TARGET_NAME LIBRARY_NAME)
|
||||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
||||||
set(BUILD_SUFFIX ${IE_DEBUG_POSTFIX})
|
|
||||||
else()
|
|
||||||
set(BUILD_SUFFIX ${IE_RELEASE_POSTFIX})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(LIB_SUFFIX "${BUILD_SUFFIX}${CMAKE_LINK_LIBRARY_SUFFIX}")
|
set(LIB_SUFFIX "${IE_BUILD_POSTFIX}${CMAKE_LINK_LIBRARY_SUFFIX}")
|
||||||
else()
|
else()
|
||||||
set(LIB_SUFFIX "${BUILD_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
set(LIB_SUFFIX "${IE_BUILD_POSTFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set("${LIBRARY_NAME}" "${CMAKE_SHARED_MODULE_PREFIX}${TARGET_NAME}${LIB_SUFFIX}" PARENT_SCOPE)
|
set("${LIBRARY_NAME}" "${CMAKE_SHARED_MODULE_PREFIX}${TARGET_NAME}${LIB_SUFFIX}" PARENT_SCOPE)
|
||||||
@ -20,7 +14,7 @@ endfunction()
|
|||||||
|
|
||||||
function(get_lib_path OUTPUT_DIR FINAL_OUTPUT_DIR)
|
function(get_lib_path OUTPUT_DIR FINAL_OUTPUT_DIR)
|
||||||
if(OV_GENERATOR_MULTI_CONFIG)
|
if(OV_GENERATOR_MULTI_CONFIG)
|
||||||
set(OUTPUT_DIR "${OUTPUT_DIR}/${CMAKE_BUILD_TYPE}")
|
set(OUTPUT_DIR "${OUTPUT_DIR}/$<CONFIG>")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set("${FINAL_OUTPUT_DIR}" "${OUTPUT_DIR}" PARENT_SCOPE)
|
set("${FINAL_OUTPUT_DIR}" "${OUTPUT_DIR}" PARENT_SCOPE)
|
||||||
@ -55,11 +49,12 @@ target_include_directories(OpenCL INTERFACE
|
|||||||
|
|
||||||
# The following variables are needed to make find_package(OpenCL) work
|
# The following variables are needed to make find_package(OpenCL) work
|
||||||
|
|
||||||
get_lib_path("${OUTPUT_ROOT}/${BIN_FOLDER}" OPENCL_LIB_DIR)
|
get_lib_path("${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" OPENCL_LIB_DIR)
|
||||||
get_lib_name("OpenCL" OPENCL_LIB_NAME)
|
get_lib_name("OpenCL" OPENCL_LIB_NAME)
|
||||||
|
|
||||||
set(OpenCL_INCLUDE_DIR "${OPENCL_ICD_LOADER_HEADERS_DIR}" PARENT_SCOPE)
|
set(OpenCL_INCLUDE_DIR "${OPENCL_ICD_LOADER_HEADERS_DIR}" PARENT_SCOPE)
|
||||||
set(OpenCL_LIBRARY "${OPENCL_LIB_DIR}/${OPENCL_LIB_NAME}" PARENT_SCOPE)
|
set(OpenCL_LIBRARY "${OPENCL_LIB_DIR}/${OPENCL_LIB_NAME}" PARENT_SCOPE)
|
||||||
|
set(opencl_root_hints "${OpenCL_INCLUDE_DIR}" PARENT_SCOPE)
|
||||||
|
|
||||||
# installation
|
# installation
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user