Add RelWithAsserts VS configuration and use it for Azure CI

A copy of the Release configuration, except for omitting `-release`
(`<DebugCode>Default</DebugCode>`) [and not predefining NDEBUG for C++].
This commit is contained in:
Martin Kinkelin 2020-08-18 10:42:30 +02:00
parent 217f80933e
commit a468d13e97
3 changed files with 108 additions and 1 deletions

View file

@ -4,7 +4,7 @@ call "%VSINSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" %ARCH%
@echo on
set DMD_DIR=%cd%
if "%CONFIGURATION%" == "" set CONFIGURATION=Release
if "%CONFIGURATION%" == "" set CONFIGURATION=RelWithAsserts
set PLATFORM=Win32
set MODEL=32mscoff
if "%ARCH%"=="x64" set PLATFORM=x64
@ -92,6 +92,11 @@ set OS=windows
set CC=cl.exe
set DMD_MODEL=%PLATFORM%
set BUILD=%CONFIGURATION%
if "%BUILD%" == "RelWithAsserts" (
set BUILD=Release
mkdir %DMD_DIR%\generated\Windows\Release\%PLATFORM%
xcopy %DMD_DIR%\generated\Windows\RelWithAsserts\%PLATFORM% %DMD_DIR%\generated\Windows\Release\%PLATFORM% /s
)
set HOST_DMD=%DMD_DIR%\dmd2\windows\bin\dmd.exe
del phobos%MODEL%.lib

View file

@ -11,6 +11,8 @@ Global
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
RelWithAsserts|Win32 = RelWithAsserts|Win32
RelWithAsserts|x64 = RelWithAsserts|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C4DA4FAF-A928-4230-8353-E80C76F223E0}.Debug|Win32.ActiveCfg = Debug|Win32
@ -21,6 +23,10 @@ Global
{C4DA4FAF-A928-4230-8353-E80C76F223E0}.Release|Win32.Build.0 = Release|Win32
{C4DA4FAF-A928-4230-8353-E80C76F223E0}.Release|x64.ActiveCfg = Release|x64
{C4DA4FAF-A928-4230-8353-E80C76F223E0}.Release|x64.Build.0 = Release|x64
{C4DA4FAF-A928-4230-8353-E80C76F223E0}.RelWithAsserts|Win32.ActiveCfg = RelWithAsserts|Win32
{C4DA4FAF-A928-4230-8353-E80C76F223E0}.RelWithAsserts|Win32.Build.0 = RelWithAsserts|Win32
{C4DA4FAF-A928-4230-8353-E80C76F223E0}.RelWithAsserts|x64.ActiveCfg = RelWithAsserts|x64
{C4DA4FAF-A928-4230-8353-E80C76F223E0}.RelWithAsserts|x64.Build.0 = RelWithAsserts|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View file

@ -17,6 +17,14 @@
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="RelWithAsserts|Win32">
<Configuration>RelWithAsserts</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="RelWithAsserts|x64">
<Configuration>RelWithAsserts</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C4DA4FAF-A928-4230-8353-E80C76F223E0}</ProjectGuid>
@ -44,6 +52,12 @@
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithAsserts|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
@ -56,6 +70,12 @@
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithAsserts|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -67,12 +87,18 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='RelWithAsserts|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='RelWithAsserts|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
<_DCompilerExe Condition="'$(DCompiler)' == 'LDC' and '$(Platform)'=='x64'">$(LDCBinDir)ldmd2.exe -m64</_DCompilerExe>
<_DCompilerExe Condition="'$(DCompiler)' == 'LDC' and '$(Platform)'=='Win32'">$(LDCBinDir)ldmd2.exe -m32</_DCompilerExe>
@ -99,11 +125,21 @@
<OutDir>..\..\generated\Windows\$(Configuration)\$(PlatformName)\</OutDir>
<IntDir>$(OutDir)\dmd\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithAsserts|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\generated\Windows\$(Configuration)\$(PlatformName)\</OutDir>
<IntDir>$(OutDir)\dmd\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\generated\Windows\$(Configuration)\$(PlatformName)\</OutDir>
<IntDir>$(OutDir)\dmd\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithAsserts|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\generated\Windows\$(Configuration)\$(PlatformName)\</OutDir>
<IntDir>$(OutDir)\dmd\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
@ -184,6 +220,37 @@
<DebugInfo>Mago</DebugInfo>
</DCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='RelWithAsserts|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
<StackReserveSize>8388608</StackReserveSize>
<AdditionalOptions>$(ExternalLinkerOptions) %(AdditionalOptions)</AdditionalOptions>
<LargeAddressAware>true</LargeAddressAware>
</Link>
<DCompile>
<VersionIdentifiers>MARS</VersionIdentifiers>
<StringImportPaths>../dmd/res;$(OutDir)</StringImportPaths>
<CompilationModel>Package</CompilationModel>
<ImportPaths>..</ImportPaths>
<Optimizer>true</Optimizer>
<Inliner>true</Inliner>
<DebugCode>Default</DebugCode>
<DebugInfo>Mago</DebugInfo>
</DCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
@ -213,6 +280,35 @@
<DebugInfo>Mago</DebugInfo>
</DCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='RelWithAsserts|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<StackReserveSize>8388608</StackReserveSize>
<AdditionalOptions>$(ExternalLinkerOptions) %(AdditionalOptions)</AdditionalOptions>
</Link>
<DCompile>
<VersionIdentifiers>MARS</VersionIdentifiers>
<StringImportPaths>../dmd/res;$(OutDir)</StringImportPaths>
<CompilationModel>Package</CompilationModel>
<ImportPaths>..</ImportPaths>
<Optimizer>true</Optimizer>
<Inliner>true</Inliner>
<DebugCode>Default</DebugCode>
<DebugInfo>Mago</DebugInfo>
</DCompile>
</ItemDefinitionGroup>
<ItemGroup>
<DCompile Include="../dmd/**/*.d" Exclude="../dmd/frontend.d;../dmd/asttypename.d" />
</ItemGroup>