From 2dc933fd41a4079feedba6276ef96a020ecd3cb8 Mon Sep 17 00:00:00 2001 From: reuk Date: Thu, 6 Feb 2025 13:45:09 +0000 Subject: [PATCH] CMake: Make juce_recommended_config_flags CMP0141 aware --- extras/Build/CMake/JUCEHelperTargets.cmake | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) 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"))