From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:a05:660c:708:: with SMTP id l8mr12319477itk.14.1550441843148; Sun, 17 Feb 2019 14:17:23 -0800 (PST) X-Received: by 2002:aca:5592:: with SMTP id j140mr187168oib.5.1550441842799; Sun, 17 Feb 2019 14:17:22 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.166.215.MISMATCH!y22no363170ita.0!news-out.google.com!v188ni714itb.0!nntp.google.com!y42no329753ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sun, 17 Feb 2019 14:17:22 -0800 (PST) In-Reply-To: <947d15f3-4dd9-422b-bfad-20d1dad57e14@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=177.94.105.68; posting-account=TRgI1QoAAABSsYi-ox3Pi6N-JEKKU0cu NNTP-Posting-Host: 177.94.105.68 References: <947d15f3-4dd9-422b-bfad-20d1dad57e14@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <5e098363-2b24-47c0-be62-ad6fece18197@googlegroups.com> Subject: Re: Make with Ada 2019 : DogRobot From: "Rego, P." Injection-Date: Sun, 17 Feb 2019 22:17:23 +0000 Content-Type: text/plain; charset="UTF-8" Xref: reader01.eternal-september.org comp.lang.ada:55551 Date: 2019-02-17T14:17:22-08:00 List-Id: > You are a hero participation in the competiton. I have givven you a star marking on GitHub. Thank you very much!! > My suggestions are pure project organisational: > > Use GPR and split the sources into four source files: > source-lib - library project for core etc. > source - project for the application > source-test - project for the test application > source-util - library project - reusabel components Good you talk in this point, I've seen a quite number of styles for source directories, but for my home projects I've been using the suggestions from GPS. But do you know if there is some consensus regarding this? But also like your typing (source instead of src), in a more complex project I would probably use something like that, eg, linking the project root with svn:externals or git:externals property to include some folders for source-lib or source-util. > Four GPR project files using the four source directories: > dogbot_lib.gpr > dogbot.gpr > dogbot_test.gpr > dogbot_util.gpr In this case, to segregate those folders with different projects I don't see many advantages, unless the projects are extended. > Add simple makefiles in the source directories which uses the main make file in the root Exchange the .sh builder in the root is also a good suggestion, but as gprbuild resolves all the dependencies in the build, why do you other makefiles from the other subfolders? > In the gpr projects. Add -gnaty to Default_Switch to use AdaCore coding style for better coorporation with others. In this project I totally forgot to include style checks. I use to check all style checks from GPS, I actually didn't know pure -gnaty would enforce all of them. > gprbuild has the -p option which creates bin/lib/obj directories automatically so you can remove them from your project. I will definitely include it. > You may have a look at GPR projects and GPR library projects at: > > https://github.com/jquorning/DK8543 > https://github.com/jquorning/GAWS I will look for sure (doing already =) > Best of luck with the competition. Thank you!