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.