哪些项目选项可用于开源 Delphi 包?
What project options to use for open source Delphi packages?
我写了一些 Delphi 代码,我想在 GitHub 上分享。根据需要,所有代码都包含在运行时和设计时包中。每个项目有很多"Project Options"设置。 (输出目录、搜索路径、编译选项等)我设法找到了一些适合我的情况的默认选项,但阅读其他问答这里很明显有多个 ways of working。
应该使用哪些项目选项,以便将开源包轻松合并到单个项目中?
我最近开始使用 NodeJS。 NPM 包管理器使得在项目中使用第三方包变得超级容易。软件包通过命令行上的一个简单命令安装。软件包将自动安装任何必需的依赖项。
PS:如果您想添加额外的考虑事项,请随时编辑此问题。
假设你有这个结构
- 我的组件
- 包裹
- DelphiXE7
- Package2.dpr
- 来源
- 箱
- Delphi XE7
然后设置
搜索路径
..\..\..\source
单元输出目录
..\..\..\bin\Delphi XE7$(Platform)$(Config)
为所有支持的平台以及Release和Debug编译后,您将拥有这个bin 目录
中的结构
- 我的组件
- 包裹
- DelphiXE7
- Package2.dpr
- 来源
- 箱
- Delphi XE7
- Android
- 发布
- 调试
- Win32
- 发布
- 调试
- Win64
- 发布
- 调试
对于安装,您必须在 IDE.
中设置一些路径
环境
MYCOMPONENT => [root path to the files]
图书馆
对所有支持的平台重复此操作
库路径
$(MYCOMPONENT)\bin\Delphi XE7$(Platform)\Release
搜索路径
$(MYCOMPONENT)\source
调试-DCU-路径
$(MYCOMPONENT)\bin\Delphi XE7$(Platform)\Debug
如果有一些语言相关的单位也有地方可以添加(参见图书馆-翻译)
这确保您拥有完整的调试功能(使用 Use Debug-DCU 选项集)并且在发布时您的应用程序中没有调试代码。
只是关于你不应该安装的库的旁注,因为你只在某些项目中使用它们。
只需结合环境变量使用 Optionset。
这里我的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>
要使用超级对象库,我只需将选项集添加到项目中(右键单击构建配置),一切都很好。
我写了一些 Delphi 代码,我想在 GitHub 上分享。根据需要,所有代码都包含在运行时和设计时包中。每个项目有很多"Project Options"设置。 (输出目录、搜索路径、编译选项等)我设法找到了一些适合我的情况的默认选项,但阅读其他问答这里很明显有多个 ways of working。
应该使用哪些项目选项,以便将开源包轻松合并到单个项目中?
我最近开始使用 NodeJS。 NPM 包管理器使得在项目中使用第三方包变得超级容易。软件包通过命令行上的一个简单命令安装。软件包将自动安装任何必需的依赖项。
PS:如果您想添加额外的考虑事项,请随时编辑此问题。
假设你有这个结构
- 我的组件
- 包裹
- DelphiXE7
- Package2.dpr
- DelphiXE7
- 来源
- 箱
- Delphi XE7
- 包裹
然后设置
搜索路径
..\..\..\source
单元输出目录
..\..\..\bin\Delphi XE7$(Platform)$(Config)
为所有支持的平台以及Release和Debug编译后,您将拥有这个bin 目录
中的结构- 我的组件
- 包裹
- DelphiXE7
- Package2.dpr
- DelphiXE7
- 来源
- 箱
- Delphi XE7
- Android
- 发布
- 调试
- Win32
- 发布
- 调试
- Win64
- 发布
- 调试
- Android
- Delphi XE7
- 包裹
对于安装,您必须在 IDE.
中设置一些路径环境
MYCOMPONENT => [root path to the files]
图书馆
对所有支持的平台重复此操作
库路径
$(MYCOMPONENT)\bin\Delphi XE7$(Platform)\Release
搜索路径
$(MYCOMPONENT)\source
调试-DCU-路径
$(MYCOMPONENT)\bin\Delphi XE7$(Platform)\Debug
如果有一些语言相关的单位也有地方可以添加(参见图书馆-翻译)
这确保您拥有完整的调试功能(使用 Use Debug-DCU 选项集)并且在发布时您的应用程序中没有调试代码。
只是关于你不应该安装的库的旁注,因为你只在某些项目中使用它们。
只需结合环境变量使用 Optionset。
这里我的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>
要使用超级对象库,我只需将选项集添加到项目中(右键单击构建配置),一切都很好。