用于处理Delphi/Lazarus中共享库的项目的文件夹结构



我的项目共享许多公共库,有时一个项目应该使用不同版本的代码库。我修补了一些库以纠正错误。

如何组织文件夹结构以使初始项目设置更容易?

保留代码库

要共享代码库,我们应该使用共享代码存储库,例如VCS存储库或仅共享文件夹。 为了更好地导航,请创建树结构,请使用如下所示的路径lib-namelib-name-version。版本可以是版本号、版本名称、VCS 变更集 ID 或任何其他指示 lib 版本的字符串。如果要添加由您的版本修补或采用的库,请将其命名为lib-name-version-private并添加PatchInfo.txt为其他开发人员描述您的更改。您还可以为库保留已编译的库 DCU 文件,而无需源代码。

库存储库结构示例:

+ superobject
|  |- superobject-1.1
|  +- superobject-1.2
+ synapse
|  |- synapse-1.0
|  |- synapse-r209
|  +- synapse-r209-private
+indy
|- indy-9.0
+- indy-10.0.0.52

访问库/库路径

要允许任何开发人员将库保留在他想要的任何位置,请使用操作系统环境变量。 项目选项或 IDE 库路径中的 Delphi IDE/Lazarus IDE 可以在构建过程中将 $(env-var-name( 宏替换为 env var 值。 创建一个 env varPascalCommonLibs=D:PascalCommonLibs,指定库存储库根目录的路径,然后将所需的库添加到库路径。

德尔福的库路径示例:

$(PascalCommonLibs)superobjectsuperobject-1.2
$(PascalCommonLibs)synapsesynapse-r209-private

拉撒路的库路径示例:

$Env(PascalCommonLibs)superobjectsuperobject-1.2
$Env(PascalCommonLibs)synapsesynapse-r209-private

现在,您甚至可以创建一个默认的库路径列表,每个开发人员都可以将其粘贴到IDE库路径中。

此方法还简化了自动生成配置,只需在脚本中使用 env varPascalCommonLibs即可指定库或源搜索路径。

最新更新