From ad6d78b90c07f59158bdd0712ba447b9b27fc449 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Thu, 13 Aug 2026 04:13:27 -0600 Subject: [PATCH 1/2] Remove explicit default of `DebugInformationFormat` for `Release` configs For `Release` configurations (`UseDebugLibraries` not set to `true`) the `DebugInformationFormat` setting defaults to `ProgramDatabase`. Technically, the default for any configuration is `ProgramDatabase`, however, for `Debug` configurations (`UseDebugLibraries` set to `true`) there can be an additional override that changes the value when not specified. For the `Release` configurations there is no additional override, so the `ProgramDatabase` value will be retained. --- OP2UtilityTest/OP2UtilityTest.vcxproj | 2 -- 1 file changed, 2 deletions(-) diff --git a/OP2UtilityTest/OP2UtilityTest.vcxproj b/OP2UtilityTest/OP2UtilityTest.vcxproj index 295a2ddb..4968161f 100644 --- a/OP2UtilityTest/OP2UtilityTest.vcxproj +++ b/OP2UtilityTest/OP2UtilityTest.vcxproj @@ -85,7 +85,6 @@ GTEST_LINKED_AS_SHARED_LIBRARY;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) Level4 - ProgramDatabase ..\OP2Utility\src;%(AdditionalIncludeDirectories) stdcpp20 @@ -101,7 +100,6 @@ GTEST_LINKED_AS_SHARED_LIBRARY;X64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) Level4 - ProgramDatabase ..\OP2Utility\src;%(AdditionalIncludeDirectories) stdcpp20 From 70fd1505e672eeff05113b86e544452dc27a6d63 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Thu, 13 Aug 2026 04:16:58 -0600 Subject: [PATCH 2/2] Remove explicit `DebugInformationFormat` setting for `Debug` configs This effectively changes the setting to `EditAndContinue` for `Debug` configurations. Normally when `DebugInformationFormat` is not specified it defaults to `ProgramDatabase`. However, when `UseDebugLibraries` is set to `true` there may be an additional override to `EditAndContinue`, which is the expected value here. The details are a little more involved. When `DebugInformationFormat` is set explicitly, then `DebugInformationFormatDefined` is set to `true`. Then if `DebugInformationFormat` is unset it is defaulted to `ProgramDatabase`. Later on, when `DebugInformationFormatDefined` is not set to `true` and `UseDebugLibraries` is set to `true` then the `DebugInformationFormat` setting may be updated to `EditAndContinue`. This later check also depends on a few other settings such as `EnableASAN` and `CLRSupport`. Effectively by not explicitly setting `DebugInformationFormat`, we can get additional support for Edit and Continue features for `Debug` configurations, assuming other settings don't prevent that support. --- OP2Utility/OP2Utility.vcxproj | 2 -- OP2UtilityTest/OP2UtilityTest.vcxproj | 2 -- 2 files changed, 4 deletions(-) diff --git a/OP2Utility/OP2Utility.vcxproj b/OP2Utility/OP2Utility.vcxproj index 8833c232..a67671ce 100644 --- a/OP2Utility/OP2Utility.vcxproj +++ b/OP2Utility/OP2Utility.vcxproj @@ -75,7 +75,6 @@ Level4 - ProgramDatabase false stdcpp20 @@ -83,7 +82,6 @@ Level4 - ProgramDatabase false stdcpp20 diff --git a/OP2UtilityTest/OP2UtilityTest.vcxproj b/OP2UtilityTest/OP2UtilityTest.vcxproj index 4968161f..278e9384 100644 --- a/OP2UtilityTest/OP2UtilityTest.vcxproj +++ b/OP2UtilityTest/OP2UtilityTest.vcxproj @@ -57,7 +57,6 @@ EnableFastChecks Level4 ..\OP2Utility\src;%(AdditionalIncludeDirectories) - ProgramDatabase stdcpp20 @@ -72,7 +71,6 @@ EnableFastChecks Level4 ..\OP2Utility\src;%(AdditionalIncludeDirectories) - ProgramDatabase stdcpp20