-
Notifications
You must be signed in to change notification settings - Fork 51
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
Cutting into multiple headers #116
Conversation
I would recommend not to lump too many things into this PR, otherwise it will be very hard to review and make sure things work at the CI. So let's just do the "cut headers" here, make sure all CI tests pass, we'll review it and get it in. Then we'll implement the next task in a new PR. The Windows test is failing currently. |
Yes, I have removed that part of my todo and will move that into an issue. I have currently split everything into 4 headers and moved some static funktions out of the BaseTerminal class. Nothing big. After a small cleanup of the windows includes, this PR is ready. |
Awesome. Please ping me once tests pass. |
Here is my idea what the goal should be to refactor the header files:
The current master is close to this ideal, i.e., the base header file is small and contains platform specific stuff, the main header file contains most of the functionality and is platform independent. We just have to move things into cpp files. |
Yes, I have moved most things into source files. I think it would be possible to move the platform dependent code into the Also i'm working on fixing the When that's done, i'll look into fixing the windows includes to make the integration tests working again. |
I never know how to do cmake off top of my head, you can try to google it, otherwise if you get stuck let me know and we can have a look at that together to figure it out. |
I have fixed cmake now. The last thing now is to fix the windows includes. I would create an issue on the platform dependent stuff to keep this PR small. |
595ca65
to
b60793e
Compare
This branch is now ready @certik. |
@certik how is the state on this PR? |
I forgot it was ready, sorry about that. Let me review this soon. I need to check the branch out and test locally. |
So, What's the state on this PR? @certik What do you think? Rather keeping this simple and creating a more complicated version, or just further developing this into something more complicated? |
Complicated in terms of the build system, having source and header files means that you should consider using it as an cmake sub project while you can currently just copy the two headers and integrate them easily into your build system even if you don't use cmake at all (like make or something like that). Also that wouldn't mean that here is no work ongoing, I would port back most things, credit you and we can do it together if you want. |
Hi @MCWertGaming I didn't have time to review immediately and then forgot about it. I am sorry. I want to get somebody to review, for a big change like this. Let me try to get to it this week. We can maybe also meet over video and review together if you have time. |
No problem for taking you time, it's just that I was not sure what the state on this one was. Great thing if some other people look over this, it's not ready yet anyway as some things need further work, like one header is not splited yet and all system dependant code is not moved into a seperate header yet. Maybe we shoudln't merge it into the master branch but into something like cppterminal-next? Like a temporary "master" until the base is finally ready? Also we can surely review this PR together! I have still holidays this week so I have much time, Next week goes only the evening because of my school schedule. But we will definietly find a day! Just send me an email. Thank you really much! |
I would also like to discuss some other things like replacing the current unit testing with gtest and simplifying the BaseTerminal and Terminal classes / the UTF8 conversions. |
I sent a private email to setup a video meeting to get this finished. |
Sure! |
Now when #124 is in, you can now pick a part of this PR, and create a new small PR that we can review and merge. And step by step we can get most of these changes in. |
sure! |
looks like there are no other relevant changes. closing this. |
This pull-request resolves #67 and cuts
terminal.h
andbase_terminal.h
into multiple smaller headers.Things that need to be done: