diff options
author | Aki <please@ignore.pl> | 2024-02-17 21:04:48 +0100 |
---|---|---|
committer | Aki <please@ignore.pl> | 2024-02-17 21:06:38 +0100 |
commit | 24cccb0a775f3f5cd39988529e86019517a3570a (patch) | |
tree | 1c6f0f591abfc16e32358dbcf2f3fa3c5c3f9434 | |
parent | ebbb8b46e21dc98d4d8dc9e208689fbebfcd275b (diff) | |
download | starshatter-24cccb0a775f3f5cd39988529e86019517a3570a.zip starshatter-24cccb0a775f3f5cd39988529e86019517a3570a.tar.gz starshatter-24cccb0a775f3f5cd39988529e86019517a3570a.tar.bz2 |
Regenerate version.txt on each commit
-rw-r--r-- | CMakeLists.txt | 3 | ||||
-rw-r--r-- | cmake/modules/AddVersionFile.cmake | 15 | ||||
-rw-r--r-- | cmake/modules/generate_version_file.cmake | 3 |
3 files changed, 20 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 8797278..0bca9e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,7 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_EXTENSIONS Yes) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") project(Starshatter) +include(AddVersionFile) include(GitDescribe) if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows) @@ -28,7 +29,7 @@ add_subdirectory(NetEx) add_subdirectory(Starserver) add_subdirectory(StarsEx) add_subdirectory(Starshatter) -configure_file(version.txt.conf ${CMAKE_CURRENT_BINARY_DIR}/version.txt @ONLY) +add_version_file(version.txt version.txt.conf) install( FILES NOTICE COPYING COMPONENT Copyright diff --git a/cmake/modules/AddVersionFile.cmake b/cmake/modules/AddVersionFile.cmake new file mode 100644 index 0000000..67b3371 --- /dev/null +++ b/cmake/modules/AddVersionFile.cmake @@ -0,0 +1,15 @@ +set(ADD_VERSION_FILE_DIR "${CMAKE_CURRENT_LIST_DIR}") +function(add_version_file OUTPUT TEMPLATE) + add_custom_target( + ${OUTPUT} + ALL + BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT}" + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE}" + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + COMMAND + cmake + -DCMAKE_MODULE_PATH='${ADD_VERSION_FILE_DIR}' + -DOUTPUT='${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT}' + -DTEMPLATE='${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE}' + -P "${ADD_VERSION_FILE_DIR}/generate_version_file.cmake") +endfunction() diff --git a/cmake/modules/generate_version_file.cmake b/cmake/modules/generate_version_file.cmake new file mode 100644 index 0000000..e8d8196 --- /dev/null +++ b/cmake/modules/generate_version_file.cmake @@ -0,0 +1,3 @@ +include(GitDescribe) +git_describe(STARSHATTER_VERSION) +configure_file("${TEMPLATE}" "${OUTPUT}" @ONLY) |