diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2011-09-20 09:57:52 +0200 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2011-09-22 19:55:13 +0200 |
commit | e41d1630839cf08c9f13dec72bf395f2773eb680 (patch) | |
tree | 873317a0daae4156a1c2d3c4095c7d12568c1ee9 | |
parent | 692baa9d6a990523f4d4e7f3297f0d012332035f (diff) | |
download | dbus-e41d1630839cf08c9f13dec72bf395f2773eb680.tar.gz |
cmake fix: generate build timestamp
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=41029
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
-rw-r--r-- | cmake/CMakeLists.txt | 8 | ||||
-rw-r--r-- | cmake/modules/Macros.cmake | 15 |
2 files changed, 18 insertions, 5 deletions
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index f475876b..905a6b81 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -13,11 +13,6 @@ set (DBUS_VERSION ${DBUS_MAJOR_VERSION}.${DBUS_MINOR_VERSION}.${DBUS_MICRO_VERSI set (DBUS_VERSION_STRING "${DBUS_VERSION}") -if (NOT DBUS_BUILD_TIMESTAMP) - message(STATUS "FIXME set DBUS_BUILD_TIMESTAMP to current date or fix current time stamp generation for having actual build date in version file info") - set (DBUS_BUILD_TIMESTAMP 20091231) -endif (NOT DBUS_BUILD_TIMESTAMP) - # we need to be up to date CMAKE_MINIMUM_REQUIRED(VERSION 2.4.4 FATAL_ERROR) if(COMMAND cmake_policy) @@ -27,6 +22,9 @@ endif(COMMAND cmake_policy) # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/modules") +include(Macros) +TIMESTAMP(DBUS_BUILD_TIMESTAMP) + ########### basic vars ############### diff --git a/cmake/modules/Macros.cmake b/cmake/modules/Macros.cmake new file mode 100644 index 00000000..b6371568 --- /dev/null +++ b/cmake/modules/Macros.cmake @@ -0,0 +1,15 @@ + +MACRO(TIMESTAMP RESULT) + IF(WIN32) + EXECUTE_PROCESS(COMMAND "cmd" " /C date /T" OUTPUT_VARIABLE DATE) + string(REGEX REPLACE "(..)[/.](..)[/.](....).*" "\\3\\2\\1" DATE ${DATE}) + EXECUTE_PROCESS(COMMAND "cmd" " /C time /T" OUTPUT_VARIABLE TIME) + string(REGEX REPLACE "(..):(..)" "\\1\\2" TIME ${TIME}) + set (${RESULT} "${DATE}${TIME}") + ELSEIF(UNIX) + EXECUTE_PROCESS(COMMAND "date" "+%Y%m%d%H%M" OUTPUT_VARIABLE ${RESULT}) + ELSE() + MESSAGE(SEND_ERROR "date not implemented") + SET(${RESULT} 000000000000) + ENDIF() +ENDMACRO() |