From 9eab122952fc8c595198c4efb609b2cfbdb7a632 Mon Sep 17 00:00:00 2001 From: Ilya Churaev Date: Fri, 24 Mar 2023 13:55:42 +0400 Subject: [PATCH] Disable QSpectre flag by default (#16526) --- cmake/developer_package/compile_flags/os_flags.cmake | 2 -- cmake/developer_package/compile_flags/sdl.cmake | 3 +++ cmake/developer_package/features.cmake | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cmake/developer_package/compile_flags/os_flags.cmake b/cmake/developer_package/compile_flags/os_flags.cmake index c15d22b3d48..03564d6b142 100644 --- a/cmake/developer_package/compile_flags/os_flags.cmake +++ b/cmake/developer_package/compile_flags/os_flags.cmake @@ -389,8 +389,6 @@ if(WIN32) ie_add_compiler_flags(/Qdiag-disable:161,177,556,1744,1879,2586,2651,3180,11075,15335) endif() - ie_add_compiler_flags(/Qspectre) - # 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 diff --git a/cmake/developer_package/compile_flags/sdl.cmake b/cmake/developer_package/compile_flags/sdl.cmake index 7e992f6b9cd..3973ba74db6 100644 --- a/cmake/developer_package/compile_flags/sdl.cmake +++ b/cmake/developer_package/compile_flags/sdl.cmake @@ -50,6 +50,9 @@ else() if(ENABLE_INTEGRITYCHECK) set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /INTEGRITYCHECK") endif() + if(ENABLE_QSPECTRE) + ie_add_compiler_flags(/Qspectre) + endif() endif() set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${IE_C_CXX_FLAGS}") diff --git a/cmake/developer_package/features.cmake b/cmake/developer_package/features.cmake index cc1406a24c1..b6bc479fb06 100644 --- a/cmake/developer_package/features.cmake +++ b/cmake/developer_package/features.cmake @@ -26,6 +26,8 @@ endif() ie_option (CMAKE_COMPILE_WARNING_AS_ERROR "Enable warnings as errors" ${CMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT}) +ie_dependent_option (ENABLE_QSPECTRE "Enable Qspectre mitigation" OFF "CMAKE_CXX_COMPILER_ID STREQUAL MSVC" OFF) + ie_dependent_option (ENABLE_INTEGRITYCHECK "build DLLs with /INTEGRITYCHECK flag" OFF "CMAKE_CXX_COMPILER_ID STREQUAL MSVC" OFF) ie_option (ENABLE_SANITIZER "enable checking memory errors via AddressSanitizer" OFF)