I have a GPR library project wichi builds successfully (the static or dynamic kind is not relevant here).
I know that gprinstall
provides means to manage the delivery of the library, i.e.:
- prepare a GPR file to use the library
- provide the library file (.a or .dll) according conditions given in the original GPR (defined directories)
- provide the library interface files according similar conditions
The idea behind this is for users to only "with" the new GPR in order to see the interface file (.ads
for instance in Ada).
However, I can't manage to make gprinstall work. The following command
E:\DEV\Projets\Ada\LibA>gprinstall --dry-run -p -m -f -P LibA.gpr
gives only :
Install project LibA
The -v
verbose option gives not a single little piece of a clue.
(the project is obviously successfully built and code files are not really relevant for the comprehension)
Here is my GPR files :
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;
My options 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;