У меня есть проект библиотеки GPR, который строится успешно (статический или динамический тип здесь не имеет значения).Я знаю, что gprinstall
предоставляет средства для управления доставкой библиотеки, например:
- готовит файл GPR для использования библиотеки
- предоставляет файл библиотеки (.a или.dll) в соответствии с условиями, указанными в исходном GPR (определенные каталоги)
- предоставляют файлы интерфейса библиотеки в соответствии с аналогичными условиями
Идея, лежащая в основе этого, заключается в том, чтобы пользователи могли только "с" новымGPR, чтобы увидеть файл интерфейса (например, .ads
в Ada).
Однако мне не удается заставить работать gprinstall.Следующая команда
E:\DEV\Projets\Ada\LibA>gprinstall --dry-run -p -m -f -P LibA.gpr
дает только:
Install project LibA
Опция -v
verbose не дает ни единого небольшого фрагмента подсказки.(проект, очевидно, успешно построен, и файлы кода на самом деле не актуальны для понимания)
Вот мои файлы GPR:
with "../Production_Options/Production_Options.gpr";
with "../InterfaceA/InterfaceA.gpr";
library project LibA is
for Source_Dirs use ("src") & InterfaceA.Interface_Files;
for Object_Dir use "obj";
for Library_Name use project'Name;
for Library_Dir use "Library";
for Library_Ali_Dir use "Library_Ali";
for Library_Src_Dir use "Public_Interfaces";
for Library_Interface use (InterfaceA.Interface_Name);
for Library_Kind use "static";
package Install extends Production_Options.Install is
for Prefix use Production_Options.Install'Prefix & Production_Options.Install.Install_Libs & project'Name;
for Mode use "dev";
for Side_Debug use "true";
end Install;
-- various renames of Productions_Options
end LibA;
project InterfaceA is
Interface_Files := (project'Project_Dir & "src");
Interface_Name := "InterfaceA";
for Source_Dirs use ();
end InterfaceA;
Мои параметры GPR:
project Production_Options is
for Source_Dirs use ();
-- various switches for compiler, builder, clean, binder, ide, linker, namling, pretty printer ...
package Install is
Install_Root := "../INSTALL_BUILDS/";
Install_Exe := "EXECUTABLES/";
Install_Libs := "LIBS/";
Install_Root_Exe := Install_Root & Install_Exe;
Install_Root_Libs := Install_Root & Install_Libs;
for Prefix use Install_Root;
for Lib_Subdir use "BIN";
for Ali_Subdir use "ALI";
for Sources_Subdir use "SRC";
for Project_Subdir use "GPR";
end Install;
end Production_Options;