diff --git a/.gitignore b/.gitignore index bcf04110..8e1c685e 100644 --- a/.gitignore +++ b/.gitignore @@ -72,4 +72,5 @@ ipch/ builds/ -CMakeLists.txt.user \ No newline at end of file +CMakeLists.txt.user +version.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 982937dd..d300e3a2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -240,6 +240,26 @@ else() set(SOURCES ${SOURCES} "extras/piped_proc.cpp" "widgets/cameraview_extcam.cpp") endif() +find_package(Git REQUIRED) + +string(TIMESTAMP BUILD_DATE %y%m%d) + +execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_BRANCH + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +execute_process( + COMMAND ${GIT_EXECUTABLE} describe --match=DUMMY --always --dirty + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +configure_file("${CMAKE_SOURCE_DIR}/version.h.in" "${CMAKE_SOURCE_DIR}/version.h") + set (PREFIX "") if (WIN32) @@ -292,15 +312,13 @@ if (${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC) set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/LARGEADDRESSAWARE") endif() -string(TIMESTAMP data_exe %y%m%d) - set_target_properties( ${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/pdb" - OUTPUT_NAME "${PROJECT_NAME}${PREFIX}_${data_exe}" + OUTPUT_NAME "${PROJECT_NAME}${PREFIX}_${BUILD_DATE}" DEBUG_POSTFIX "_d" ) diff --git a/version.h b/version.h deleted file mode 100644 index a50dace3..00000000 --- a/version.h +++ /dev/null @@ -1 +0,0 @@ -#define VERSION_INFO "M7 (sim) 18.10.2020 (based on tmj 730ba72)" diff --git a/version.h.in b/version.h.in new file mode 100644 index 00000000..c63b5bda --- /dev/null +++ b/version.h.in @@ -0,0 +1 @@ +#define VERSION_INFO "EU07 (cmake), @GIT_BRANCH@/@GIT_HASH@, built on @BUILD_DATE@"