我写了一些 Delphi 代码,想在 GitHub 上分享。所有代码都根据需要包含在运行时和设计时包中。每个项目有许多项目选项需要设置。 (输出目录、搜索路径、编译选项等)我设法找到了一些适合我的情况的默认选项,但阅读这里的其他问答很明显有多种 ways of working。
应该使用哪些项目选项来允许开源包轻松地合并到其他项目中?
我最近开始使用 NodeJS。 NPM 包管理器使得在项目中使用第三方包变得非常容易。使用命令行上的一个简单命令即可安装软件包。软件包将自动安装任何所需的依赖项。
PS:如果您想添加额外的考虑事项,请随意编辑此问题。
假设你有这个结构
然后设置
搜索路径
..\..\..\来源
单元输出目录
..\..\.. in\Delphi XE7\$(平台)\$(配置)
编译完所有支持的平台以及Release和Debug后,您将在bin目录中拥有此结构
安装时,您必须在 IDE 中设置一些路径。
环境
MYCOMPONENT => [文件的根路径]
图书馆
对所有支持的平台重复此操作
图书馆路径
$(MYCOMPONENT) in\Delphi XE7\$(平台)\Release
搜索路径
$(我的组件)\来源
调试-DCU-路径
\Delphi XE7\$(平台)\调试中的$(MYCOMPONENT)
如果有一些与语言相关的单元,还有一个地方可以添加(请参阅图书馆 - 翻译)
这可以确保您拥有完整的调试功能(使用 Use Debug-DCU 选项集),并且在发布时您的应用程序中没有调试代码。
只是关于您不应该安装的库的旁注,因为您只在某些项目中使用它们。
只需将选项集与环境变量结合使用即可。
这里是我的SuperObject.optionset(
$(USRLIB)
指向一个目录,我在其中收集所有常用源代码。$(USRLIB)\ext
是所有外部库的位置)。
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<DCC_UnitSearchPath>$(USRLIB)\ext\superobject;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType>OptionSet</Borland.ProjectType>
<BorlandProject>
<Delphi.Personality/>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
</Project>
要使用超级对象库,我只需将选项集添加到项目中(右键单击构建配置),一切都很好。