Alexander Grund
Alexander Grund
I'll look into this. Got an idea already.
Checked the relevant sources of the includer/scanner. My approach would change it quite a lot, so I want to put it up for discussion first: - Generate a list of...
> It will change the order of add_subdirectory calls, but only sometimes, so order dependence will sometimes work and sometimes not. I think CMLs of independent libs relying on order...
> Here: https://github.com/boostorg/json/blob/21fcc880304c754aeb01421318e06563484c72ac/CMakeLists.txt#L42-L53 Nifty! I'm actually surprised this works... Couldn't that still be done by putting that at the top without the exclude, guarding the if against re-entry and returning...
Yeah, either we simply use the enhanced regex matcher and maybe filter comment lines or do the "proper" approach with targets. Writing a cmake parser in cmake is to much.
> The conflict between maintainer hand rolling free-form CML and strict-form expectations from Boost CMake is inevitable. > > A not entirely crazy idea: split the two sets of CML-s...
We simply have to decide for one solution. Fastest would be the current parser, with the following change: ``` set(boost_regex "Boost::([A-Za-z0-9_]+)") file(STRINGS "${BOOST_SUPERPROJECT_SOURCE_DIR}/libs/${lib}/CMakeLists.txt" data REGEX [^#]*${boost_regex}.*) string(REGEX MATCHALL ${boost_regex} deps...
I'd like to add a third option: Add a `BOOST_CLASS_EXPORT` define which on Windows is the same as `BOOST_SYMBOL_EXPORT` but on platforms supporting visibility it should be `BOOST_SYMBOL_VISIBLE` And maybe...
Thanks for being open to discussion. Let me address some points: > I don't expect a lot of code will be broken, as experience shows very few people catch container...
I'd say `length_error` is an excellent fit: > Some implementations also throw std::length_error when push_back causes a reallocation that would exceed max_size, due to implicitly calling an equivalent of reserve(size()+1)....