Solve warnings with PDB flags override (#3296)

* resolve clash of tests compile pdb file names

* Solving problem using different way

* resolve duplicate flags for gtest
This commit is contained in:
Konstantin Satunin authored and GitHub committed 2020-11-27 18:16:45 +03:00
1 parent 1a94d08d3d
commit 083302dfb6
6 files changed
+41 -8

No files matched your search

+6 -4
View File
@@ -253,10 +253,12 @@ if(WIN32)
ie_add_compiler_flags(/Qdiag-disable:161,177,556,1744,1879,2586,2651,3180,11075,15335)
endif()
# Debug information flags
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /Z7")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Z7")
# Debug information flags, by default CMake adds /Zi option
# but provides no way to specify CMAKE_COMPILE_PDB_NAME on root level
# In order to avoid issues with ninja we are replacing default flag instead of having two of them
# and observing warning D9025 about flag override
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
else()
# TODO: enable for C sources as well
# ie_add_compiler_flags(-Werror)
+7 -4
View File
@@ -29,6 +29,9 @@ if(NOT ENABLE_DOCKER)
foreach(target_name IN LISTS all_docs_targets)
if (TARGET ${target_name})
set_target_properties(${target_name} PROPERTIES FOLDER docs)
if(WIN32)
set_target_properties(${target_name} PROPERTIES COMPILE_PDB_NAME ${target_name})
endif()
endif()
endforeach()
endif()
@@ -67,10 +70,10 @@ function(build_docs)
file(GLOB_RECURSE doc_source_files
LIST_DIRECTORIES true RELATIVE ${OpenVINO_MAIN_SOURCE_DIR}
"${OpenVINO_MAIN_SOURCE_DIR}/docs/*.md"
"${OpenVINO_MAIN_SOURCE_DIR}/docs/*.png"
"${OpenVINO_MAIN_SOURCE_DIR}/docs/*.gif"
"${OpenVINO_MAIN_SOURCE_DIR}/docs/*.jpg"
"${OpenVINO_MAIN_SOURCE_DIR}/docs/*.md"
"${OpenVINO_MAIN_SOURCE_DIR}/docs/*.png"
"${OpenVINO_MAIN_SOURCE_DIR}/docs/*.gif"
"${OpenVINO_MAIN_SOURCE_DIR}/docs/*.jpg"
"${OpenVINO_MAIN_SOURCE_DIR}/inference-engine/*.md"
"${OpenVINO_MAIN_SOURCE_DIR}/inference-engine/*.png"
"${OpenVINO_MAIN_SOURCE_DIR}/inference-engine/*.gif"
@@ -126,6 +126,11 @@ function(addIeTarget)
ie_developer_export_targets(${ARG_NAME} ${ARG_EXPORT_DEPENDENCIES})
endif()
endif()
if(WIN32)
# Provide default compile pdb name equal to target name
set_target_properties(${ARG_NAME} PROPERTIES COMPILE_PDB_NAME ${ARG_NAME})
endif()
endfunction()
#[[
@@ -38,6 +38,9 @@ ie_add_api_validator_post_build_step(TARGET ${TARGET_NAME})
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO})
if(WIN32)
set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME})
endif()
# code style
add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
@@ -163,6 +163,10 @@ function(ie_headers_compilation_with_custom_flags)
target_compile_definitions(${target_name} PRIVATE ${IE_TEST_DEFINITIONS})
endif()
if(WIN32)
set_target_properties(${target_name} PROPERTIES COMPILE_PDB_NAME ${target_name})
endif()
add_dependencies(${TARGET_NAME} ${target_name})
endfunction()
@@ -23,6 +23,22 @@ function(add_gtest_libraries)
get_target_property(gmock_include_dirs gtest INTERFACE_INCLUDE_DIRECTORIES)
set_target_properties(gmock PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${gmock_include_dirs};${gmock_SOURCE_DIR}/include")
# If we have specified /Z7 option, remove -Zi option which comes from gtest
if (WIN32)
set(gtest_targets "gtest;gtest_main;gmock;gmock_main")
foreach(target_name ${gtest_targets})
if(TARGET "${target_name}")
get_target_property(_target_cxx_flags ${target_name} COMPILE_FLAGS)
if(_target_cxx_flags)
if(CMAKE_CXX_FLAGS_DEBUG MATCHES ".+/Z7.+")
string(REPLACE "-Zi" " " _target_cxx_flags ${_target_cxx_flags})
message(STATUS "Removing -Zi flag from target " ${target_name})
set_target_properties(${target_name} PROPERTIES COMPILE_FLAGS "${_target_cxx_flags}")
endif()
endif()
endif()
endforeach()
endif()
set_target_properties(gtest gtest_main gmock gmock_main
PROPERTIES FOLDER thirdparty)
endfunction()