summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorModestas Vainius <modax@debian.org>2011-05-25 18:15:13 +0300
committerModestas Vainius <modax@debian.org>2011-05-25 22:37:49 +0300
commit68df2c172b738952b4df6e6b47893c73ec9d503e (patch)
tree8963ee75a3c33862a87a153ff38ee45096683052
parentff44cb7ba7f13559af90fd09ca20d8dc5f58566d (diff)
downloadpkg-kde-tools-68df2c172b738952b4df6e6b47893c73ec9d503e.tar.gz
Fix a problem with target_link_directories().
target_link_libraries() can't be used outside a directory the target is defined in. Use LINK_FLAGS target property instead.
-rw-r--r--dlrestrictions/DLRestrictionsConfig.cmake7
1 files changed, 6 insertions, 1 deletions
diff --git a/dlrestrictions/DLRestrictionsConfig.cmake b/dlrestrictions/DLRestrictionsConfig.cmake
index 87bd2f2..24a1c3e 100644
--- a/dlrestrictions/DLRestrictionsConfig.cmake
+++ b/dlrestrictions/DLRestrictionsConfig.cmake
@@ -34,9 +34,14 @@ function(DLRESTRICTIONS_PROCESS_TARGETS)
if (${dlr_target_type} MATCHES "^(SHARED|MODULE)_LIBRARY$")
set_property(TARGET ${dlr_target} PROPERTY COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}" APPEND)
endif (${dlr_target_type} MATCHES "^(SHARED|MODULE)_LIBRARY$")
+ add_dependencies(${target} ${dlr_target})
set_property(TARGET ${dlr_target} PROPERTY EchoString "Adding DLRestrictions (=${dlr_expression}) for ${target}")
+ get_property(dlr_target_location TARGET ${dlr_target} PROPERTY LOCATION)
+ get_property(target_link_flags TARGET ${target} PROPERTY LINK_FLAGS)
# FIXME: not portable
- target_link_libraries(${target} "-Wl,--whole-archive" ${dlr_target} "-Wl,--no-whole-archive")
+ # NOTE: target_link_libraries() can't be used outside a directory the target is defined in
+ set_property(TARGET ${target} PROPERTY LINK_FLAGS
+ "${target_link_flags} -Wl,--whole-archive '${dlr_target_location}' -Wl,--no-whole-archive")
endif (dlr_expression)
endforeach(target ${ARGN})
endfunction(DLRESTRICTIONS_PROCESS_TARGETS)