diff options
Diffstat (limited to 'redhat/applications/tdepowersave/trinity-cmake-translations.patch')
-rw-r--r-- | redhat/applications/tdepowersave/trinity-cmake-translations.patch | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/redhat/applications/tdepowersave/trinity-cmake-translations.patch b/redhat/applications/tdepowersave/trinity-cmake-translations.patch new file mode 100644 index 000000000..d97302ba3 --- /dev/null +++ b/redhat/applications/tdepowersave/trinity-cmake-translations.patch @@ -0,0 +1,98 @@ +diff --git a/modules/TDEMacros.cmake b/modules/TDEMacros.cmake +index f290e2b..282b765 100644 +--- a/cmake/modules/TDEMacros.cmake ++++ b/cmake/modules/TDEMacros.cmake +@@ -1049,6 +1049,7 @@ macro( tde_create_translation ) + unset( _srcs ) + unset( _lang ) + unset( _dest ) ++ unset( _out_name ) + unset( _directive ) + unset( _var ) + +@@ -1075,6 +1076,13 @@ macro( tde_create_translation ) + set( _directive 1 ) + endif( ) + ++ # found directive "DESTINATION" ++ if( "${_arg}" STREQUAL "OUTPUT_NAME" ) ++ unset( _proj ) ++ set( _var _out_name ) ++ set( _directive 1 ) ++ endif( ) ++ + # collect data + if( _directive ) + unset( _directive ) +@@ -1088,30 +1096,60 @@ macro( tde_create_translation ) + tde_message_fatal( "MSGFMT_EXECUTABLE variable is not defined" ) + elseif( NOT _lang ) + tde_message_fatal( "missing LANG directive" ) +- elseif( NOT _dest ) +- set( _dest "${LOCALE_INSTALL_DIR}/${_lang}/LC_MESSAGES" ) + endif( ) + + # if no file specified, include all *.po files + if( NOT _srcs ) + file( GLOB _srcs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po ) +- endif() ++ endif( ) + if( NOT _srcs ) + tde_message_fatal( "no source files" ) +- endif() ++ endif( ) ++ ++ if( NOT _lang STREQUAL "auto") ++ set( _real_lang ${_lang} ) ++ ++ if( NOT _dest ) ++ set( _dest "${LOCALE_INSTALL_DIR}/${_lang}/LC_MESSAGES" ) ++ endif( ) ++ ++ # OUTPUT_NAME can only be used if we have only one file ++ list( LENGTH _srcs _srcs_num) ++ if( _out_name AND _srcs_num GREATER 1 ) ++ tde_message_fatal( "OUTPUT_NAME can be supplied only with single file or LANG=auto" ) ++ endif( ) ++ ++ elseif( NOT _out_name ) ++ tde_message_fatal( "LANG=auto reqires OUTPUT_NAME directive to be set" ) ++ elseif( _dest ) ++ tde_message_fatal( "DESTINATION cannot be used with LANG=auto" ) ++ endif( ) + + # generate *.mo files + foreach( _src ${_srcs} ) ++ + get_filename_component( _src ${_src} ABSOLUTE ) +- get_filename_component( _out ${_src} NAME_WE ) +- set( _out_name "${_out}-${_lang}.mo" ) +- set( _out_real_name "${_out}.mo" ) ++ ++ if( _out_name ) ++ set( _out ${_out_name} ) ++ if( _lang STREQUAL "auto" ) ++ get_filename_component( _real_lang ${_src} NAME_WE ) ++ set( _dest "${LOCALE_INSTALL_DIR}/${_real_lang}/LC_MESSAGES" ) ++ endif( ) ++ else( ) ++ get_filename_component( _out ${_src} NAME_WE ) ++ endif( ) ++ ++ set( _out_filename "${_out}-${_real_lang}.mo" ) ++ set( _install_filename "${_out}.mo" ) ++ + add_custom_command( +- OUTPUT ${_out_name} +- COMMAND ${MSGFMT_EXECUTABLE} ${_src} -o ${_out_name} ++ OUTPUT ${_out_filename} ++ COMMAND ${MSGFMT_EXECUTABLE} ${_src} -o ${_out_filename} + DEPENDS ${_src} ) +- add_custom_target( "${_out}-${_lang}-translation" ALL DEPENDS ${_out_name} ) +- install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${_out_name} RENAME ${_out_real_name} DESTINATION ${_dest} ) ++ add_custom_target( "${_out}-${_real_lang}-translation" ALL DEPENDS ${_out_filename} ) ++ install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${_out_filename} RENAME ${_install_filename} DESTINATION ${_dest} ) ++ + endforeach( ) + + endmacro( ) |