From 8394366238782405bf05ed20c75a35feb4f52058 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 25 May 2015 12:43:22 -0400 Subject: [PATCH] Prepare timestamp macros. --- CMake/SMDefs.cmake | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/CMake/SMDefs.cmake b/CMake/SMDefs.cmake index 8cc6951f7a..4d565259d7 100644 --- a/CMake/SMDefs.cmake +++ b/CMake/SMDefs.cmake @@ -18,3 +18,48 @@ else() set(SM_VERSION_FULL "${SM_VERSION_MAJOR}.${SM_VERSION_MINOR}-git-${SM_VERSION_GIT_HASH}") endif() +if (CMAKE_MAJOR_VERSION STREQUAL "3") + # Use the CMake 3 approach whenever possible. + string(TIMESTAMP SM_TIMESTAMP_DATE "%Y%m%d") + string(TIMESTAMP SM_TIMESTAMP_TIME "%H:%M:%S" UTC) +else() + if(MSVC) + message(STATUS "Getting date and time information via PowerShell. This may take a few seconds.") + execute_process( + COMMAND powershell get-date -format "{yyyyMMdd}" + OUTPUT_VARIABLE SM_TIMESTAMP_DATE + RESULT_VARIABLE ret + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + execute_process( + COMMAND powershell get-date -format "{HH:mm:ss zzz}" + OUTPUT_VARIABLE SM_TIMESTAMP_TIME + RESULT_VARIABLE ret + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + else() + execute_process( + COMMAND date "+\"%Y%m%d\"" + OUTPUT_VARIABLE SM_TIMESTAMP_DATE + RESULT_VARIABLE ret + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + execute_process( + COMMAND date "+\"%H:%M:%S %z" + OUTPUT_VARIABLE SM_TIMESTAMP_TIME + RESULT_VARIABLE ret + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + endif() + + if (NOT (ret STREQUAL "0")) + set(SM_TIMESTAMP_DATE "xxxxyyzz") + endif() + + if (NOT (ret STREQUAL "0")) + set(SM_TIMESTAMP_TIME "xx:yy:zz ???") + endif() +endif() +