# ----------------------------------------------------------------------------- # Creates and writes the build string after building a project # ----------------------------------------------------------------------------- function( WriteBuildString OUTPUT_DIR ) # Get the current date and time string( TIMESTAMP CURRENT_DATE "%Y_%m_%d_%I_%M" ) # Use %I for 12-hour clock # Compute AM/PM string( TIMESTAMP CURRENT_HOUR "%H" ) if( CURRENT_HOUR LESS 12 ) set( TIME_DESIGNATOR "AM" ) else() set( TIME_DESIGNATOR "PM" ) endif() # Get the current git commit hash execute_process( COMMAND git rev-parse --short HEAD WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_COMMIT_HASH OUTPUT_STRIP_TRAILING_WHITESPACE ) # Convert the hash to uppercase string( TOUPPER "${GIT_COMMIT_HASH}" GIT_COMMIT_HASH ) # Get the current git branch name execute_process( COMMAND git rev-parse --abbrev-ref HEAD WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_BRANCH_NAME OUTPUT_STRIP_TRAILING_WHITESPACE ) # Construct the build string set( BUILD_STRING "R5pc_${GIT_BRANCH_NAME}_N1094_${GIT_COMMIT_HASH}_${CURRENT_DATE}_${TIME_DESIGNATOR}\n" ) # Write the build string to a file file( WRITE "${CMAKE_SOURCE_DIR}/${OUTPUT_DIR}/build.txt" "${BUILD_STRING}" ) endfunction() # Initiate the creation command WriteBuildString( "../../../game" )