diff --git a/cmake/today.cmake b/cmake/today.cmake index 51d0031a8..d2f5eaa87 100644 --- a/cmake/today.cmake +++ b/cmake/today.cmake @@ -3,14 +3,10 @@ # YYYY-MM-DD # MACRO (TODAY RESULT) - IF (WIN32) - EXECUTE_PROCESS(COMMAND "cmd" " /C date +%Y-%m-%d" OUTPUT_VARIABLE ${RESULT}) - string(REGEX REPLACE "(..)/(..)/..(..).*" "\\1/\\2/\\3" ${RESULT} ${${RESULT}}) - ELSEIF(UNIX) - EXECUTE_PROCESS(COMMAND "date" "+%Y-%m-%d" OUTPUT_VARIABLE ${RESULT}) - string(REGEX REPLACE "(..)/(..)/..(..).*" "\\1/\\2/\\3" ${RESULT} ${${RESULT}}) - ELSE (WIN32) - MESSAGE(SEND_ERROR "date not implemented") - SET(${RESULT} 000000) - ENDIF (WIN32) + if (DEFINED ENV{SOURCE_DATE_EPOCH} AND NOT WIN32) + EXECUTE_PROCESS(COMMAND "date" "-u" "-d" "@$ENV{SOURCE_DATE_EPOCH}" "+%Y-%m-%d" + OUTPUT_VARIABLE ${RESULT} OUTPUT_STRIP_TRAILING_WHITESPACE) + else() + STRING(TIMESTAMP ${RESULT} "%Y-%m-%d" UTC) + endif() ENDMACRO (TODAY)