MSVC in cmake has always been a boolean variable ( see https://cmake.org/cmake/help/latest/variable/MSVC.html)
detecting the MSVC Compiler requires therefore "if (MSVC)"
further, the MSVC Compiler will always emit '199711L' for __cplusplus, if it is called without the option '/Zc:__cplusplus'
this odd behavior will break any version check in the headers.
e.g. './include/boost/parser/detail/text/detail/begin_end.hpp' or 'boost/hana/traits.hpp
therefore "add_compile_options(/Zc:__cplusplus)" is always nrequired for the MSVC compiler
- Clone minimal Boost dependencies so that the minimal Boost.Test header is
available.
- Add boostdep-generated CMake code to the top of the top-level
CMakeLists.txt.
Fixes#127.
- Remove BOOST_PARSER_STANDALONE, and make that the default. The bits of
Boost that we might use are used automatically when they're available (as
discovered via __has_include).
- Remove the non-essential uses of Boost from the examples.
the tests to get them building when Hana is not used; disable building the
examples when Boost.Hana is not in use, so that they can keep using the much
nicer hana::tuple::operator[] instead of parser::get().
This completes the changes to make Hana optional.
constants like llong; provide a tuple accessor get(); use these throughout the
code.
Also, adapt the code in detail/hl.hpp to work with hana::tuple and std::tuple.
- Update text and stl_interface files.
- Flesh out concepts constraints, using C++20 proper instead of cmcstl2.
Remove SFINAE constraints (though SFINAE may make a comback for C++17
support).
- Remove parser concept entirely. Matching parser_interface<...> should
suffice.
- Add CXX_STD to CMake files, a la text and stl_interfaces.