diff --git a/extras/Build/CMake/JUCEHelperTargets.cmake b/extras/Build/CMake/JUCEHelperTargets.cmake index 051296daea..e82dc69806 100644 --- a/extras/Build/CMake/JUCEHelperTargets.cmake +++ b/extras/Build/CMake/JUCEHelperTargets.cmake @@ -120,7 +120,22 @@ add_library(juce::juce_recommended_config_flags ALIAS juce_recommended_config_fl if((CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") OR (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")) _juce_get_debug_config_genex(debug_config) target_compile_options(juce_recommended_config_flags INTERFACE - $ $<$:/MP> /EHsc) + $ $<$:/MP> /EHsc) + + set(needs_debug_flag TRUE) + + if(POLICY CMP0141) + set(policy_state) + cmake_policy(GET CMP0141 policy_state) + + if("${policy_state}" STREQUAL "NEW") + set(needs_debug_flag FALSE) + endif() + endif() + + if(needs_debug_flag) + target_compile_options(juce_recommended_config_flags INTERFACE $<${debug_config}:/Zi>) + endif() elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))