diff --git a/desktop_version/.gitignore b/desktop_version/.gitignore index 92608479..241f712d 100644 --- a/desktop_version/.gitignore +++ b/desktop_version/.gitignore @@ -9,6 +9,7 @@ VVVVVV.exe VVVVVV *.a *.gch +src/Version.h.out # Game data data.zip diff --git a/desktop_version/CMakeLists.txt b/desktop_version/CMakeLists.txt index fb6afe77..b603f638 100644 --- a/desktop_version/CMakeLists.txt +++ b/desktop_version/CMakeLists.txt @@ -28,15 +28,20 @@ ELSE() ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) - ADD_DEFINITIONS(-DINTERIM_COMMIT="${INTERIM_COMMIT}") - EXECUTE_PROCESS( COMMAND "${GIT_EXECUTABLE}" log -1 --format=%cs OUTPUT_VARIABLE COMMIT_DATE ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) - ADD_DEFINITIONS(-DCOMMIT_DATE="${COMMIT_DATE}") + MESSAGE(STATUS "This is interim commit ${INTERIM_COMMIT} (committed ${COMMIT_DATE})") + + # Take template file and replace the macros with what we have + # Unfortunately the output is taken relative to binary path so we have to qualify it + CONFIGURE_FILE(src/Version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/src/Version.h.out) + + # This lets Version.h know that Version.h.out exists + ADD_DEFINITIONS(-DVERSION_H_OUT_EXISTS) ENDIF() ENDIF() diff --git a/desktop_version/src/Render.cpp b/desktop_version/src/Render.cpp index cf79cfb8..2cca6838 100644 --- a/desktop_version/src/Render.cpp +++ b/desktop_version/src/Render.cpp @@ -10,6 +10,7 @@ #include "Music.h" #include "Script.h" #include "UtilityClass.h" +#include "Version.h" int tr; int tg; diff --git a/desktop_version/src/Version.h b/desktop_version/src/Version.h new file mode 100644 index 00000000..e1bf0cbc --- /dev/null +++ b/desktop_version/src/Version.h @@ -0,0 +1,8 @@ +#ifndef VERSION_H +#define VERSION_H + +#ifdef VERSION_H_OUT_EXISTS +#include "Version.h.out" +#endif + +#endif /* VERSION_H */ diff --git a/desktop_version/src/Version.h.in b/desktop_version/src/Version.h.in new file mode 100644 index 00000000..0837b9cb --- /dev/null +++ b/desktop_version/src/Version.h.in @@ -0,0 +1,7 @@ +#ifndef VERSION_H_OUT +#define VERSION_H_OUT + +#define INTERIM_COMMIT "@INTERIM_COMMIT@" +#define COMMIT_DATE "@COMMIT_DATE@" + +#endif /* VERSION_H_OUT */