-
Notifications
You must be signed in to change notification settings - Fork 18
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
CMake/Docker Support #1
base: master
Are you sure you want to change the base?
Conversation
Sorry I didn’t see this sooner! I must’ve missed the email somehow! This is some fantastic work! I do want to make sure this particular repo is simplistic just so that newcomers can fork it and move on, but would you be interested in having a repo on this org for this work? It perfectly fits the goal of this org! At some point I need to make one big repo for all of the work on this org :P |
Sure, I could shove my CMake support onto its own repo here if you want and close this pull request. EDIT: Oh, and I also wanted to do CMake scripts for the other repos here. If I were to make my own repo, not sure how you'd want me to go about that. |
I've invited you to the org so that you can make repos and whatnot. It might be nice to have the cmake scripts for those other repos on branches? Not totally sure. I want to make sure most people can just copy paste without too many extra files. I greatly prefer using cmake though... |
This is CMake support that I brought over from my source-sdk-2013-cmake fork here: https://github.com/Spirrwell/source-sdk-2013-cmake
This is slightly more polished. There's also support for VSCode's devcontainer stuff. So, you should be able to open SP or MP in VSCode in the devcontainer and just build for Linux. I know this is a VS2022 repo, but it'll probably be useful to someone. I haven't tried the VS WSL integration for building, so maybe it would be useful for that.
I haven't touched VPC, or changed the project creation scripts. I wasn't sure whether I should try to add a CMakePresets.json or not. But, the general usage is:
I believe the only code changes are in ai_behavior_lead.cpp and SP's memoverride.cpp. I would get build errors related to these undefs in ai_behavior_lead.cpp. I assume it has to do with precompiled header differences. I haven't tested the VPC build because I don't feel like hunting down the necessary registry edits to get VPC to generate, lol.
Let me know if there's anything else you want.
EDIT: As an added note, I don't believe this has all the MSVC warnings disabled that would be disabled in VPC. Dunno if you'd want to change this or not.