From 298bd920d17320718c733030c02ad6bc8ed43c93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Mon, 29 Jul 2019 18:24:29 +0200 Subject: CMakeL10n: Extract strings from tdeabc/scripts/entrylist instead of generating addressee source files. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- CMakeL10n.txt | 62 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 47 insertions(+), 15 deletions(-) diff --git a/CMakeL10n.txt b/CMakeL10n.txt index 4194724ea..1606387a8 100644 --- a/CMakeL10n.txt +++ b/CMakeL10n.txt @@ -40,12 +40,52 @@ if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../dependencies/tqt3/src/xml/qxml.cpp ) endif( ) -##### generate tdeabc/addressee files ########### - -execute_process( - COMMAND perl ./makeaddressee - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/tdeabc/scripts -) +##### prepare tdeabc/addressee strings ########## + +# read file +file( READ "${CMAKE_CURRENT_SOURCE_DIR}/tdeabc/scripts/entrylist" _addressee_data ) +string( REGEX REPLACE "[^\n]" "" _addressee_len ${_addressee_data} ) +string( LENGTH "+${_addressee_len}" _addressee_len ) + +# process lines +set( _addressee_pos 0 ) +unset( _addressee_l10n ) +while( _addressee_pos LESS ${_addressee_len} ) + # pick line + string( REGEX REPLACE "^([^\n]*)\n(.*)" "\\1" _addressee_line "${_addressee_data}" ) + string( REGEX REPLACE "^([^\n]*)\n(.*)" "\\2" _addressee_data "${_addressee_data}" ) + math( EXPR _addressee_pos "${_addressee_pos}+1" ) + + if( "${_addressee_line}" MATCHES "^ *$" OR "${_addressee_line}" MATCHES "^ *#" ) + set( _addressee_line "" ) + else( ) + string( REGEX REPLACE "^[^,]*,([^,]*),([^,]*),.*" "\\1" _addressee_field "${_addressee_line}" ) + string( REGEX REPLACE "^[^,]*,([^,]*),([^,]*),.*" "\\2" _addressee_comment "${_addressee_line}" ) + if( NOT "${_addressee_field}" STREQUAL "" ) + string( REGEX REPLACE "[_ ]+" ";" _addressee_field ${_addressee_field} ) + unset( _addressee_field_name ) + foreach( _addressee_field_part ${_addressee_field} ) + string( SUBSTRING ${_addressee_field_part} 0 1 _addressee_field_first ) + string( SUBSTRING ${_addressee_field_part} 1 -1 _addressee_field_rest ) + string( TOUPPER ${_addressee_field_first} _addressee_field_first ) + set( _addressee_field_name "${_addressee_field_name}${_addressee_field_first}${_addressee_field_rest} " ) + endforeach( ) + string( STRIP ${_addressee_field_name} _addressee_field_name ) + + if( NOT "${_addressee_comment}" STREQUAL "" ) + set( _addressee_line "i18n(\"${_addressee_comment}\", \"${_addressee_field_name}\");" ) + else( ) + set( _addressee_line "i18n(\"${_addressee_field_name}\");" ) + endif( ) + else( ) + set( _addressee_line "" ) + endif( ) + endif( ) + set( _addressee_l10n "${_addressee_l10n}${_addressee_line}\n" ) +endwhile( ) + +# write file +file( WRITE "${CMAKE_CURRENT_SOURCE_DIR}/tdeabc/scripts/entrylist.tde_l10n" "${_addressee_l10n}" ) ##### create translation templates ############## @@ -62,6 +102,7 @@ tde_l10n_create_template( CATALOG "tdelibs" SOURCES "." + "tdeabc/scripts/entrylist.tde_l10n" "tdecore/tde-config.cpp.cmake" "../dependencies/tqt3/src" "../dependencies/tqt3/src/xml/qxml.cpp.tde_l10n" @@ -91,15 +132,6 @@ tde_l10n_create_template( ) -##### clenaup tdeabc/addressee files ############ - -file( REMOVE - ${CMAKE_CURRENT_SOURCE_DIR}/tdeabc/addressee.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/tdeabc/addressee.h - ${CMAKE_CURRENT_SOURCE_DIR}/tdeabc/field.cpp -) - - ##### create translation templates ############## tde_l10n_auto_add_subdirectories( ) -- cgit v1.2.3