mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-22 17:49:43 +01:00
No description
e6238849cb
The commit hash is now properly updated every time it gets changed, and not just when CMake gets re-ran. For this to work, we need to use a few CMake tricks. We add a custom target with ADD_CUSTOM_TARGET(), which is apparently always considered out-of-date (but I had to add a BYPRODUCTS line to get it to actually work), and we use the target to run a .cmake file every time we build. Also, VVVVVV needs to depend on this custom target, to ensure that the game gets built AFTER the version gets generated - otherwise there'll be an error. So we do an ADD_DEPENDENCIES() after the ADD_EXECUTABLE() for VVVVVV. This file, version.cmake, is just the Version.h.out generation that I added previously, but the important thing about all of this is that if the contents of Version.h.out doesn't change, and thus if the commit hash hasn't changed, then CMake will never recompile and relink anything at all. (At least with the Ninja generator.) On a small note, since the Version.h.out generation is now a separate script that is guaranteed to get ran on every single build, while the Git FIND_PACKAGE() gets ran only at configure time, it is possible for the cached path of the Git executable to get out of date. Fixing this requires a simple re-configure (ideally), but in case it wasn't fixed, the INTERIM_COMMIT and COMMIT_DATE variables would get set to empty strings instead of containing a value. To prevent this from happening, I've removed ERROR_QUIET from the EXECUTE_PROCESS() calls in version.cmake, because it's better to explicitly error if the Git executable wasn't found than implicitly carry on like nothing happened. |
||
---|---|---|
.github | ||
desktop_version | ||
mobile_version | ||
third_party | ||
tools | ||
.gitattributes | ||
License exceptions.md | ||
LICENSE.md | ||
README.md |
This is the source code to VVVVVV, version 2.0+. For more context about this release, see the announcement on Terry's blog!
License
VVVVVV's source code is made available under a custom license. See LICENSE.md for more details.
In general, if you're interested in creating something that falls outside the license terms, get in touch with Terry and we'll talk about it!
Authors
- Created by Terry Cavanagh
- Room Names by Bennett Foddy
- Music by Magnus Pålsson
- Metal Soundtrack by FamilyJules
- 2.0 Update (C++ Port) by Simon Roth
- 2.2 Update (SDL2/PhysicsFS/Steamworks port) by Ethan Lee
- Beta Testing by Sam Kaplan and Pauli Kohberger
- Ending Picture by Pauli Kohberger
Versions
There are two versions of the VVVVVV source code available - the desktop version (based on the C++ port, and currently live on Steam), and the mobile version (based on a fork of the original flash source code, and currently live on iOS and Android).