Skip to content
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

Switch to C++20 / Rebase on top of TypesettingTools/Aegisub #132

Open
arch1t3cht opened this issue May 20, 2024 · 2 comments
Open

Switch to C++20 / Rebase on top of TypesettingTools/Aegisub #132

arch1t3cht opened this issue May 20, 2024 · 2 comments

Comments

@arch1t3cht
Copy link
Owner

Tracking issue, see title. TypesettingTools/Aegisub switched to C++20 with various other refactors recently. Since ICU now requires C++17, this is getting more and more pressing. Some other dependencies like BestSource also require C++17.

It'll be tricky to rebase all the individual feature branches while ideally still keeping the old ones around for archiving purposes but I'll have to figure something out.

@0tkl
Copy link

0tkl commented May 21, 2024

So are you decided to sync current TypesettingTools/Aegisub changes before bumping dependencies?

I mean, I've tried different C++ standards on Linux builds. If the goal is simply "get it to compile" in C++17, deal with std::iterator in libaegisub/include/libaegisub/line_iterator.h (just copy what's in TT fork now), then this project can compile without errors. But switch to C++20/23 requires much more necessary changes.

@arch1t3cht
Copy link
Owner Author

I've wanted to avoid too many changes that strictly diverge from TypesettingTools master (like a C++17 bump or updating dependencies to different versions than TypesettingTools would), since that has the risk of complicating things even further. But rebasing everything is quite a big undertaking too so, yes, I'll probably end up just bumping to C++17 for now. It's just something to be very careful with to not make things more complicated in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants