From 55b56c2e5010ffde0673d4a988c451be390fd817 Mon Sep 17 00:00:00 2001
From: Slávek Banko <slavek.banko@axis.cz>
Date: Wed, 25 Mar 2020 02:43:36 +0100
Subject: The date for updating the release information in docbook entities is
 converted exclusively by cmake code instead of calling the "date" binary
 because it may have different options on different systems.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

If the file modification date is to be determined,
GNU find is necessary.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
---
 kdoctools/ConfigureChecks.cmake | 30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

diff --git a/kdoctools/ConfigureChecks.cmake b/kdoctools/ConfigureChecks.cmake
index 432811825..c98843e23 100644
--- a/kdoctools/ConfigureChecks.cmake
+++ b/kdoctools/ConfigureChecks.cmake
@@ -38,23 +38,31 @@ if( NOT TDE_RELEASE_ENTITIES )
     if( TDE_SCM_MODULE_DATETIME )
       set( TDE_RELEASE_DATE "${TDE_SCM_MODULE_DATETIME}" )
     else( )
+      if( ${CMAKE_SYSTEM_NAME} MATCHES "BSD" )
+        set( GNU_FIND_EXECUTABLE "gfind" )
+      else( )
+        set( GNU_FIND_EXECUTABLE "find" )
+      endif( )
       execute_process(
-        COMMAND find ${TDEVERSION_FILE} -printf "%Tm/%Te/%TY"
+        COMMAND ${GNU_FIND_EXECUTABLE} ${TDEVERSION_FILE} -printf "%Tm/%Te/%TY"
         OUTPUT_VARIABLE TDE_RELEASE_DATE
         OUTPUT_STRIP_TRAILING_WHITESPACE
       )
     endif( )
   endif( )
-  execute_process(
-    COMMAND date +2010-%Y -d "${TDE_RELEASE_DATE}"
-    OUTPUT_VARIABLE TDE_RELEASE_COPYRIGHT
-    OUTPUT_STRIP_TRAILING_WHITESPACE
-  )
-  execute_process(
-    COMMAND date +%B\ %e,\ %Y -d "${TDE_RELEASE_DATE}"
-    OUTPUT_VARIABLE TDE_RELEASE_DATE
-    OUTPUT_STRIP_TRAILING_WHITESPACE
-  )
+
+  string( REGEX REPLACE "^([0-9]+)/([0-9]+)*/([0-9]+).*" "2010-\\3"
+          TDE_RELEASE_COPYRIGHT "${TDE_RELEASE_DATE}" )
+
+  string( REGEX REPLACE "^([0-9]+)/([0-9]+)*/([0-9]+).*" "\\1"
+          _release_month_num "${TDE_RELEASE_DATE}" )
+  math( EXPR _release_month_index "${_release_month_num}-1" )
+  set( _month_names "January;February;March;April;May;June;July;August;September;October;November;December" )
+  list( GET _month_names ${_release_month_index} _release_month_name )
+  string( REGEX REPLACE
+          "^([0-9]+)/([0-9]+)*/([0-9]+).*"
+          "${_release_month_name} \\2, \\3"
+          TDE_RELEASE_DATE  "${TDE_RELEASE_DATE}" )
 
   # update entities
   message( STATUS "Updating ${ENTITIES_FILE}
-- 
cgit v1.2.3

