Gpr 文件,不包括源中的所有目录

Gpr file, do not include all directory in source

这是我的 project.gpr 文件:

project Test is
    Project_Source_Dirs := ("Dir1")
      & ("src")
      & ("../../lib_all");
    for Object_Dir is "lib";
    for Main use ("Main_file.adb");
    for Languages use ("Ada");

    for Source_Dirs use Project_Source_Dirs & project'Object_Dir;
    -- [...]
end Test;

有我的“../../lib_all”文件夹:

lib_all
|- file1.adb
|- file1.ads
|- file2.adb
|- file2.ads
|- file3.adb
|- file3.ads
|- file4.adb
|- file4.ads

我只想使用 file3,如何修改我的 .gpr 文件而不是每次都编译所有其他文件?

您可以使用 Source_FilesExcluded_Source_Files 设置,如下所述:https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug/gnat_project_manager.html#source-files-and-directories

但我认为,更简单的方法可能是简单地将不需要的文件移动到单独的目录,并根据需要(基于变量等)添加该目录及其内容。