You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeartwork/tdescreensaver/kxsconfig/CMakeL10n.txt

79 lines
2.7 KiB

##### verify required programs ##################
if( NOT DEFINED INTLTOOL_EXTRACT_EXECUTABLE )
find_program( INTLTOOL_EXTRACT_EXECUTABLE
NAMES intltool-extract
HINTS "${TDE_PREFIX}/bin"
)
if( NOT INTLTOOL_EXTRACT_EXECUTABLE )
tde_message_fatal( "intltool-extract is required but not found" )
endif( )
endif( )
##### prepare xscreensavers data files ##########
message( STATUS "Prepare to extract strings from xscreensaver data files..." )
include( ${CMAKE_SOURCE_DIR}/FindXscreensaver.cmake )
string( REPLACE ":" ";" SEARCH_XSCREENSAVER_CONFIG_DIRS "${XSCREENSAVER_CONFIG_DIRS}" )
unset( _xsavers_l10n )
foreach( XSCREENSAVER_CONFIG_DIR IN LISTS SEARCH_XSCREENSAVER_CONFIG_DIRS )
file( GLOB _xsaver_files
RELATIVE "${XSCREENSAVER_CONFIG_DIR}"
${XSCREENSAVER_CONFIG_DIR}*.xml )
list( SORT _xsaver_files )
foreach( _xsaver_file ${_xsaver_files} )
string( REGEX REPLACE "\\.xml\$" "" _xsaver_name "${_xsaver_file}" )
if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ScreenSavers/${_xsaver_name}.desktop" )
file( READ "${XSCREENSAVER_CONFIG_DIR}${_xsaver_file}" _xsaver_xml )
string( REGEX REPLACE
".*<screensaver[^>]*_label=\"([^\"]*)\".*" "\\1"
_xsaver_label "${_xsaver_xml}" )
message( STATUS "Create desktop file for ${_xsaver_label} (${_xsaver_name})" )
execute_process(
COMMAND ldd "${XSCREENSAVER_DIR}/${_xsaver_name}"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE _xsaver_libs
)
set( NAME "${_xsaver_name}" )
set( LABEL "${_xsaver_label}" )
if( "${_xsaver_libs}" MATCHES "libGL" )
set( GL1 "X-TDE-Category=OpenGL Screen Savers" )
set( GL2 "X-TDE-Type=OpenGL" )
else( )
set( GL1 "" )
set( GL2 "" )
endif( )
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/ScreenSavers/xscreensaver.template
${CMAKE_CURRENT_SOURCE_DIR}/ScreenSavers/${_xsaver_name}.desktop
@ONLY )
endif( )
execute_process(
COMMAND ${INTLTOOL_EXTRACT_EXECUTABLE}
--type=gettext/xml --srcdir ${XSCREENSAVER_CONFIG_DIR} ${_xsaver_file}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ScreenSavers
OUTPUT_VARIABLE _xsaver_output
)
file( RENAME
"${CMAKE_CURRENT_SOURCE_DIR}/ScreenSavers/${_xsaver_file}.h"
"${CMAKE_CURRENT_SOURCE_DIR}/ScreenSavers/${_xsaver_file}.h.tde_l10n" )
list( APPEND _xsavers_l10n "ScreenSavers/${_xsaver_file}.h.tde_l10n" )
endforeach( )
endforeach( )
##### create translation templates ##############
tde_l10n_create_template(
CATALOG "kxsconfig"
SOURCES
"."
${_xsavers_l10n}
KEYWORDS
N_
)