diff --git a/cmake/QtHeadersClean.cmake b/cmake/QtHeadersClean.cmake index ef8322657a5..d04a80d948d 100644 --- a/cmake/QtHeadersClean.cmake +++ b/cmake/QtHeadersClean.cmake @@ -185,6 +185,9 @@ function(qt_internal_add_headersclean_target module_target module_headers) # and violate the standards. set(hcleanFLAGS -std:c++latest -Zc:__cplusplus -WX -W3) + # Because we now add `-DNOMINMAX` to `PlatformCommonInternal`. + set(hcleanUDEFS -UNOMINMAX) + # cl.exe needs a source path get_filename_component(source_path "${QT_MKSPECS_DIR}/features/data/dummy.cpp" REALPATH) @@ -195,6 +198,7 @@ function(qt_internal_add_headersclean_target module_target module_headers) "${hcleanFLAGS}" "${target_includes_joined_genex}" "${hcleanDEFS}" + "${hcleanUDEFS}" ) string(JOIN " " compiler_command_line_variables "-FI" diff --git a/cmake/QtInternalTargets.cmake b/cmake/QtInternalTargets.cmake index 90f2d63d34d..c5a1e9b7f28 100644 --- a/cmake/QtInternalTargets.cmake +++ b/cmake/QtInternalTargets.cmake @@ -168,6 +168,8 @@ if(WIN32) # Needed for M_PI define. Same as mkspecs/features/qt_module.prf. # It's set for every module being built, but it's not propagated to user apps. target_compile_definitions(PlatformModuleInternal INTERFACE _USE_MATH_DEFINES) + # Not disabling min/max macros may result in unintended substitutions of std::min/max + target_compile_definitions(PlatformCommonInternal INTERFACE NOMINMAX) endif() if(FEATURE_largefile AND UNIX) target_compile_definitions(PlatformCommonInternal