enable CMAKE_COMPILE_WARNING_AS_ERROR on windows (#23267)

### Details:
 - *enable CMAKE_COMPILE_WARNING_AS_ERROR on windows*

### Tickets:
 - *CVS-120604*
This commit is contained in:
Fang Xu 2024-03-15 13:34:54 +08:00 committed by GitHub
parent 7a1cd37b9d
commit 3a4d1ff4dd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 34 additions and 4 deletions

View File

@ -152,7 +152,7 @@ jobs:
-DBUILD_nvidia_plugin=OFF `
-DBUILD_SHARED_LIBS=ON `
-DENABLE_TESTS=ON `
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF `
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON `
-DENABLE_STRICT_DEPENDENCIES=OFF `
-DENABLE_PYTHON=ON `
-DCMAKE_DISABLE_FIND_PACKAGE_PkgConfig=ON `

View File

@ -75,6 +75,17 @@ macro(ov_dev_package_no_errors)
endif()
endif()
if (CMAKE_COMPILE_WARNING_AS_ERROR AND WIN32)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
if(CMAKE_VERSION VERSION_LESS 3.24)
string(REPLACE "/WX" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE "/WX" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
endif()
string(REPLACE "/WX" "" CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
endif()
set(CMAKE_COMPILE_WARNING_AS_ERROR OFF)
endif()
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${ov_c_cxx_dev_no_errors} ${ov_cxx_dev_no_errors}")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${ov_c_cxx_dev_no_errors}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ov_c_cxx_dev_no_errors} ${ov_cxx_dev_no_errors}")

View File

@ -18,7 +18,7 @@ else()
ov_option(USE_BUILD_TYPE_SUBFOLDER "Create dedicated sub-folder per build type for output binaries" ON)
endif()
if(DEFINED ENV{CI_BUILD_NUMBER} AND NOT (WIN32 OR CMAKE_CROSSCOMPILING))
if(DEFINED ENV{CI_BUILD_NUMBER} AND NOT CMAKE_CROSSCOMPILING)
set(CMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT ON)
else()
set(CMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT OFF)

View File

@ -83,6 +83,12 @@ if(ENABLE_ONEDNN_FOR_GPU)
set(onednn_gpu_lib "${CMAKE_STATIC_LIBRARY_PREFIX}${DNNL_GPU_LIBRARY_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(ONEDNN_GPU_LIB_PATH ${ONEDNN_INSTALL_DIR}/lib/${onednn_gpu_lib} CACHE FILEPATH "Path to oneDNN GPU library")
# remove CMAKE_COMPILE_WARNING_AS_ERROR for onednn_gpu
if(WIN32 AND CMAKE_COMPILE_WARNING_AS_ERROR AND CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND CMAKE_VERSION VERSION_LESS 3.24)
string(REPLACE "/WX" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE "/WX" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
endif()
ExternalProject_Add(onednn_gpu_build
# Directory Options:
PREFIX "${ONEDNN_PREFIX_DIR}"

View File

@ -65,12 +65,12 @@ protected:
}
ov::AnyMap config;
if (target_device.find("GPU") != std::string::npos) {
config.insert(ov::num_streams(num_streams));
config.insert(ov::num_streams(static_cast<int32_t>(num_streams)));
config.insert(ov::hint::inference_precision(ov::element::f32));
}
if (target_device.find("CPU") != std::string::npos) {
config.insert(ov::num_streams(num_streams));
config.insert(ov::num_streams(static_cast<int32_t>(num_streams)));
}
// minimize timeout to reduce test time
config.insert(ov::auto_batch_timeout(1));

View File

@ -9,7 +9,9 @@ elseif(CMAKE_TOOLCHAIN_FILE MATCHES "conan_toolchain" OR DEFINED CONAN_EXPORTED)
endif()
set(_old_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
set(_old_CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
set(_old_CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ${CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE})
set(_old_CMAKE_COMPILE_WARNING_AS_ERROR ${CMAKE_COMPILE_WARNING_AS_ERROR})
find_package(PkgConfig QUIET)
# see https://cmake.org/cmake/help/latest/command/add_library.html#alias-libraries
@ -23,6 +25,15 @@ if(SUGGEST_OVERRIDE_SUPPORTED)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-suggest-override")
endif()
# temporarily remove CMAKE_COMPILE_WARNING_AS_ERROR for thirdparty
if(CMAKE_COMPILE_WARNING_AS_ERROR AND WIN32)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND CMAKE_VERSION VERSION_LESS 3.24)
string(REPLACE "/WX" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE "/WX" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
endif()
set(CMAKE_COMPILE_WARNING_AS_ERROR OFF)
endif()
if(ENABLE_LTO)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON)
endif()
@ -581,4 +592,6 @@ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/cnpy
# restore state
set(CMAKE_CXX_FLAGS "${_old_CMAKE_CXX_FLAGS}")
set(CMAKE_C_FLAGS "${_old_CMAKE_C_FLAGS}")
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ${_old_CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE})
set(CMAKE_COMPILE_WARNING_AS_ERROR ${_old_CMAKE_COMPILE_WARNING_AS_ERROR})