Hello,

I worked to achieve the possibility to use Gnoga either directly without an 
installation folder or with an installation folder.
The past results weren't so satisfying :-(
I recently discovered the library aggregate projects facility of gprbuild:
https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug/gnat_project_manager.html#aggregate-projects
This capacity opens the possibility to define aggregate projects with specific 
project paths.

Thus I've created two kinds of aggregate projects:
1a) without installation - direct aggregate projects to use with a "with" 
clause in your own project:
$ make all # as usual
# add "with <path to gnoga>/src/gnoga_agg.gpr;" in your project
$ gprbuild -P <your project>

1b) with installation:
$ make all # as usual
$ make install PREFIX=<your installation folder path>
# add "with <your installation folder path>/share/gpr/gnoga_agg.gpr;" in your 
project
$ gprbuild -P <your project>

2) with installation - external aggregate projects:
$ make all # as usual
$ make install PREFIX=<your installation folder path>
# add simply "with gnoga_agg.gpr;" in your project
# create an external aggregate project with your project (see below)
$ export PREFIX=<your installation folder path>
$ gprbuild -P <your aggregate project>

Example:
aggregate project Sing_Agg_Ext is
   for Project_Path use (external("PREFIX") & "/share/gpr");
   for Project_Files use ("sing.gpr");
end Sing_Agg_Ext;

Note the power of aggregate projects with GPS, for instance all demos are 
opened with one project.
see demo/demo_agg.gpr

The changes have been pushed to Gnoga 1.5-alpha:
https://sourceforge.net/p/gnoga/code/ci/dev_1.5/tree/

I've tested it on macOS.
Can someones test it also on Linux or Windows?

As I'm new to aggregate projects management, feel free to give helpful tips on 
the list.

Regards, Pascal.
http://blady.pagesperso-orange.fr




_______________________________________________
Gnoga-list mailing list
Gnoga-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gnoga-list

Reply via email to