summaryrefslogtreecommitdiffstats
path: root/redhat/applications/tdepowersave/trinity-cmake-translations.patch
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/applications/tdepowersave/trinity-cmake-translations.patch')
-rw-r--r--redhat/applications/tdepowersave/trinity-cmake-translations.patch98
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( )