CMakeL10n: Extract konsole schemas and keytabs directly from definition

files instead of generating temporary name list file.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/120/head
Slávek Banko 4 years ago
parent 0128cf22d9
commit b496ee27b9
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -1,30 +1,33 @@
##### prepare list of schemas ###################
file( WRITE ${CMAKE_CURRENT_SOURCE_DIR}/schemas.tde_l10n "" )
file( GLOB _konsole_schema_files
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../other/*.[Ss]chema
)
unset( _konsole_schemas )
list( SORT _konsole_schema_files )
foreach( _konsole_schema_file ${_konsole_schema_files} )
file( STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/${_konsole_schema_file} _konsole_schema_title REGEX "^title " )
if( _konsole_schema_title )
string( REGEX REPLACE "^title +(.*) *" "\\1" _konsole_schema_title ${_konsole_schema_title} )
file( APPEND ${CMAKE_CURRENT_SOURCE_DIR}/schemas.tde_l10n "i18n(\"${_konsole_schema_title}\");\n" )
endif( )
file( READ ${CMAKE_CURRENT_SOURCE_DIR}/${_konsole_schema_file} _konsole_schema_data )
string( REGEX REPLACE "(^|\n)([^\n]+)" "\\1:\\2" _konsole_schema_data "${_konsole_schema_data}" )
string( REGEX REPLACE "(^|\n):title +([^\n]*)" "\\1i18n(\"\\2\");" _konsole_schema_data "${_konsole_schema_data}" )
string( REGEX REPLACE "(^|\n):[^\n]*" "\\1" _konsole_schema_data "${_konsole_schema_data}" )
file( WRITE ${CMAKE_CURRENT_SOURCE_DIR}/${_konsole_schema_file}.tde_l10n "${_konsole_schema_data}" )
list( APPEND _konsole_schemas ${_konsole_schema_file}.tde_l10n )
endforeach( )
file( GLOB _konsole_keytab_files
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../other/*.[Kk]eytab
)
unset( _konsole_keytabs )
list( SORT _konsole_keytab_files )
foreach( _konsole_keytab_file ${_konsole_keytab_files} )
file( STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/${_konsole_keytab_file} _konsole_keytab_title REGEX "^keyboard " )
if( _konsole_keytab_title )
string( REGEX REPLACE "^keyboard +\"(.*)\" *" "\\1" _konsole_keytab_title ${_konsole_keytab_title} )
file( APPEND ${CMAKE_CURRENT_SOURCE_DIR}/schemas.tde_l10n "i18n(\"${_konsole_keytab_title}\");\n" )
endif( )
file( READ ${CMAKE_CURRENT_SOURCE_DIR}/${_konsole_keytab_file} _konsole_keytab_data )
string( REGEX REPLACE "(^|\n)([^\n]+)" "\\1:\\2" _konsole_keytab_data "${_konsole_keytab_data}" )
string( REGEX REPLACE "(^|\n):keyboard +([^\n]*)" "\\1i18n(\\2);" _konsole_keytab_data "${_konsole_keytab_data}" )
string( REGEX REPLACE "(^|\n):[^\n]*" "\\1" _konsole_keytab_data "${_konsole_keytab_data}" )
file( WRITE ${CMAKE_CURRENT_SOURCE_DIR}/${_konsole_keytab_file}.tde_l10n "${_konsole_keytab_data}" )
list( APPEND _konsole_keytabs ${_konsole_keytab_file}.tde_l10n )
endforeach( )
@ -32,5 +35,5 @@ endforeach( )
tde_l10n_create_template(
CATALOG "konsole"
SOURCES "." "schemas.tde_l10n" "../tips"
SOURCES "." ${_konsole_schemas} ${_konsole_keytabs} "../tips"
)

Loading…
Cancel
Save