On 26/07/2017 20:33, Robert Ramey via Boost wrote:
On 7/26/17 11:49 AM, Edward Diener via Boost wrote:
Following John Maddock's appeal for practical solutions related to the move to CMake, I would like to know what the CMake equivalent is to the Boost Build unit test functionality.
I can tell you what I did for the serialization library. This predates the current discussions so will likely be considered out of date by the current contributors to the discussion. On the other hand, it does actually work and you can test it yourself.
In other words what do I write for CMake in order to do a Boost Build compile, compile-fail, link, link-fail, run, and run-fail unit tests ?
One adds targets (which for me is just the name of the source/excutable without the cpp, exe, etc. to a list to get compile and run functionality. Its pretty simple.
I couldn't make the compile-fail and run-fail targets to work so I just removed them from the cmake test suite. So if your thinking that CMake has a ways to go to be able to offer what we expect, you're right.
compile-fail tests a re often an essential part of testing certain classes of library.
optionally, Boost Build is used to build the documentation using a quickbook, boostbook, doxygen toolset to generate html and pdf files.
Personally, I could never make this tool chain work despite a large investment of effort. I gave up on doxygen and quickbook after concluding them to be essentially non-functional. I did manage to use the xml tools loaded with boost tools along with some downloaded FOP, a version of XMLMind to create toolchain which is about 100 times better and 1/100 as complex as the boost one for creating documents. So you're life will be better when you're forced to leave these behind.
I'm sorry you found them that way, Doxygen I hate (to be fair it's mostly the way folks use it rather than the tool itself), but quickbook works extremely well for me. As for the toolchain.... I find it amusing that this is the one thing folks most often complain about... even citing it as an example of why we shouldn't invent stuff ourselves... when it's actually the one thing that was *not* invented here! Best, John. --- This email has been checked for viruses by AVG. http://www.avg.com