deps: allow building the deps using cmake - #14870
Conversation
There was a problem hiding this comment.
Thank you for submitting a contribution to PCSX2
As this is your first pull request, please be aware of the contributing guidelines.
Additionally, as per recent changes in GitHub Actions, your pull request will need to be approved by a maintainer before GitHub Actions can run against it. You can find more information about this change here.
Please be patient until this happens. In the meantime if you'd like to confirm the builds are passing, you have the option of opening a PR on your own fork, just make sure your fork's master branch is up to date!
|
Closing due to AI usage please see the contributor guidelines on the website. |
|
The author of the fork used AI. This is boiler plate and is massive improvement to compiling pcsx2. |
|
Due to the increase of spam and our wasted time, we have blocked first time contributors from using AI. Blame those before you. |
|
I don't blame you, I hate AI as much as the next person. But I am a software engineer with 30 years experience not a vibe coder. |
Description of Changes
Adds the possibility of dependency compilation into cmake, making pcsx2 far more portable and easy to compile off the bat.
Adds a new option "BUILD_DEPENDENCIES" which by default is OFF. When ON, another option is also available BUILD_DEPENDENCIES_AS_SHARED_LIBS which controls whether they are built shared or static.
When BUILD_DEPENDENCIES is ON, the deps are built by cmake.
Does not have any affect presently as the default is off.
Note I only use Linux, so other platforms are untested. I have also bumped up cmake to VERSION 3.5 which gets around the minimum version error.
Rationale behind Changes
Compiling for different systems with different dependencies was a challenge.
Suggested Testing Steps
Did you use AI to help find, test, or implement this issue or feature?
It was based on a fork of pcsx2, called pcee2, that uses AI. I however, have given it the human touch and also made sure it works on linux in both shared and static mode.