delphi - 如何使用 MSBuild 和包含在存储库中的编译器构建 delphi 应用程序(未随 IDE 安装)

标签 delphi msbuild build-script

我的问题是以下情况是否可能。

  1. 我有一个安装了 MSBuild 的系统(可能是 Docker 镜像)。
  2. 我有一个存储库,其中包含我的源代码 (Delphi) 和 delphi 编译器(目录 bin 和 lib)。
  3. 现在我在该系统上 checkout 我的存储库并想使用 msbuild 构建我的应用程序,msbuild 应该使用我的存储库中的编译器。

这背后的想法是,将构建我的应用程序所需的所有数据(源代码、资源、编译器、构建脚本......)放在一个地方。我想使用 MSBuild,因为在那里我可以构建 .dproj 文件,而不是包含更少信息(例如:搜索路径)的 .dpr 文件(使用 dcc)。

最佳答案

在 BIN 文件夹中有一个名为 RSVARS.bat 的文件,用于设置所需的环境变量。当您将包含 BIN/LIB 文件夹的存储库克隆到构建机器时,您应该考虑所需的路径并创建新的 rsvars.bat 或根据需要更新此文件。

然后你可以运行类似这样的东西来构建你的项目:

msbuild projectname.dproj /t:build /p:Configuration=Release /p:platform=Win32

我最近在一篇博文中详细介绍了 Jenkins 和 Delphi 构建。您可以浏览 Jenkins 部分并仅引用命令行构建信息,主要是“配置 Delphi 构建代理”和“在 Delphi 项目中使用 MSBuild 的注意事项”部分:https://www.ideasawakened.com/post/getting-started-with-ci-cd-using-delphi-and-jenkins-on-windows

关于delphi - 如何使用 MSBuild 和包含在存储库中的编译器构建 delphi 应用程序(未随 IDE 安装),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66012481/

相关文章:

delphi - 如何处理代理授权

jenkins - msbuild 与命令行与 Jenkins 的行为不同

iphone - OpenSSL 构建脚本在 Xcode 中作为 'run script' 阶段运行时失败(在 Xcode 之外成功)

ios - 用于在 Xcode 中检查构建模式的脚本

database - 由于数据库表约束,TClientDataset ApplyUpdates 错误

sql - SQL日期间隔算法

delphi - IDE 本地历史记录管理器的最大修订容量是多少?我该如何配置它(想要放大)?

visual-studio-2013 - Visual Studio 在哪里保留它自己的 nuget.exe 副本?

msbuild - MSBuild 文件中的项目在传递给任务时是否保持其顺序?

python - 使用 SCons 进行真正的分层构建?