Skip to content

feat: Bump to C++20 and update TPLs - #4127

Open
victorapm wants to merge 23 commits into
developfrom
feature/paludettomag1/tpls-next
Open

feat: Bump to C++20 and update TPLs#4127
victorapm wants to merge 23 commits into
developfrom
feature/paludettomag1/tpls-next

Conversation

@victorapm

@victorapm victorapm commented Aug 21, 2026

Copy link
Copy Markdown
Contributor
  • Move minimal supported C++ standard from C++17 to C++20
  • Update TPLs (VTK 9.7, RAJA suite 2026, fmt 12) and update geos codebase accordingly
  • Add ROCm build-only (no executed tests) to CI testing
  • Bump blt to 0.7.2
  • Fix various CMake warnings

Depends on GEOS-DEV/thirdPartyLibs#361
Depends on GEOS-DEV/LvArray#356

@victorapm victorapm self-assigned this Aug 21, 2026
@victorapm victorapm added the ci: run CUDA builds Allows to triggers (costly) CUDA jobs label Aug 21, 2026
@victorapm
victorapm requested a review from wrtobin as a code owner August 21, 2026 03:05
@victorapm victorapm added the flag: requires updated TPL(s) Needs a specific TPL PR label Aug 21, 2026
@victorapm victorapm added the ci: run integrated tests Allows to run the integrated tests in GEOS CI label Aug 21, 2026
@victorapm victorapm added the ci: run device builds Allows to run the device (CUDA/HIP) builds label Aug 21, 2026
Comment thread src/cmake/GeosxOptions.cmake Outdated
#include "../include/fmt/ranges.h"
#include "../include/fmt/xchar.h"
#define GEOS_FMT_NS fmt
#else // use C++20's <format>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a bit confused here. Since we are not enforcing C++20, shouldn't we always use <format>?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Dick, this branch is enforcing C++20, but {fmt} remains intentional because GEOS uses fmt::runtime, fmt::join, fmt::is_formattable and custom fmt::formatter. Also, <format> is not uniformly supported by the CUDA/HIP backends. Maybe we can address this on a separate PR

@victorapm victorapm added the flag: requires rebaseline Requires rebaseline branch in integratedTests label Aug 21, 2026
@victorapm

Copy link
Copy Markdown
Contributor Author

Rebaseline needed because of a baseline mismatch (3051 vs 3095 faces) caused by the VTK 9.4.2 → 9.7.0 upgrade

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run device builds Allows to run the device (CUDA/HIP) builds ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: ready for review flag: requires rebaseline Requires rebaseline branch in integratedTests flag: requires updated TPL(s) Needs a specific TPL PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants