summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard M. Wiedemann <bwiedemann@suse.de>2018-11-18 08:14:50 +0100
committerBernhard M. Wiedemann <bwiedemann@suse.de>2018-11-18 14:04:40 +0100
commite27c8969982e970d714cfa469f179bed5000494b (patch)
treebfe01aa15b6a0e39536fab8211f7e4dec4bcd317
parentccc347d1f49f71d42a5d0834ae9dabe597d20c74 (diff)
downloadtigervnc-e27c8969982e970d714cfa469f179bed5000494b.tar.gz
tigervnc-e27c8969982e970d714cfa469f179bed5000494b.zip
Use cmake TIMESTAMP function
because it is not only platform independent but also allows to override the build date This helps to make tigervnc builds reproducible See https://reproducible-builds.org/ for why this is good Also adds UTC flag, to be independent of timezone. Also changes JAVA_DATE format to ISO-8601 date format. Requires cmake-2.8.11+ from 2013
-rw-r--r--CMakeLists.txt6
-rw-r--r--java/CMakeLists.txt11
2 files changed, 6 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4fb33600..8a89d454 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,7 +2,7 @@
# Setup
#
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 2.8.11)
if(POLICY CMP0022)
cmake_policy(SET CMP0022 OLD)
endif()
@@ -43,9 +43,7 @@ if(MSVC)
endif()
if(NOT BUILD_TIMESTAMP)
- set(BUILD_TIMESTAMP "")
- execute_process(COMMAND "date" "+%Y-%m-%d %H:%M" OUTPUT_VARIABLE BUILD_TIMESTAMP)
- string(REGEX REPLACE "\n" "" BUILD_TIMESTAMP ${BUILD_TIMESTAMP})
+ STRING(TIMESTAMP BUILD_TIMESTAMP "%Y-%m-%d %H:%M" UTC)
endif()
# Default to optimised builds instead of debug ones. Our code has no bugs ;)
diff --git a/java/CMakeLists.txt b/java/CMakeLists.txt
index 23137f77..da24dcfa 100644
--- a/java/CMakeLists.txt
+++ b/java/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 2.8.11)
project(tigervnc-java Java)
if(NOT VERSION)
@@ -25,13 +25,10 @@ set(JAVA_KEYPASS NOTFOUND CACHE STRING "Password used to protect the private key
set(JAVA_TSA_URL NOTFOUND CACHE STRING "URL of Time Stamping Authority (TSA)")
if(NOT BUILD)
- execute_process(COMMAND "date" "+%Y%m%d" OUTPUT_VARIABLE BUILD)
+ STRING(TIMESTAMP BUILD "%Y%m%d" UTC)
endif()
-execute_process(COMMAND "date" "+%b %d %Y" OUTPUT_VARIABLE JAVA_DATE)
-execute_process(COMMAND "date" "+%H:%M:%S" OUTPUT_VARIABLE JAVA_TIME)
-string(REGEX REPLACE "\n" "" JAVA_DATE ${JAVA_DATE})
-string(REGEX REPLACE "\n" "" JAVA_TIME ${JAVA_TIME})
-string(REGEX REPLACE "\n" "" BUILD ${BUILD})
+STRING(TIMESTAMP JAVA_DATE "%Y-%m-%d" UTC)
+STRING(TIMESTAMP JAVA_TIME "%H:%M:%S" UTC)
set(JAVA_SOURCES "")
set(JAVA_CLASSES "")