Skip to content

(WIP) Modernize CMake Buildsystem#10936

Draft
jschmidt-icinga wants to merge 10 commits into
masterfrom
modernize-cmake
Draft

(WIP) Modernize CMake Buildsystem#10936
jschmidt-icinga wants to merge 10 commits into
masterfrom
modernize-cmake

Conversation

@jschmidt-icinga

@jschmidt-icinga jschmidt-icinga commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Early test to see what the CI says.

Todo

  • Rephrase the target dependency graph in modern CMake commands
  • Make CMake native unity builds working
  • Finish moving remaining functionality into Find Modules.
  • Make mkclass work directly with targets
  • Move most compiler flags out into CMake Presets and use them in docker container build
  • Polish.

@cla-bot cla-bot Bot added the cla/signed label Jul 8, 2026
@jschmidt-icinga jschmidt-icinga force-pushed the modernize-cmake branch 9 times, most recently from 9eb77fd to d228b06 Compare July 10, 2026 08:26
The Boost::thread CMake target depends on it. Actually it's
needed only on *suse*:15.*, but can't harm having it on the
other GHAs too.
This is required for the new unity builds because it is not guaranteed
that a source file that includes `i2-base.hpp`, which includes `win32.hpp`
is at the very start of each unity build file.

This would otherwise cause syntax errors like `C2589` when C++ constructs
like `std::min()` or `std::numeric_limits<T>::max()` are used because
`windows.h` without `NOMINMAX` defined will define `min()` and `max()`
macros.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant