-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
restructure cmake workflow presets #62
restructure cmake workflow presets #62
Conversation
@dietmarkuehl Would you like presets like this https://github.com/friendlyanon/cmake-init-shared-static/blob/master/CMakePresets.json I would prefer this one: https://github.com/ClausKlein/cpp-lib-template/blob/develop/CMakePresets.json As toolchain for Windows CI build with ninja normally I use the WindowsToolchain as git submodule or as copy? |
@ClausKlein I don't have an opinion on the presets! The ones I have were just copied from In general, I think Beman projects should follow what |
It seems the |
Use 'Ninja Multi-Config' with Windows preset
1c56ae8
to
269b880
Compare
Use cl without path
336759b
to
be46000
Compare
Changed the code to disable use of C++26 features. The way to restore that is probably adding/removing warning suppression in `suppress_push.hpp` and `suppress_pop.hpp` but I think this PR isn't the place to do that.
... it seems to cause grief. Again, something to get restored. I tried to replicate this problem and I didn't manage to do so.
c2099e0
to
64ea7c4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First off: thank you very much for this work! There are number of things here I wanted to do for a while but didn't get to do, yet!
I didn't spot anything critical. There are a few comments but I'd be OK to land this fairly large PR and possibly address them later. The only one I consider really odd is the use of sudo sudo
[without a user] although I don't think it causes any harm.
It seems the presets stuff needs fairly recent versions of cmake
, certainly a more recent version than on the Debian 12 Linux I'm using (it has cmake 3.25
installed). Using a non-presets build does work, though.
As there are some comments, I won't merge the PR: feel free to merge (or let me know if you can't or want me to merge).
WarningsAsErrors: 'clang*' | ||
FormatStyle: file | ||
|
||
CheckOptions: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I read that correctly, the readability options are somewhat at odd with C++ standard library naming. However, the previous section seems to have disabled all of these for now.
Having a clang-tidy
config is good - it will likely require some clean-up, probably discover bugs.
@@ -29,8 +29,8 @@ jobs: | |||
|
|||
matrix: | |||
sanitizer: [debug, release] | |||
# TODO: compiler: [g++-14, clang++-19] | |||
compiler: [clang++-18] | |||
# TODO: compiler: [g++, clang++-19] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The TODO mentions clang++-19
instead of clang++-18
- otherwise it could go . Maybe it can still go.
"version": 9, | ||
"cmakeMinimumRequired": { | ||
"major": 3, | ||
"minor": 30, | ||
"patch": 0 | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These recent versions prevent me from building on Debian 12 which installs cmake
version 3.25.1. I'd think others would have the same problem.
Looks good - can this PR be merged? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good
Add codespell config file and fix some typos too
Prevent build errors with gcc on Darwin (macOS) CI
Cleanup the cmake files
Add the cmake workflow presets for Windows too.