On Wed, 2017-07-26 at 14:49 -0400, 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.
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 ?
For a run test, you would do, something like:
add_executable(footest footest.cpp)
add_test(NAME footest COMMAND $
Does CMake have an equivalent to the Boost Build alias rule ?
You can create interface target that includes the set of targets. add_library(core INTERFACE) target_link_libraries(core INTERFACE im reader writer)
or the Boost Build project rule ?
Hmm, I am not sure how this is relevant to cmake.
The great majority of the Boost libraries are header-only libraries where Boost Build is used to run the unit tests and, optionally, Boost Build is used to build the documentation using a quickbook, boostbook, doxygen toolset to generate html and pdf files. While I realize that building a Boost library, and making that built library available to end-users via CMake, has been the focus of most of the discussion so far regarding CMake and Boost, I am assuming the move to CMake also means that running unit tests and building docs where applicable must also be done through CMake. If I am wrong about this then I personally will be only too happy to continue using Boost Build to do these things.
There has been cmake written in the past that has done the documentation, I don't recall where it was at. Either way, why do you think that generating documentation is not possible with cmake?