Файл Gpr, не включайте весь каталог в исходный код

#ada #gnat

Вопрос:

Вот мой файл project.gpr :

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

    for Source_Dirs use Project_Source_Dirs amp; 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, чтобы каждый раз не компилировать все остальные файлы ?

Ответ №1:

Вы можете использовать Source_Files или Excluded_Source_Files настройки, как описано здесь: https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug/gnat_project_manager.html#source-files-and-directories

Но я думаю, что более простым способом могло бы быть простое перемещение ненужных файлов в отдельный каталог и добавление этого каталога с его содержимым по требованию (на основе переменных и т. Д.).

Комментарии:

1. Спасибо, я не могу перемещать файлы тезисов, они используются другими проектами. Excluded_Source_Files работает отлично !

2. @A. Писсикат Рад помочь. 🙂 Но если они используются другим проектом: может быть, было бы лучше сделать иерархический проект? Общая часть в родительском проекте и конкретные части в дочерних проектах?