catchorg / catchorg/Catch2

Add C++17 support that "just works" via package managers

Open
#2,462 12 comments 2 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.