use the relative path according to the source directory instead of the base file names. This will prevent potential base file name collisions and allow the creation of common rules. Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
@ -1834,13 +1834,20 @@ macro( tde_create_translated_desktop )
if( NOT _src )
tde_message_fatal( "no source desktop file specified" )
endif( )
get_filename_component( _basename ${_src} NAME )
get_filename_component( _basename ${_src} ABSOLUTE )
get_filename_component( _basedir ${_basename} PATH )
file( RELATIVE_PATH _basename "${CMAKE_CURRENT_SOURCE_DIR}" "${_basename}" )
# if no output name specified, use the same as source
if( NOT _out_name )
get_filename_component( _out_name ${_src} NAME )
# prepare the binary directory according to source directory
file( RELATIVE_PATH _binary_basedir "${CMAKE_CURRENT_SOURCE_DIR}" "${_basedir}" )
set( _binary_basedir "${CMAKE_CURRENT_BINARY_DIR}/${_binary_basedir}" )
file( MAKE_DIRECTORY "${_binary_basedir}" )
# if no po directory specified, try to determine it
if( NOT _po_dir )
if( EXISTS ${CMAKE_SOURCE_DIR}/translations/desktop_files/${_basename} AND