From d504c98bb7342c38764c83f3f3c0c31eb6834f18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Thu, 11 Jun 2020 17:11:53 +0200 Subject: [PATCH] tde_add_library: Add the ability to link libraries as private. 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, 18 insertions(+) diff --git a/modules/TDEMacros.cmake b/modules/TDEMacros.cmake index e45de66..7f5a30f 100644 --- a/modules/TDEMacros.cmake +++ b/modules/TDEMacros.cmake @@ -787,6 +787,7 @@ macro( tde_add_library _arg_target ) unset( _destination ) unset( _embed ) unset( _link ) + unset( _link_private ) unset( _dependencies ) unset( _storage ) unset( _exclude_from_all ) @@ -881,6 +882,12 @@ macro( tde_add_library _arg_target ) set( _storage "_link" ) endif( "+${_arg}" STREQUAL "+LINK" ) + # found directive "LINK_PRIVATE" + if( "+${_arg}" STREQUAL "+LINK_PRIVATE" ) + set( _skip_store 1 ) + set( _storage "_link_private" ) + endif( "+${_arg}" STREQUAL "+LINK_PRIVATE" ) + # found directive "DEPENDENCIES" if( "+${_arg}" STREQUAL "+DEPENDENCIES" ) set( _skip_store 1 ) @@ -1044,6 +1051,17 @@ macro( tde_add_library _arg_target ) endif( ) endif( _embed ) + # set private linked libraries + if( _link_private ) + if( NOT ${CMAKE_VERSION} VERSION_LESS "2.8.12" ) + if( _link ) + list( INSERT _link 0 "PUBLIC" ) + endif() + list( APPEND _link "PRIVATE" ) + endif() + list( APPEND _link ${_link_private} ) + endif( _link_private ) + # set link libraries if( _link ) if( _embed AND ${CMAKE_VERSION} VERSION_EQUAL "2.8.12.0" )