Boost logo

Boost :

From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2023-11-28 12:51:32


On 11/28/23 12:34, Claudio DeSouza via Boost wrote:
> It would be helpful if the cmake build was fixed to not require some
> specific custom setup that was used by the author during development.
>
> The cmake list file seems to check for the existence of a cmake test file,
> to decide whether or not to build the tests. These files seem to have been
> moved outside reach of the setup in place, under test/test_cmake. Also, it
> would be better to get rid of this:
>
> add_subdirectory(../../../..
> "${CMAKE_CURRENT_BINARY_DIR}/boost_superproject")
>
> Ideally, these cmake tests should assume scope is a submodule, or a
> subfolder, of the boost super project.

CMake is not used to run the library tests. Library testing is done
exclusively with b2. Hence test/CMakeLists.txt is intentionally missing
and add_subdirectory(test) is skipped.

test/test_cmake is a test for CMakeLists.txt in Boost.Scope root (that
is, it tests that it is syntactically correct and lists all the
necessary dependencies). It does not run the actual library tests.

In test/test_cmake/CMakeLists.txt, add_subdirectory(../../../..
"${CMAKE_CURRENT_BINARY_DIR}/boost_superproject") is necessary to define
all Boost library targets, so that the dependencies in the main
Boost.Scope CMakeLists.txt can be resolved. For it to work, Boost.Scope
should be part of Boost directory structure. The is, the contents of the
Boost.Scope repository is expected to be in libs/scope in the Boost
tree. The CMake test is not supposed to be run on a standalone Boost.Scope.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk