summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2020-04-02 05:26:51 +0200
committerSlávek Banko <slavek.banko@axis.cz>2020-04-02 05:26:51 +0200
commit7183c21e0836e839d3931d18b1971c7aafccb30e (patch)
tree2dd05ddadca7022e5fe0141d84b4540f3f9b1f1f
parent6574bc5ae92f85d97705d1f41cf52709246122e5 (diff)
downloadtde-cmake-7183c21e.tar.gz
tde-cmake-7183c21e.zip
tde_create_translated_desktop: Cleaning the LINGUAS file
that is generated for merging desktop file translations will not be performed as a POST BUILD command, but as a separate target. This solves premature file deletion if multiple desktop files use a common translation folder. Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r--modules/TDEMacros.cmake17
1 files changed, 13 insertions, 4 deletions
diff --git a/modules/TDEMacros.cmake b/modules/TDEMacros.cmake
index a5d137b..f395d9e 100644
--- a/modules/TDEMacros.cmake
+++ b/modules/TDEMacros.cmake
@@ -1684,12 +1684,21 @@ macro( tde_create_translated_desktop )
DEPENDS ${_src}
)
add_custom_target( "${_out_name}-translated" ALL DEPENDS ${_out_name} )
- add_custom_command(
- TARGET "${_out_name}-translated"
- POST_BUILD COMMAND ${CMAKE_COMMAND} -E remove ${_po_dir}/LINGUAS
- )
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${_out_name} DESTINATION ${_dest} )
+ # cleanup LINGUAS file
+ get_filename_component( _linguas_path "${_po_dir}/LINGUAS" ABSOLUTE )
+ file( RELATIVE_PATH _linguas_path "${CMAKE_SOURCE_DIR}" "${_linguas_path}" )
+ string( REPLACE "/" "+" _linguas_cleanup_target "${_linguas_path}" )
+ if( NOT TARGET ${_linguas_cleanup_target} )
+ add_custom_target( ${_linguas_cleanup_target} ALL
+ COMMAND ${CMAKE_COMMAND} -E remove ${_po_dir}/LINGUAS
+ COMMENT "Cleanup ${_linguas_path} file..."
+ )
+ endif( NOT TARGET ${_linguas_cleanup_target} )
+
+ add_dependencies( ${_linguas_cleanup_target} "${_out_name}-translated" )
+
else( )
# create template for intltool-merge