Delphi 2009 MS Build headaches

Does anyone know of a good description of the delphi build system? (I know this with MS Build.) I am using delphi 2009.

I would like to set up a Debug assembly configuration option that (often) has different definitions (d2009 seems to call them preprocessor symbols).

The problem I am facing is that even though I have disabled inherit for Base and Debug, you have only very limited control. For example, I cannot get rid of FastMM _.

    <PropertyGroup>
        <ProjectGuid>{D7FE7347-8E2C-438C-A275-38B8DA9244B0}</ProjectGuid>
        <ProjectVersion>12.0</ProjectVersion>
        <MainSource>oca.dpr</MainSource>
        <Config Condition="'$(Config)'==''">Debug</Config>
        <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
        <Base>true</Base>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
        <Cfg_1>true</Cfg_1>
        <CfgParent>Base</CfgParent>
        <Base>true</Base>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
        <Cfg_2>true</Cfg_2>
        <CfgParent>Base</CfgParent>
        <Base>true</Base>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Base)'!=''">
        <DCC_StringChecks>off</DCC_StringChecks>
        <DCC_MinimumEnumSize>4</DCC_MinimumEnumSize>
        <DCC_RangeChecking>true</DCC_RangeChecking>
        <DCC_IntegerOverflowCheck>true</DCC_IntegerOverflowCheck>
        <DCC_UNIT_PLATFORM>false</DCC_UNIT_PLATFORM>
        <DCC_SYMBOL_PLATFORM>false</DCC_SYMBOL_PLATFORM>
        <DCC_DcuOutput>.\dcu</DCC_DcuOutput>
        <DCC_UnitSearchPath>C:\Prj\Lib\AutoQADocking\Delphi2009.Win32\Lib;$(BDS)\Source\DUnit\src;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
        <DCC_Optimize>false</DCC_Optimize>
        <DCC_DependencyCheckOutputName>oca.exe</DCC_DependencyCheckOutputName>
        <DCC_ImageBase>00400000</DCC_ImageBase>
        <DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias)</DCC_UnitAlias>
        <DCC_Platform>x86</DCC_Platform>
        <DCC_E>false</DCC_E>
        <DCC_N>false</DCC_N>
        <DCC_S>false</DCC_S>
        <DCC_F>false</DCC_F>
        <DCC_K>false</DCC_K>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Cfg_1)'!=''">
        <DCC_PentiumSafeDivide>true</DCC_PentiumSafeDivide>
        <DCC_Optimize>true</DCC_Optimize>
        <DCC_IntegerOverflowCheck>false</DCC_IntegerOverflowCheck>
        <BRCC_Defines>MadExcept;FastMM;$(BRCC_Defines)</BRCC_Defines>
        <DCC_AssertionsAtRuntime>false</DCC_AssertionsAtRuntime>
        <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
        <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
        <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
        <DCC_DebugInformation>false</DCC_DebugInformation>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Cfg_2)'!=''">
        <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
        <BRCC_Defines>FastMM</BRCC_Defines>
        <DCC_DebugDCUs>true</DCC_DebugDCUs>
        <DCC_MapFile>3</DCC_MapFile>
        <DCC_Define>DEBUG;FastMM_;madExcept;$(DCC_Define)</DCC_Define>
    </PropertyGroup>

I even had to edit it today with notepad in order to get rid of DCC to determine that the delphi interface is not giving access. (he said: “From the Delphi compiler” for an item that I could not remove.)

- delphi?

!

+3
1

Delphi ? ( , -URL.) .

MSDN MSBuild. MSBuild.

MSBuild Delphi - , MSBuild . , , Microsoft ( .NET Framework SDK, IIRC).

+1

Source: https://habr.com/ru/post/1739539/


All Articles