used native LTO support from cmake 3.9.6 (#2625)
* used native LTO support from cmake 3.9.6 * Removed compilation flags push / pop * Fixes * Fixes for VPU unit tests * Temp WA for old gcc
This commit is contained in:
parent
72d387c702
commit
82d0aaf1dd
@ -89,15 +89,8 @@ function(build_ngraph)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4308 /wd4146 /wd4703 /wd4244 /wd4819")
|
||||
endif()
|
||||
|
||||
# Preserve the original flags for further use
|
||||
set(CMAKE_ORIGINAL_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
set(CMAKE_ORIGINAL_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
|
||||
set(CMAKE_ORIGINAL_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
|
||||
set(CMAKE_ORIGINAL_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
|
||||
set(CMAKE_ORIGINAL_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE}")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON)
|
||||
endif()
|
||||
|
||||
ie_cpack_add_component(ngraph)
|
||||
|
@ -2,6 +2,8 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH
|
||||
"${OpenVINO_MAIN_SOURCE_DIR}/cmake/download"
|
||||
"${OpenVINO_MAIN_SOURCE_DIR}/cmake/cross_compile"
|
||||
@ -214,6 +216,22 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0054 NEW)
|
||||
|
||||
# LTO
|
||||
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0069 NEW)
|
||||
include(CheckIPOSupported)
|
||||
|
||||
check_ipo_supported(RESULT IPO_SUPPORTED
|
||||
OUTPUT OUTPUT_MESSAGE
|
||||
LANGUAGES C CXX)
|
||||
|
||||
if(NOT IPO_SUPPORTED)
|
||||
set(ENABLE_LTO "OFF" CACHE STRING "Enable Link Time Optmization" FORCE)
|
||||
message(WARNING "IPO / LTO is not supported: ${OUTPUT_MESSAGE}")
|
||||
endif()
|
||||
|
||||
# General flags
|
||||
|
||||
include(sdl)
|
||||
include(os_flags)
|
||||
include(sanitizer)
|
||||
|
@ -21,7 +21,7 @@ ie_dependent_option (ENABLE_CLDNN "clDnn based plugin for inference engine" ON "
|
||||
|
||||
# FIXME: there are compiler failures with LTO and Cross-Compile toolchains. Disabling for now, but
|
||||
# this must be addressed in a proper way
|
||||
ie_dependent_option (ENABLE_LTO "Enable Link Time Optimization" OFF "LINUX OR WIN32;NOT CMAKE_CROSSCOMPILING" OFF)
|
||||
ie_dependent_option (ENABLE_LTO "Enable Link Time Optimization" OFF "LINUX OR WIN32;NOT CMAKE_CROSSCOMPILING; CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9" OFF)
|
||||
|
||||
ie_option (OS_FOLDER "create OS dedicated folder in output" OFF)
|
||||
|
||||
|
@ -130,40 +130,7 @@ endfunction()
|
||||
# Enables Link Time Optimization compilation
|
||||
#
|
||||
macro(ie_enable_lto)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND OFF)
|
||||
ProcessorCount(N)
|
||||
if(UNIX)
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ipo")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ipo")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -ipo-jobs${N}")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -ipo-jobs${N}")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} -ipo-jobs${N}")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Qipo")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /Qipo")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /Qipo-jobs:${N}")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /Qipo-jobs:${N}")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /Qipo-jobs:${N}")
|
||||
endif()
|
||||
elseif(UNIX)
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -flto")
|
||||
# LTO causes issues with gcc 4.8.5 during cmake pthread check
|
||||
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9)
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -flto")
|
||||
endif()
|
||||
|
||||
# modify runlib and ar tools
|
||||
if(LINUX)
|
||||
set(CMAKE_AR "gcc-ar")
|
||||
set(CMAKE_RANLIB "gcc-ranlib")
|
||||
endif()
|
||||
elseif(MSVC AND OFF)
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GL")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG:STATUS")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG:STATUS")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG:STATUS")
|
||||
endif()
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON)
|
||||
endmacro()
|
||||
|
||||
#
|
||||
|
@ -14,12 +14,12 @@ find_package(InferenceEngineDeveloperPackage REQUIRED)
|
||||
add_subdirectory(src)
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
include(CTest)
|
||||
enable_testing()
|
||||
include(CTest)
|
||||
enable_testing()
|
||||
|
||||
if(ENABLE_FUNCTIONAL_TESTS)
|
||||
add_subdirectory(tests/functional)
|
||||
endif()
|
||||
if(ENABLE_FUNCTIONAL_TESTS)
|
||||
add_subdirectory(tests/functional)
|
||||
endif()
|
||||
endif()
|
||||
# [cmake:main]
|
||||
|
||||
|
@ -5,10 +5,6 @@
|
||||
# [cmake:plugin]
|
||||
set(TARGET_NAME "templatePlugin")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||
file(GLOB_RECURSE HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
||||
|
||||
@ -20,9 +16,7 @@ ie_add_plugin(NAME ${TARGET_NAME}
|
||||
VERSION_DEFINES_FOR template_plugin.cpp)
|
||||
|
||||
target_include_directories(${TARGET_NAME} PRIVATE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
|
||||
target_include_directories(${TARGET_NAME} PRIVATE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
"${IE_MAIN_TEMPLATE_PLUGIN_SOURCE_DIR}/include")
|
||||
|
||||
# link common Inference Engine libraries
|
||||
@ -36,6 +30,8 @@ target_link_libraries(${TARGET_NAME} PRIVATE
|
||||
IE::ngraph_backend
|
||||
IE::interpreter_backend)
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# ATTENTION: uncomment to register a plugin in the plugins.xml file
|
||||
# ie_register_plugins(MAIN_TARGET ${TARGET_NAME}
|
||||
# POSSIBLE_PLUGINS ${TARGET_NAME})
|
||||
|
@ -3,10 +3,6 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
if(ENABLE_LTO AND CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 9.0)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
# [cmake:functional_tests]
|
||||
set(TARGET_NAME templateFuncTests)
|
||||
|
||||
|
@ -20,7 +20,7 @@ endforeach()
|
||||
message(STATUS "The following CMake options are exported from Inference Engine Developer package")
|
||||
message("")
|
||||
foreach(option IN LISTS ie_options)
|
||||
message(" ${option}: ${${option}}")
|
||||
message(" ${option}: ${${option}}")
|
||||
endforeach()
|
||||
message("")
|
||||
|
||||
@ -50,7 +50,7 @@ list(APPEND CMAKE_MODULE_PATH "${OpenVINO_MAIN_SOURCE_DIR}/cmake")
|
||||
list(APPEND CMAKE_MODULE_PATH "${IE_MAIN_SOURCE_DIR}/cmake")
|
||||
|
||||
# generic stuff from developer package
|
||||
include(developer_package)
|
||||
include(developer_package NO_POLICY_SCOPE)
|
||||
include(developer_package_ie)
|
||||
|
||||
# Don't threat deprecated API warnings as errors in 3rd party apps
|
||||
|
@ -2,10 +2,6 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
set(TARGET_NAME inference_engine_c_api)
|
||||
|
||||
file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||
@ -21,6 +17,8 @@ target_include_directories(${TARGET_NAME} PUBLIC "${InferenceEngine_C_API_SOURCE
|
||||
|
||||
add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# export
|
||||
|
||||
export(TARGETS ${TARGET_NAME} NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets.cmake")
|
||||
|
@ -11,10 +11,6 @@ if (LINUX)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file(GLOB MAIN_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||
file(GLOB LIBRARY_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
|
||||
|
||||
@ -35,6 +31,8 @@ target_include_directories(${TARGET_NAME} PRIVATE
|
||||
${CLDNN__IOCL_ICD_INCDIRS}
|
||||
${CLDNN_TOP_FOLDER})
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# install
|
||||
|
||||
install(FILES "${clDNN_SOURCE_DIR}/kernel_selector/core/cache/cache.json"
|
||||
|
@ -3,10 +3,6 @@
|
||||
|
||||
set(TARGET_NAME "GNAPlugin")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||
|
||||
@ -53,11 +49,8 @@ target_link_libraries(${TARGET_NAME}_test_static PUBLIC inference_engine_preproc
|
||||
target_include_directories(${TARGET_NAME}_test_static PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set_target_properties(${TARGET_NAME}_test_static PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME}_test_static)
|
||||
|
||||
if(WIN32)
|
||||
# Correct 'jnl' macro/jit issue
|
||||
target_compile_options(${TARGET_NAME} PRIVATE $<$<CXX_COMPILER_ID:MSVC>:/bigobj> )
|
||||
target_compile_options(${TARGET_NAME}_test_static PRIVATE $<$<CXX_COMPILER_ID:MSVC>:/bigobj> )
|
||||
endif()
|
||||
set_target_properties(${TARGET_NAME} ${TARGET_NAME}_test_static
|
||||
PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# install
|
||||
|
||||
|
@ -4,16 +4,8 @@
|
||||
|
||||
set (TARGET_NAME "HeteroPlugin")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file(GLOB SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
||||
)
|
||||
|
||||
file(GLOB_RECURSE HEADERS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
||||
file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||
file(GLOB_RECURSE HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
||||
|
||||
ie_add_plugin(NAME ${TARGET_NAME}
|
||||
DEVICE_NAME "HETERO"
|
||||
@ -25,3 +17,5 @@ ie_faster_build(${TARGET_NAME}
|
||||
)
|
||||
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE inference_engine ade pugixml ${NGRAPH_LIBRARIES} inference_engine_transformations)
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
@ -4,10 +4,6 @@
|
||||
|
||||
set (TARGET_NAME "inference_engine")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file (GLOB LIBRARY_SRC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/threading/*.cpp
|
||||
@ -215,6 +211,11 @@ target_link_libraries(${TARGET_NAME}_s PRIVATE ${CMAKE_DL_LIBS} ${NGRAPH_LIBRARI
|
||||
|
||||
target_compile_definitions(${TARGET_NAME}_s PUBLIC USE_STATIC_IE)
|
||||
|
||||
# LTO
|
||||
|
||||
set_target_properties(${TARGET_NAME} ${TARGET_NAME}_obj ${TARGET_NAME}_s ${TARGET_NAME}_common_obj
|
||||
PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# export targets
|
||||
|
||||
export(TARGETS ${TARGET_NAME} NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets.cmake")
|
||||
|
@ -4,10 +4,6 @@
|
||||
|
||||
set(TARGET_NAME "inference_engine_legacy")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE LIBRARY_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
|
||||
file(GLOB_RECURSE PUBLIC_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/*.hpp ${CMAKE_CURRENT_SOURCE_DIR}/include/*.h)
|
||||
|
||||
@ -58,6 +54,11 @@ target_link_libraries(${TARGET_NAME} PRIVATE ${CMAKE_DL_LIBS} ${NGRAPH_LIBRARIES
|
||||
|
||||
add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
|
||||
|
||||
# LTO
|
||||
|
||||
set_target_properties(${TARGET_NAME} ${TARGET_NAME}_obj
|
||||
PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# export targets
|
||||
|
||||
export(TARGETS ${TARGET_NAME} NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets.cmake")
|
||||
|
@ -4,10 +4,6 @@
|
||||
|
||||
set (TARGET_NAME "inference_engine_lp_transformations")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
set(PUBLIC_HEADERS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
||||
|
||||
file(GLOB_RECURSE LIBRARY_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
|
||||
@ -35,10 +31,14 @@ target_compile_definitions(${TARGET_NAME} PRIVATE IMPLEMENT_INFERENCE_ENGINE_API
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE inference_engine openvino::itt)
|
||||
|
||||
target_include_directories(${TARGET_NAME} PUBLIC ${PUBLIC_HEADERS_DIR}
|
||||
$<TARGET_PROPERTY:inference_engine_plugin_api,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
$<TARGET_PROPERTY:inference_engine_plugin_api,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
|
||||
add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
|
||||
|
||||
# LTO
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# developer package
|
||||
|
||||
ie_developer_export_targets(${TARGET_NAME})
|
||||
|
@ -4,10 +4,6 @@
|
||||
|
||||
set(TARGET_NAME "MKLDNNPlugin")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNOMINMAX")
|
||||
endif()
|
||||
@ -205,6 +201,11 @@ set_ie_threading_interface_for(${TARGET_NAME}_obj)
|
||||
target_compile_definitions(${TARGET_NAME}_obj PUBLIC -DMKLDNN_THR=${MKLDNN_THR}
|
||||
PRIVATE USE_STATIC_IE IMPLEMENT_INFERENCE_ENGINE_PLUGIN)
|
||||
|
||||
# LTO
|
||||
|
||||
set_target_properties(${TARGET_NAME} ${TARGET_NAME}_obj
|
||||
PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# install
|
||||
|
||||
if(GEMM STREQUAL "MKL")
|
||||
|
@ -4,17 +4,8 @@
|
||||
|
||||
set (TARGET_NAME "MultiDevicePlugin")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file(GLOB SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
||||
)
|
||||
|
||||
file(GLOB HEADERS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp
|
||||
)
|
||||
file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||
file(GLOB HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
||||
|
||||
ie_add_plugin(NAME ${TARGET_NAME}
|
||||
DEVICE_NAME "MULTI"
|
||||
@ -24,3 +15,5 @@ ie_add_plugin(NAME ${TARGET_NAME}
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE inference_engine)
|
||||
|
||||
set_ie_threading_interface_for(${TARGET_NAME})
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
@ -4,10 +4,6 @@
|
||||
|
||||
set (TARGET_NAME "inference_engine_preproc")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file(GLOB LIBRARY_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||
file(GLOB LIBRARY_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
||||
|
||||
@ -187,6 +183,11 @@ target_link_libraries(${TARGET_NAME}_s PRIVATE fluid openvino::itt
|
||||
|
||||
target_compile_definitions(${TARGET_NAME}_s INTERFACE USE_STATIC_IE)
|
||||
|
||||
# LTO
|
||||
|
||||
set_target_properties(${TARGET_NAME} ${TARGET_NAME}_obj ${TARGET_NAME}_s
|
||||
PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# developer package
|
||||
|
||||
ie_developer_export_targets(${TARGET_NAME})
|
||||
|
@ -4,10 +4,6 @@
|
||||
|
||||
set(TARGET_NAME "inference_engine_ir_reader")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE LIBRARY_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
||||
|
||||
@ -37,6 +33,8 @@ target_link_libraries(${TARGET_NAME} PRIVATE ${NGRAPH_LIBRARIES}
|
||||
pugixml
|
||||
openvino::itt)
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# code style
|
||||
|
||||
add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
|
||||
|
@ -4,10 +4,6 @@
|
||||
|
||||
set(TARGET_NAME "inference_engine_ir_v7_reader")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE LIBRARY_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
||||
@ -35,6 +31,8 @@ target_include_directories(${TARGET_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/"
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE inference_engine_reader_api inference_engine_plugin_api
|
||||
inference_engine pugixml openvino::itt)
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# code style
|
||||
|
||||
add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
|
||||
|
@ -4,10 +4,6 @@
|
||||
|
||||
set(TARGET_NAME "inference_engine_onnx_reader")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE LIBRARY_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
||||
|
||||
@ -26,6 +22,8 @@ target_compile_definitions(${TARGET_NAME} PRIVATE IMPLEMENT_INFERENCE_ENGINE_PLU
|
||||
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE inference_engine_reader_api onnx_importer inference_engine)
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# code style
|
||||
|
||||
add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
|
||||
|
@ -4,10 +4,6 @@
|
||||
|
||||
set(TARGET_NAME "inference_engine_transformations")
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE LIBRARY_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
|
||||
file(GLOB_RECURSE PUBLIC_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/*.hpp)
|
||||
|
||||
@ -36,6 +32,10 @@ target_include_directories(${TARGET_NAME} PUBLIC ${PUBLIC_HEADERS_DIR}
|
||||
|
||||
add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
|
||||
|
||||
# LTO
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# developer package
|
||||
|
||||
ie_developer_export_targets(${TARGET_NAME})
|
||||
|
@ -14,9 +14,9 @@ if(ENABLE_MYRIAD)
|
||||
"${IE_MAIN_SOURCE_DIR}/thirdparty/movidius"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/thirdparty/movidius")
|
||||
|
||||
#
|
||||
# Build plugins
|
||||
#
|
||||
#
|
||||
# Build plugins
|
||||
#
|
||||
|
||||
add_subdirectory(myriad_plugin)
|
||||
|
||||
|
@ -2,10 +2,6 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE SOURCES *.cpp *.hpp *.h)
|
||||
|
||||
function(add_common_target TARGET_NAME STATIC_IE)
|
||||
@ -51,6 +47,8 @@ function(add_common_target TARGET_NAME STATIC_IE)
|
||||
add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME} CUSTOM_FILTERS "+runtime/explicit")
|
||||
endif()
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
ie_developer_export_targets(${TARGET_NAME})
|
||||
|
||||
target_link_libraries(${TARGET_NAME} PUBLIC ${NGRAPH_LIBRARIES} inference_engine_transformations
|
||||
|
@ -2,10 +2,6 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE SOURCES *.cpp *.hpp *.h *.inc)
|
||||
|
||||
function(add_graph_transformer_target TARGET_NAME STATIC_IE)
|
||||
@ -59,6 +55,8 @@ function(add_graph_transformer_target TARGET_NAME STATIC_IE)
|
||||
|
||||
ie_developer_export_targets(${TARGET_NAME})
|
||||
endif()
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
endfunction()
|
||||
|
||||
add_graph_transformer_target("vpu_graph_transformer" FALSE)
|
||||
|
@ -2,10 +2,6 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
set(TARGET_NAME "myriadPlugin")
|
||||
|
||||
file(GLOB_RECURSE SOURCES *.cpp *.hpp *.h)
|
||||
@ -45,6 +41,10 @@ target_link_libraries(${TARGET_NAME}
|
||||
PRIVATE
|
||||
mvnc inference_engine vpu_graph_transformer)
|
||||
|
||||
# LTO
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
|
||||
# install
|
||||
|
||||
install(FILES ${IE_MAIN_SOURCE_DIR}/thirdparty/movidius/mvnc/src/97-myriad-usbboot.rules
|
||||
|
@ -2,10 +2,6 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
if(ENABLE_LTO AND CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 9.0)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
set(IE_TESTS_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
enable_testing()
|
||||
|
@ -23,3 +23,8 @@ addIeTargetTest(
|
||||
VPU
|
||||
MYRIAD
|
||||
)
|
||||
|
||||
# because vpu_common_lib and vpu_graph_transformer are compiled with LTO
|
||||
if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0)
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
endif()
|
||||
|
@ -5,6 +5,11 @@
|
||||
# RPATH is always enabled for unit tests
|
||||
set(CMAKE_SKIP_RPATH OFF)
|
||||
|
||||
# because unit tests use plugins object files compiled with LTO
|
||||
if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0)
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO})
|
||||
endif()
|
||||
|
||||
add_subdirectory(inference_engine)
|
||||
|
||||
if (ENABLE_MKL_DNN)
|
||||
|
@ -2,27 +2,33 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
disable_deprecated_warnings()
|
||||
|
||||
set(TARGET_NAME vpuUnitTests)
|
||||
|
||||
disable_deprecated_warnings()
|
||||
|
||||
include(${XLINK_DIR}/XLink.cmake)
|
||||
|
||||
addIeTargetTest(
|
||||
NAME ${TARGET_NAME}
|
||||
ROOT ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
ADDITIONAL_SOURCE_DIRS
|
||||
# because ngraphFunctions sources need to be compiled with LTO as well
|
||||
"${IE_TESTS_ROOT}/ngraph_functions/src"
|
||||
INCLUDES
|
||||
${IE_MAIN_SOURCE_DIR}/src/vpu/myriad_plugin
|
||||
${IE_MAIN_SOURCE_DIR}/thirdparty/movidius
|
||||
${IE_MAIN_SOURCE_DIR}/thirdparty/movidius/mvnc/include/watchdog
|
||||
${XLINK_INCLUDE}
|
||||
${XLINK_PLATFORM_INCLUDE}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/base/
|
||||
"${IE_MAIN_SOURCE_DIR}/src/vpu/myriad_plugin"
|
||||
"${IE_MAIN_SOURCE_DIR}/thirdparty/movidius"
|
||||
"${IE_MAIN_SOURCE_DIR}/thirdparty/movidius/mvnc/include/watchdog"
|
||||
"${XLINK_INCLUDE}"
|
||||
"${XLINK_PLATFORM_INCLUDE}"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/base"
|
||||
$<TARGET_PROPERTY:ngraphFunctions,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
LINK_LIBRARIES
|
||||
vpu_graph_transformer_test_static
|
||||
unitTestUtils
|
||||
ngraphFunctions
|
||||
mvnc
|
||||
${NGRAPH_LIBRARIES}
|
||||
ngraph_backend
|
||||
interpreter_backend
|
||||
ADD_CPPLINT
|
||||
LABELS
|
||||
VPU
|
||||
|
@ -2,10 +2,6 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
if(ENABLE_LTO AND CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 9.0)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
|
||||
enable_testing()
|
||||
|
||||
add_subdirectory(helpers)
|
||||
@ -22,8 +18,6 @@ if (ENABLE_BEH_TESTS)
|
||||
add_subdirectory(behavior)
|
||||
endif()
|
||||
|
||||
disable_deprecated_warnings()
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
add_subdirectory(unit)
|
||||
endif()
|
||||
|
@ -6,6 +6,8 @@ cmake_policy(SET CMP0054 NEW)
|
||||
|
||||
set(TARGET_NAME InferenceEngineUnitTests)
|
||||
|
||||
disable_deprecated_warnings()
|
||||
|
||||
# rpath enabled for unit tests only
|
||||
SET (CMAKE_SKIP_RPATH OFF)
|
||||
|
||||
@ -118,6 +120,11 @@ target_include_directories(${TARGET_NAME} PRIVATE
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME})
|
||||
|
||||
# because IE unit tests use plugin and IE object files compiled with LTO
|
||||
if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0)
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
|
||||
endif()
|
||||
|
||||
## Mock macros doesn't use "override" specificator
|
||||
target_compile_options(${TARGET_NAME} PRIVATE $<$<CXX_COMPILER_ID:Clang>: -Wno-error=inconsistent-missing-override >)
|
||||
target_compile_options(${TARGET_NAME} PRIVATE $<$<CXX_COMPILER_ID:AppleClang>: -Wno-error=inconsistent-missing-override >)
|
||||
|
131
inference-engine/thirdparty/CMakeLists.txt
vendored
131
inference-engine/thirdparty/CMakeLists.txt
vendored
@ -2,90 +2,85 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=unknown-warning-option -Wno-error=inconsistent-missing-override -Wno-error=pass-failed")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error=unknown-warning-option -Wno-error=inconsistent-missing-override -Wno-error=pass-failed")
|
||||
elseif(CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9.1)
|
||||
# On g++ 9.3.0 (Ubuntu 20.04) the ADE library raises "redundant-move" warnings
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=redundant-move")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error=redundant-move")
|
||||
elseif(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") AND ("${MSVC_VERSION}" VERSION_GREATER_EQUAL "1920"))
|
||||
elseif((CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") AND (MSVC_VERSION VERSION_GREATER_EQUAL "1920"))
|
||||
# 1920 version of MSVC 2019
|
||||
# This flagis needed for enabling SIMD vectorization with command '#pragma omp simd'.
|
||||
# Compilation with '/openmp:experimental' key allow us to enable vectorizatikon capability in MSVC.
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /openmp:experimental")
|
||||
endif()
|
||||
|
||||
function(build_with_lto)
|
||||
if(ENABLE_LTO)
|
||||
ie_enable_lto()
|
||||
endif()
|
||||
if(ENABLE_LTO)
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON)
|
||||
endif()
|
||||
|
||||
if (ENABLE_CLDNN)
|
||||
set(CLDNN__OUTPUT_BIN_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||
set(CLDNN__OUTPUT_LIB_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
||||
if (ENABLE_TESTS AND ENABLE_CLDNN_TESTS)
|
||||
set(CLDNN__INCLUDE_TESTS ON CACHE BOOL "" FORCE)
|
||||
set(CLDNN__INCLUDE_CORE_INTERNAL_TESTS ON CACHE BOOL "" FORCE)
|
||||
else()
|
||||
set(CLDNN__INCLUDE_TESTS OFF CACHE BOOL "" FORCE)
|
||||
set(CLDNN__INCLUDE_CORE_INTERNAL_TESTS OFF CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
set(CLDNN__INCLUDE_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||
set(CLDNN__INCLUDE_TUTORIAL OFF CACHE BOOL "" FORCE)
|
||||
if (WIN32)
|
||||
set(CLDNN__ARCHITECTURE_TARGET "Windows64" CACHE STRING "" FORCE)
|
||||
elseif (ANDROID)
|
||||
set(CLDNN__ARCHITECTURE_TARGET "Android64" CACHE STRING "" FORCE)
|
||||
else()
|
||||
set(CLDNN__ARCHITECTURE_TARGET "Linux64" CACHE STRING "" FORCE)
|
||||
endif()
|
||||
|
||||
add_subdirectory(clDNN)
|
||||
|
||||
# disable CLDNN docs build
|
||||
set_target_properties(docs PROPERTIES EXCLUDE_FROM_ALL ON
|
||||
FOLDER docs)
|
||||
endif()
|
||||
|
||||
function(ie_build_pugixml)
|
||||
set(BUILD_TESTS_current ${BUILD_TESTS})
|
||||
set(BUILD_TESTS OFF CACHE BOOL "Build tests" FORCE)
|
||||
add_subdirectory(pugixml)
|
||||
set(BUILD_TESTS ${BUILD_TESTS_current} CACHE BOOL "Build tests" FORCE)
|
||||
endfunction()
|
||||
|
||||
if (USE_SYSTEM_PUGIXML)
|
||||
find_package(PugiXML REQUIRED)
|
||||
set_property(TARGET pugixml PROPERTY IMPORTED_GLOBAL TRUE)
|
||||
if (ENABLE_CLDNN)
|
||||
set(CLDNN__OUTPUT_BIN_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||
set(CLDNN__OUTPUT_LIB_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
||||
if (ENABLE_TESTS AND ENABLE_CLDNN_TESTS)
|
||||
set(CLDNN__INCLUDE_TESTS ON CACHE BOOL "" FORCE)
|
||||
set(CLDNN__INCLUDE_CORE_INTERNAL_TESTS ON CACHE BOOL "" FORCE)
|
||||
else()
|
||||
ie_build_pugixml()
|
||||
target_include_directories(pugixml INTERFACE "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/pugixml/src>")
|
||||
set(CLDNN__INCLUDE_TESTS OFF CACHE BOOL "" FORCE)
|
||||
set(CLDNN__INCLUDE_CORE_INTERNAL_TESTS OFF CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
add_subdirectory(stb_lib)
|
||||
add_subdirectory(ade)
|
||||
add_subdirectory(fluid/modules/gapi)
|
||||
|
||||
set_target_properties(ade fluid stb_image
|
||||
PROPERTIES FOLDER thirdparty)
|
||||
|
||||
# developer package
|
||||
|
||||
ie_developer_export_targets(ade fluid)
|
||||
|
||||
if (NOT USE_SYSTEM_PUGIXML)
|
||||
set_target_properties(pugixml PROPERTIES FOLDER thirdparty)
|
||||
ie_developer_export_targets(pugixml)
|
||||
if(TARGET pugixml_mt)
|
||||
ie_developer_export_targets(pugixml_mt)
|
||||
set_target_properties(pugixml_mt PROPERTIES FOLDER thirdparty)
|
||||
endif()
|
||||
set(CLDNN__INCLUDE_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||
set(CLDNN__INCLUDE_TUTORIAL OFF CACHE BOOL "" FORCE)
|
||||
if (WIN32)
|
||||
set(CLDNN__ARCHITECTURE_TARGET "Windows64" CACHE STRING "" FORCE)
|
||||
elseif (ANDROID)
|
||||
set(CLDNN__ARCHITECTURE_TARGET "Android64" CACHE STRING "" FORCE)
|
||||
else()
|
||||
set(CLDNN__ARCHITECTURE_TARGET "Linux64" CACHE STRING "" FORCE)
|
||||
endif()
|
||||
|
||||
if(ENABLE_MKL_DNN)
|
||||
set(SDL_cmake_included ON)
|
||||
include(mkldnn.cmake)
|
||||
endif()
|
||||
add_subdirectory(clDNN)
|
||||
|
||||
# disable CLDNN docs build
|
||||
set_target_properties(docs PROPERTIES EXCLUDE_FROM_ALL ON FOLDER docs)
|
||||
endif()
|
||||
|
||||
function(ie_build_pugixml)
|
||||
set(BUILD_TESTS_current ${BUILD_TESTS})
|
||||
set(BUILD_TESTS OFF CACHE BOOL "Build tests" FORCE)
|
||||
add_subdirectory(pugixml)
|
||||
set(BUILD_TESTS ${BUILD_TESTS_current} CACHE BOOL "Build tests" FORCE)
|
||||
endfunction()
|
||||
|
||||
build_with_lto()
|
||||
if (USE_SYSTEM_PUGIXML)
|
||||
find_package(PugiXML REQUIRED)
|
||||
set_property(TARGET pugixml PROPERTY IMPORTED_GLOBAL TRUE)
|
||||
else()
|
||||
ie_build_pugixml()
|
||||
target_include_directories(pugixml INTERFACE "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/pugixml/src>")
|
||||
endif()
|
||||
|
||||
add_subdirectory(stb_lib)
|
||||
add_subdirectory(ade)
|
||||
add_subdirectory(fluid/modules/gapi)
|
||||
|
||||
set_target_properties(ade fluid stb_image PROPERTIES FOLDER thirdparty)
|
||||
|
||||
# developer package
|
||||
|
||||
ie_developer_export_targets(ade fluid)
|
||||
|
||||
if (NOT USE_SYSTEM_PUGIXML)
|
||||
set_target_properties(pugixml PROPERTIES FOLDER thirdparty)
|
||||
ie_developer_export_targets(pugixml)
|
||||
if(TARGET pugixml_mt)
|
||||
ie_developer_export_targets(pugixml_mt)
|
||||
set_target_properties(pugixml_mt PROPERTIES FOLDER thirdparty)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ENABLE_MKL_DNN)
|
||||
set(SDL_cmake_included ON)
|
||||
include(mkldnn.cmake)
|
||||
endif()
|
||||
|
@ -10,7 +10,7 @@ if (ENABLE_MYRIAD)
|
||||
endif()
|
||||
# LTO usage leads to a linker fail on CentOS with the old 4.8.5 compiler during XLinkTests
|
||||
if(ENABLE_LTO AND NOT ENABLE_TESTS AND NOT XLINK_OLD_48_COMPILER)
|
||||
ie_enable_lto()
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO})
|
||||
endif()
|
||||
|
||||
set(XLINK_DIR "${IE_MAIN_SOURCE_DIR}/thirdparty/movidius/XLink" CACHE PATH "path to Xlink")
|
||||
|
@ -20,27 +20,13 @@ include(FetchContent)
|
||||
# Download and install Google Protobuf ...
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Since this file is going to be modifying CMAKE_*_FLAGS we need to preserve
|
||||
# it so we won't overwrite the caller's CMAKE_*_FLAGS
|
||||
set(PUSH_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
|
||||
set(PUSH_CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
set(PUSH_CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
|
||||
set(PUSH_CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
|
||||
set(PUSH_CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
|
||||
set(PUSH_CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE}")
|
||||
|
||||
set(CMAKE_CXX_FLAGS ${CMAKE_ORIGINAL_CXX_FLAGS})
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_ORIGINAL_CXX_FLAGS_RELEASE}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_ORIGINAL_C_FLAGS_RELEASE}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_ORIGINAL_EXE_LINKER_FLAGS_RELEASE}")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_ORIGINAL_SHARED_LINKER_FLAGS_RELEASE}")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_ORIGINAL_MODULE_LINKER_FLAGS_RELEASE}")
|
||||
set(PUSH_CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE "${CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE}")
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE OFF)
|
||||
|
||||
if (MSVC)
|
||||
string(REPLACE "/W3" "/W0" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
set(protobuf_MSVC_STATIC_RUNTIME OFF CACHE BOOL "")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error -fno-lto")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error")
|
||||
endif()
|
||||
|
||||
# This version of PROTOBUF is required by Microsoft ONNX Runtime.
|
||||
@ -168,10 +154,5 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Now make sure we restore the original CMAKE_*_FLAGS for the caller
|
||||
set(CMAKE_CXX_FLAGS ${PUSH_CMAKE_CXX_FLAGS})
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${PUSH_CMAKE_CXX_FLAGS_RELEASE}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${PUSH_CMAKE_C_FLAGS_RELEASE}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${PUSH_CMAKE_EXE_LINKER_FLAGS_RELEASE}")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${PUSH_CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${PUSH_CMAKE_MODULE_LINKER_FLAGS_RELEASE}")
|
||||
# Now make sure we restore the original flags
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE "${PUSH_CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE}")
|
||||
|
Loading…
Reference in New Issue
Block a user