From 111a08942a8b5452cd51f41e6f811d55de30c657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Wed, 27 Jan 2021 22:29:06 +0100 Subject: [PATCH] tde_create_translated_desktop: Prevent FTBFS if the length of CMAKE_BINARY_DIR is longer than the tested _basename. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- modules/TDEMacros.cmake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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" )