哪些项目选项可用于开源 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)

所有支持的平台以及ReleaseDebug编译后,您将拥有这个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>

要使用超级对象库,我只需将选项集添加到项目中(右键单击构建配置),一切都很好。