diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 91f4ea6b77..577279d837 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,6 +1,17 @@ file(MAKE_DIRECTORY "${SM_SRC_DIR}/generated") -# Version Stub generation +if(MSVC) +# Version Updater library. +add_subdirectory(version_updater) + +# This part may move to a different file: it's the SM Data project. +add_custom_command( + OUTPUT ${SM_SRC_DIR}/generated/verstub.cpp + COMMAND VersionUpdater ${SM_SRC_DIR}/generated/verstub.cpp + DEPENDS VersionUpdater +) +else() +# Version Stub generation. Needs fixing on Windows. add_custom_command( OUTPUT ${SM_SRC_DIR}/generated/verstub.cpp COMMAND ${CMAKE_COMMAND} @@ -8,14 +19,7 @@ add_custom_command( WORKING_DIRECTORY "${SM_ROOT_DIR}" DEPENDS ${SM_SRC_DIR}/generated/delete ) -if(WIN32) -add_custom_command( - OUTPUT ${SM_SRC_DIR}/generated/delete - COMMAND del - ARGS ${SM_SRC_DIR}/generated/ver* - WORKING_DIRECTORY "${SM_ROOT_DIR}" -) -else() + add_custom_command( OUTPUT ${SM_SRC_DIR}/generated/delete COMMAND rm diff --git a/src/version_updater/version.hpp.in b/src/version_updater/version.hpp.in new file mode 100644 index 0000000000..4c50f75a43 --- /dev/null +++ b/src/version_updater/version.hpp.in @@ -0,0 +1,15 @@ +#ifndef VERSION_UPDATER_HPP_ +#define VERSION_UPDATER_HPP_ + +int smVersionMajor = @SM_VERSION_MAJOR@; +int smVersionMinor = @SM_VERSION_MINOR@; +int smVersionPatch = @SM_VERSION_PATCH@; +char const * const smVersionGitHash = "@SM_VERSION_GIT_HASH@"; +#if defined(IS_FULL_RELEASE) +char const * const smVersionFull = "@SM_VERSION_TRADITIONAL@"; +#else +char const * const smVersionFull = "@SM_VERSION_FULL@"; +#endif +char const * const smVersionTraditional = "@SM_VERSION_TRADITIONAL@"; + +#endif \ No newline at end of file