File: ecbuild_get_date.cmake

package info (click to toggle)
grib-api 1.19.0-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 217,848 kB
  • ctags: 16,929
  • sloc: ansic: 111,244; sh: 14,785; makefile: 5,307; f90: 3,583; perl: 3,160; python: 2,830; yacc: 712; fortran: 468; lex: 330; cpp: 305; awk: 66
file content (60 lines) | stat: -rw-r--r-- 2,043 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# (C) Copyright 1996-2016 ECMWF.
# 
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
# In applying this licence, ECMWF does not waive the privileges and immunities 
# granted to it by virtue of its status as an intergovernmental organisation nor
# does it submit to any jurisdiction.

##############################################################################
#.rst:
#
# ecbuild_get_date
# ================
#
# Set the CMake variable ``${DATE}`` to the current date in the form
# YYYY.mm.DD. ::
#
#   ecbuild_get_date( DATE )
#
##############################################################################

macro(ecbuild_get_date RESULT)
    if (HAVE_BIT_REPRODUCIBLE)
      ecbuild_info("date not included in bit-reproducible builds")
    else()
      if(UNIX)
          execute_process(COMMAND "date" "+%d/%m/%Y" OUTPUT_VARIABLE ${RESULT})
          string(REGEX REPLACE "(..)/(..)/(....).*" "\\3.\\2.\\1" ${RESULT} ${${RESULT}})
      else()
          ecbuild_error("date not implemented")
	endif()
     endif()
endmacro(ecbuild_get_date)

##############################################################################
#.rst:
#
# ecbuild_get_timestamp
# =====================
#
# Set the CMake variable ``${TIMESTAMP}`` to the current date and time in the
# form YYYYmmDDHHMMSS. ::
#
#   ecbuild_get_timestamp( TIMESTAMP )
#
##############################################################################

macro(ecbuild_get_timestamp RESULT)
    if (HAVE_BIT_REPRODUCIBLE)
        ecbuild_info("timestamps not included in bit-reproducible builds")
    else()
        if(UNIX)
            execute_process(COMMAND "date" "+%Y/%m/%d/%H/%M/%S" OUTPUT_VARIABLE _timestamp)
            string(REGEX REPLACE "(....)/(..)/(..)/(..)/(..)/(..).*" "\\1\\2\\3\\4\\5\\6" ${RESULT} ${_timestamp})
        else()
            ecbuild_warn("This is NOT UNIX - timestamp not implemented")
          endif()
     endif()
endmacro(ecbuild_get_timestamp)