-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Add gulrak filesystem, a c++17 compliant std::filesystem polyfill. #50624
Conversation
2436344
to
e94bfa8
Compare
I'm not sure the best way to exclude these sources from clang-tidy. Maybe appropriate to create a third_party directory to shove files like these and others which should be excluded from tidy and astyle? |
This comment outlines how to set header-only libraries as system headers in cmake https://stackoverflow.com/a/64748887/280690 |
I would never have figured out that's how clang-tidy picks those up. Thanks! |
987d125
to
d43e5a9
Compare
Turns out I had to add extra arguments to |
d43e5a9
to
9fb5ee5
Compare
Hm. That seems wrong. But my changes to files_changed should've only been fixes or new behavior. HEAD^2 syntax didn't seem to work in my vm, changing it to ~2 did. |
9fb5ee5
to
3c24c95
Compare
Reverted changes to |
Better, but now the whole codebase is going to barf. |
559a5ef
to
5827466
Compare
|
5827466
to
85272d5
Compare
Reverted the change to the clang-tidy wrapper since it's not needed after fixing the cmake build finally. |
This is finally ready and passing CI. The only thing I'm not sure about is the exact place in the Makefile that is best to add the include path. |
Sourced from https://github.com/gulrak/filesystem/releases/tag/v1.5.8 This is a C++17 compliant `std::filesystem` polyfill. When included via `ghc/fs_std.hpp`, it will delegate to the actual implementation when available, populating the methods in the namespace `fs`. When not available, its own implementations will be in the same namespace.
85272d5
to
1fd5d3b
Compare
Rebased, moved include directory flags to CPPFLAGS. |
Android build is broken - https://github.com/CleverRaven/Cataclysm-DDA/runs/3449081942
Probably |
This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there: |
Summary
None
Purpose of change
Add ghc filesystem, a c++17 compliant std::filesystem polyfill, and convert handwritten filesystem helpers to use it. This helps with writing more portable code and adds a functional
path
class too.Testing
Create a new game, load a game, save and reload the game.
Additional context
Prerequisite for #50143.