summaryrefslogtreecommitdiffhomepage
path: root/cmake
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2024-02-17 21:04:48 +0100
committerAki <please@ignore.pl>2024-02-17 21:06:38 +0100
commit24cccb0a775f3f5cd39988529e86019517a3570a (patch)
tree1c6f0f591abfc16e32358dbcf2f3fa3c5c3f9434 /cmake
parentebbb8b46e21dc98d4d8dc9e208689fbebfcd275b (diff)
downloadstarshatter-24cccb0a775f3f5cd39988529e86019517a3570a.zip
starshatter-24cccb0a775f3f5cd39988529e86019517a3570a.tar.gz
starshatter-24cccb0a775f3f5cd39988529e86019517a3570a.tar.bz2
Regenerate version.txt on each commit
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/AddVersionFile.cmake15
-rw-r--r--cmake/modules/generate_version_file.cmake3
2 files changed, 18 insertions, 0 deletions
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)