##### 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( ../../FindXscreensaver ) unset( _xsavers_l10n ) 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 ".*]*_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( ) ##### create translation templates ############## tde_l10n_create_template( CATALOG "kxsconfig" SOURCES "." ${_xsavers_l10n} KEYWORDS N_ )