diff --git a/modules/TDEMacros.cmake b/modules/TDEMacros.cmake index 6215f9f..24c8acf 100644 --- a/modules/TDEMacros.cmake +++ b/modules/TDEMacros.cmake @@ -1914,7 +1914,12 @@ macro( tde_create_translated_desktop ) get_filename_component( _basename ${_src} ABSOLUTE ) get_filename_component( _basedir ${_basename} PATH ) file( RELATIVE_PATH _sourcename "${CMAKE_SOURCE_DIR}" "${_basename}" ) - string( SUBSTRING "${_basename}" 0 ${CMAKE_BINARY_DIR_LEN} _basedir_prefix ) + string( LENGTH "${_basename}" _basename_len ) + if( ${_basename_len} LESS ${CMAKE_BINARY_DIR_LEN} ) + set( _basedir_prefix "${CMAKE_SOURCE_DIR}" ) + else( ) + string( SUBSTRING "${_basename}" 0 ${CMAKE_BINARY_DIR_LEN} _basedir_prefix ) + endif( ) if( ${_basedir_prefix} STREQUAL "${CMAKE_BINARY_DIR}" ) file( RELATIVE_PATH _basename "${CMAKE_CURRENT_BINARY_DIR}" "${_basename}" ) set( _binsuffix ".out" )