cobalt icon indicating copy to clipboard operation
cobalt copied to clipboard

Further clean and fix the CMLs

Open Flamefire opened this issue 2 years ago • 4 comments

Don't add C++ requiredment in test CML (added in root CML)

option does nothing when the variable is already set.

Also remove some redundancies (especially checks for BOOST_COBALT_IS_ROOT and BOOST_SUPERPROJECT_VERSION inside the "BOOST_COBALT_IS_ROOT"-branch)

Happy to help if any questions.

Flamefire avatar Oct 17 '23 16:10 Flamefire

I think this is outdated now, what part is still relevant?

klemens-morgenstern avatar Nov 08 '23 01:11 klemens-morgenstern

I resolved the conflicts. Please check if that looks ok

Flamefire avatar Nov 08 '23 08:11 Flamefire

Why are you removing target_compile_features(boost_cobalt PUBLIC cxx_std_20) ?

klemens-morgenstern avatar Nov 09 '23 02:11 klemens-morgenstern

I'm only removing the duplicated line which is (erroneously) in the test-CML. The actual correct one is still at https://github.com/boostorg/cobalt/blob/540b6637ef411b45bae7daa4f9f521e7b9338a1e/CMakeLists.txt#L65

Note on "erroneously": This is a requirement of the library so it needs to be set for the library by the library not by a user even though the "user" here is the tests of the library.

Flamefire avatar Nov 09 '23 11:11 Flamefire

I removed the duplicate in test, is it ok now?

klemens-morgenstern avatar May 30 '24 15:05 klemens-morgenstern

I removed the duplicate in test, is it ok now?

Synced and updated to see what is left:

  • Unconditional dependency on Boost.Container (reformatting the other line allows the CMake scanner to work)
  • Superflous include_directories: This should be covered by target_include_directories(boost_cobalt PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") unless you are missing a dependency on boost_cobalt

Flamefire avatar May 31 '24 08:05 Flamefire

The change at https://github.com/boostorg/cobalt/pull/135/files#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20aL76-R78 was important because otherwise the dependency won't be detected by the dependency scanner in the super project build which requires it on its own line, see https://github.com/boostorg/cmake/blob/440dd10f57f86a91c9d0ae23f096f343fdd004cb/include/BoostRoot.cmake#L210

It seems to work though, I guess some dependency pulls it in transitively

Flamefire avatar May 31 '24 14:05 Flamefire