<div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Boris,<div> I've been trying to get this finished and have a start here:</div><div><a href="https://github.com/hazelnusse/Catch2/tree/build2">https://github.com/hazelnusse/Catch2/tree/build2</a><br></div><div><br></div><div>I don't think I have fully wrapped my head around bulid2 so I probably have something not quite correct. In particular I don't know if I've got the export.build2 stuff correct or quite how to test it. I think probably I need to create a simple application that depends on catch2, following the example in the manual and see if what I've done works correctly?</div><div><br></div><div>About the only thing I've done is to verify that the result of `b install` looks reasonable, and I think it does:</div><div><div>[I] luke@t480s ~/r/C/Catch2> t /tmp/install</div><div>/tmp/install</div><div>├── include</div><div>│   └── catch2</div><div>│       └── catch.hpp</div><div>├── lib</div><div>│   └── pkgconfig</div><div>│       ├── libCatch2.shared.pc</div><div>│       └── libCatch2.static.pc</div><div>└── share</div><div>    └── doc</div><div>        └── Catch2</div><div>            ├── LICENSE.txt</div><div>            ├── manifest</div><div>            └── README.md</div><div><br></div><div>7 directories, 6 files</div></div><div><br></div><div>I do have 2 questions:</div><div>1) the pkgconfig files have the following lines:</div><div>Libs: -L/tmp/install/lib<br></div><div>Is this desired for header only libraries?</div><div><br></div><div>2) I made the name in the manifest as well as the project in the boostrap.build both be Catch2. Experimentally it seems that the project = Catch2 from bootstrap.build is used to name the directory where the LICENSE.txt, manifest, and README.md go. I was a bit confused by this and wonder if you could explain when you might have different values for the name and the project?</div><div><br></div><div>If you think it makes sense for me to create a pull request now to Catch2, I can do so and we can continue discussion on the PR -- I just wasn't sure how far I am from what would be reasonable to call "done" on this. I took a look at the Catch2 python script used to create a single header... and hmm. Not sure I have time to go there at the moment.</div><div><br></div><div>Sincerely,</div><div>Luke</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 7, 2019 at 6:35 AM Boris Kolpackov <<a href="mailto:boris@codesynthesis.com">boris@codesynthesis.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dale Lukas Peterson <<a href="mailto:hazelnusse@gmail.com" target="_blank">hazelnusse@gmail.com</a>> writes:<br>
<br>
>  Things got busy at work. I haven't forgotten about this but it will<br>
> likely be the weekend before I can come back to it.<br>
<br>
No problem.<br>
<br>
I have added support for an alternative build file/directory naming<br>
scheme and it is now available in the staged toolchain[1]. Here is<br>
the relevant part from the manual:<br>
<br>
" <br>
It is also possible to use an alternative build file/directory naming<br>
scheme where every instance of the word 'build' is replaced with 'build2',<br>
for example:<br>
<br>
hello/<br>
├── build2/<br>
│   ├── bootstrap.build2<br>
│   └── root.build2<br>
├── ...<br>
└── build2file<br>
<br>
Note that the naming must be consistent within a project with all the<br>
filesystem entries either following 'build' or 'build2' scheme. In other<br>
words, we cannot call the directory build2/ while keep using buildfile.<br>
<br>
The alternative naming scheme is primarily useful when adding build2 <br>
support to an existing project along with other build systems. In this<br>
case, the fairly generic standard names might already be in use. For<br>
example, it is customary to have build/ in .gitignore. Plus more<br>
specific naming will make it easier to identify files and directories<br>
as belonging to the build2 support. For new projects as well as for<br>
existing project that are switching exclusively to build2 the standard<br>
naming scheme is recommended.<br>
<br>
To create a project with the alternative naming using bdep-new(1) pass<br>
the  alt-naming project type sub-option. For example:<br>
<br>
$ bdep new -t exe,alt-naming ...<br>
"<br>
<br>
I think we should use this alternative scheme for Catch2 in order to<br>
sidestep all those .gitignore issues.<br>
<br>
[1] <a href="https://stage.build2.org/0/" rel="noreferrer" target="_blank">https://stage.build2.org/0/</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">For a successful technology, reality must take precedence over public relations, for Nature cannot be fooled. -- Richard Feynman<br></div></div>