Add C++17 support that "just works" via package managers
- Dominant language
- C++
- Stars
- 21.5k
- Forks
- 3.5k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 2
Description
**Description**
I'd like to use code such as the following in a project that gets Catch2 via vcpkg and have it just work (not require a port overlay or patch to the vcpkg repo):
```c++
inline std::string_view test()
{
throw std::runtime_error{"bad"};
}
TEST_CASE("Log exception")
{
REQUIRE(test() == "good");
}
```
**Additional context**
I thought this was a vcpkg bug, but they've indicated it's an upstream bug:
https://github.com/microsoft/vcpkg/issues/25236
Similar questions have come up here before, but there isn't a solution yet:
#2210
#2046
I'm hoping we can start by getting agreement between Catch2 and vcpkg on what side the right fix would be here. (I think the starting position is both sides think the problem is on the other side, which probably needs to be resolved first in order to get to a solution.)
Contributor guide
Research direction
Start by reading the vcpkg issue linked in the description and the related Catch2 issues #2210 and #2046 to understand the unresolved package-manager and C++17 compatibility problem. This issue does not name files, tests, or an implementation entry point; done would require an agreed direction between Catch2 and vcpkg followed by a verified package-manager-compatible solution.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100