在Delphi 2007中,是否可以仅为特定的构建配置添加构建事件?我使用2007版本,但也想了解在2009版本中可以做什么。祝好,Sam。
是的!
由于每个构建配置都可以拥有单独的定义,因此您可以检查项目定义以进行条件性构建处理。
我通常会使用类似以下的方式:
echo $(DEFINES) | find "RELEASE"> nul
if not errorlevel 1 goto
release
echo $(DEFINES) | find "DEBUG" > nul
if not errorlevel 1 goto debug
goto end
:release
echo Processing RELEASE Build:
...
goto end
:debug
echo Processing DEBUG Build:
..
goto end
:end
编号。
在Delphi 2009中,您可以为每个构建配置设置(资源)编译器设置。但是这不适用于其他设置。
您可以伪装它,但需要一些时间:
代码:
uses
..
{$IFDEF DEBUG}
confDebug,
{$ELSE}
confRelease,
{$ENDIF}
..
这有点繁琐,但您可以做您想要的。
当使用XE时,我将其缩小到了更简单的东西,如果你感兴趣的话:
goto $(Config)
:Release
compil32 /cc f:\dev\MyProject\Installer\MyProject.iss"
etc.
:Debug
只有在将构建配置设置为“发布”时,才会构建我的安装程序。如果你想更高级一些,可以调用Jenkins并让它接管预发布任务。在Delphi 10.x中,你不再需要这个技巧了。
$(DEFINES)
宏已经被正确扩展了... - Oliver Giesen