From 1686d0e64eefa5f4036dce1800d666c41b0b5e5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Mon, 25 Jan 2021 20:41:17 +0100 Subject: [PATCH] tde_create_translated_desktop: Instead of preprocessing the desktop file for use with intltool-merge already in the configuration phase, prepare the file during the custom command call just before calling intltool-merge. This will allow the natural use of the macro with the generated files. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- modules/TDEMacros.cmake | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/TDEMacros.cmake b/modules/TDEMacros.cmake index 913c854..6215f9f 100644 --- a/modules/TDEMacros.cmake +++ b/modules/TDEMacros.cmake @@ -2017,15 +2017,14 @@ macro( tde_create_translated_desktop ) else( ) - # create template for intltool-merge - file( READ ${_src} _src_data ) + # prepare keywords for intltool string( REPLACE ";" "|" _keywords_match "(${_keywords_desktop})" ) - string( REGEX REPLACE "(^|\n)${_keywords_match}[ ]*=[ ]*" "\\1_\\2=" _src_data "${_src_data}" ) - file( WRITE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.in "${_src_data}" ) # merge translations command + get_filename_component( _src ${_src} ABSOLUTE ) add_custom_command( OUTPUT ${_basename}${_binsuffix} + COMMAND ${PERL_EXECUTABLE} -p -e "'s/^${_keywords_match}[ ]*=[ ]*/_\\1=/'" < ${_src} > ${_basename}.in COMMAND ${PERL_EXECUTABLE} ${INTLTOOL_MERGE_EXECUTABLE} -q -d ${_po_dir} ${_basename}.in ${_basename}${_binsuffix} DEPENDS ${_src} COMMENT "Merging translations into ${_sourcename}"