From 51411c5022e4506b632a377614ee66fee472bf9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= 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 (cherry picked from commit 55b56c2e5010ffde0673d4a988c451be390fd817) --- 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.1