From e22f5ace4a1eae9b299a8b8c60ceb339c73a2e3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Wed, 8 Apr 2020 04:40:39 +0200 Subject: [PATCH] Create symlink for base soname for libraries with release number in the name as a separate target instead of POST_BUILD command. This prevents the command from being executed multiple times and thus FTBFS. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- modules/TDEMacros.cmake | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/modules/TDEMacros.cmake b/modules/TDEMacros.cmake index 23de3ee..da8ed4f 100644 --- a/modules/TDEMacros.cmake +++ b/modules/TDEMacros.cmake @@ -939,8 +939,22 @@ macro( tde_add_library _arg_target ) get_target_property( _soversion ${_target} SOVERSION ) set( _soname "${_soname}.${_soversion}" ) endif( ) - add_custom_command( TARGET ${_target} POST_BUILD - COMMAND ln -s ${_soname} "${CMAKE_CURRENT_BINARY_DIR}/${_soname_base}" ) + if( NOT _exclude_from_all ) + add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_soname_base}" + COMMAND ln -s ${_soname} "${CMAKE_CURRENT_BINARY_DIR}/${_soname_base}" + DEPENDS ${_target} + ) + add_custom_target( + ${_target}+base-so ALL + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_soname_base}" + ) + else( ) + add_custom_command( + TARGET ${_target} POST_BUILD + COMMAND ln -s ${_soname} "${CMAKE_CURRENT_BINARY_DIR}/${_soname_base}" + ) + endif( ) install( FILES "${CMAKE_CURRENT_BINARY_DIR}/${_soname_base}" DESTINATION ${_destination} ) endif( )