[KDevPlatform] 306d9f2 Fix linkage and link-interfaces
Andreas Pakulat
apaku at gmx.de
Tue Dec 14 21:20:00 UTC 2010
commit 306d9f23e3d70fb8d745c384aac96a76963dffbd
branch master
Author: Andreas Pakulat <apaku at gmx.de>
Date: Tue Dec 14 22:17:44 2010 +0100
Fix linkage and link-interfaces
This reduces the link-interfaces of the kdevplatform libs to whats really
necessary (i.e. to libs they really use in their public API) and removes
unecessary ones from the interface that are indirectly pulled in already.
Also cleaned up the linking a bit along the way, removed some unecessary
dependencies.
If someone notices linker errors please send contact me with the output
of make VERBOSE=1 in the failing directory.
CCMAIL: kdevelop-devel at kdevelop.org
diff --git a/debugger/CMakeLists.txt b/debugger/CMakeLists.txt
index 639fc99..0e6fa50 100644
--- a/debugger/CMakeLists.txt
+++ b/debugger/CMakeLists.txt
@@ -30,6 +30,9 @@ target_link_libraries(kdevplatformdebugger
${KDE4_KDEUI_LIBS}
${KDE4_KTEXTEDITOR_LIBS}
)
+target_link_libraries(kdevplatformdebugger LINK_INTERFACE_LIBRARIES
+ kdevplatforminterfaces
+ kdevplatformutil)
set_target_properties(kdevplatformdebugger PROPERTIES VERSION ${KDEVPLATFORM_LIB_VERSION} SOVERSION ${KDEVPLATFORM_LIB_SOVERSION})
install(TARGETS kdevplatformdebugger EXPORT KDevPlatformTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
diff --git a/documentation/CMakeLists.txt b/documentation/CMakeLists.txt
index 7b0c44c..8e36eae 100644
--- a/documentation/CMakeLists.txt
+++ b/documentation/CMakeLists.txt
@@ -15,8 +15,7 @@ target_link_libraries(kdevplatformdocumentation
kdevplatforminterfaces)
target_link_libraries(kdevplatformdocumentation LINK_INTERFACE_LIBRARIES
- ${QT_QTGUI_LIBRARY}
- ${KDE4_KDECORE_LIBS})
+ kdevplatforminterfaces)
set_target_properties(kdevplatformdocumentation PROPERTIES VERSION ${KDEVPLATFORM_LIB_VERSION} SOVERSION ${KDEVPLATFORM_LIB_SOVERSION})
diff --git a/language/CMakeLists.txt b/language/CMakeLists.txt
index b66418d..67985db 100644
--- a/language/CMakeLists.txt
+++ b/language/CMakeLists.txt
@@ -139,8 +139,7 @@ target_link_libraries(kdevplatformlanguage
kdevplatformutil)
# Need to add kdevplatforminterfaces and kdevplatformutil when those are exported targets
target_link_libraries(kdevplatformlanguage LINK_INTERFACE_LIBRARIES
- ${KDE4_KTEXTEDITOR_LIBS}
- ${KDE4_THREADWEAVER_LIBRARIES})
+ kdevplatforminterfaces)
set_target_properties(kdevplatformlanguage PROPERTIES VERSION ${KDEVPLATFORM_LIB_VERSION} SOVERSION ${KDEVPLATFORM_LIB_SOVERSION})
install(TARGETS kdevplatformlanguage EXPORT KDevPlatformTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
diff --git a/outputview/CMakeLists.txt b/outputview/CMakeLists.txt
index 8bc2650..ba30392 100644
--- a/outputview/CMakeLists.txt
+++ b/outputview/CMakeLists.txt
@@ -9,10 +9,9 @@ kde4_add_library( kdevplatformoutputview SHARED ${outputviewinterfaces_LIB_SRCS}
target_link_libraries(kdevplatformoutputview
${QT_QTCORE_LIBRARY}
${KDE4_KDEUI_LIBS}
- kdevplatforminterfaces )
+ kdevplatforminterfaces)
# Need to add kdevplatforminterfaces when its exported as target
target_link_libraries(kdevplatformoutputview LINK_INTERFACE_LIBRARIES
- ${QT_QTCORE_LIBRARY}
${KDE4_KDEUI_LIBS})
set_target_properties(kdevplatformoutputview PROPERTIES VERSION ${KDEVPLATFORM_LIB_VERSION} SOVERSION ${KDEVPLATFORM_LIB_SOVERSION})
install(TARGETS kdevplatformoutputview EXPORT KDevPlatformTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
diff --git a/plugins/execute/CMakeLists.txt b/plugins/execute/CMakeLists.txt
index 0454f7e..6c65936 100644
--- a/plugins/execute/CMakeLists.txt
+++ b/plugins/execute/CMakeLists.txt
@@ -19,6 +19,7 @@ kde4_add_ui_files( kdevexecute_PART_SRCS ${kdevexecute_PART_UIS} )
kde4_add_plugin(kdevexecute ${kdevexecute_PART_SRCS} )
target_link_libraries(kdevexecute
${KDE4_KDEUI_LIBS}
+ ${KDE4_KCMUTILS_LIBS}
kdevplatforminterfaces
kdevplatformutil
kdevplatformproject
diff --git a/project/CMakeLists.txt b/project/CMakeLists.txt
index 1cf4d7c..6e195ad 100644
--- a/project/CMakeLists.txt
+++ b/project/CMakeLists.txt
@@ -26,9 +26,7 @@ target_link_libraries(kdevplatformproject
kdevplatformlanguage
${KDE4_KIO_LIBS})
target_link_libraries(kdevplatformproject LINK_INTERFACE_LIBRARIES
- ${QT_QTGUI_LIBRARY}
- ${KDE4_KDECORE_LIBS}
- ${KDE4_KUTIL_LIBRARY})
+ kdevplatforminterfaces)
set_target_properties(kdevplatformproject PROPERTIES VERSION ${KDEVPLATFORM_LIB_VERSION} SOVERSION ${KDEVPLATFORM_LIB_SOVERSION})
install(TARGETS kdevplatformproject EXPORT KDevPlatformTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
diff --git a/shell/CMakeLists.txt b/shell/CMakeLists.txt
index fdd430c..95641dd 100644
--- a/shell/CMakeLists.txt
+++ b/shell/CMakeLists.txt
@@ -113,15 +113,9 @@ target_link_libraries(kdevplatformshell
kdevplatformdocumentation)
# need to add kdevplatform* once those are exported targets
target_link_libraries(kdevplatformshell LINK_INTERFACE_LIBRARIES
- ${KDE4_KDEUI_LIBS}
- ${KDE4_KDECORE_LIBS}
- kdevplatformproject
+ kdevplatformoutputview
sublime
- kdevplatformlanguage
- kdevplatformvcs
- kdevplatformdocumentation
- kdevplatformdebugger
- kdevplatforminterfaces)
+ kdevplatformdebugger)
set_target_properties(kdevplatformshell PROPERTIES VERSION ${KDEVPLATFORM_LIB_VERSION} SOVERSION ${KDEVPLATFORM_LIB_SOVERSION})
install(FILES
diff --git a/sublime/CMakeLists.txt b/sublime/CMakeLists.txt
index a4c3523..f9aaaeb 100644
--- a/sublime/CMakeLists.txt
+++ b/sublime/CMakeLists.txt
@@ -27,7 +27,6 @@ target_link_libraries(sublime
${KDE4_KDEUI_LIBS}
${KDE4_KPARTS_LIBS})
target_link_libraries(sublime LINK_INTERFACE_LIBRARIES
- ${KDE4_KDEUI_LIBS}
${KDE4_KPARTS_LIBS})
set_target_properties(sublime PROPERTIES VERSION ${KDEVPLATFORM_LIB_VERSION} SOVERSION ${KDEVPLATFORM_LIB_SOVERSION})
install(TARGETS sublime EXPORT KDevPlatformTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index f90cc07..39bf040 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -13,7 +13,8 @@ kde4_add_library(kdevplatformtests SHARED ${kdevplatformtests_LIB_SRCS})
target_link_libraries(kdevplatformtests
${QT_QTCORE_LIBRARY} kdevplatformshell kdevplatformlanguage)
target_link_libraries(kdevplatformtests LINK_INTERFACE_LIBRARIES
- ${QT_QTCORE_LIBRARY} kdevplatformshell)
+ kdevplatformshell
+ kdevplatformlanguage)
set_target_properties(kdevplatformtests PROPERTIES VERSION ${KDEVPLATFORM_LIB_VERSION} SOVERSION ${KDEVPLATFORM_LIB_SOVERSION})
install(TARGETS kdevplatformtests EXPORT KDevPlatformTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
diff --git a/util/CMakeLists.txt b/util/CMakeLists.txt
index de8616d..1e8c2a7 100644
--- a/util/CMakeLists.txt
+++ b/util/CMakeLists.txt
@@ -27,12 +27,10 @@ target_link_libraries(kdevplatformutil
${KDE4_KDEUI_LIBS}
${KDE4_KCMUTILS_LIBRARY}
kdevplatforminterfaces
- kdevplatformoutputview
)
# Might want to add kdevplatform* when they're exported targets
target_link_libraries(kdevplatformutil LINK_INTERFACE_LIBRARIES
- ${KDE4_KDEUI_LIBS}
- ${KDE4_KCMUTILS_LIBRARY})
+ ${KDE4_KDEUI_LIBS})
set_target_properties(kdevplatformutil PROPERTIES VERSION ${KDEVPLATFORM_LIB_VERSION} SOVERSION ${KDEVPLATFORM_LIB_SOVERSION})
install(TARGETS kdevplatformutil EXPORT KDevPlatformTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
diff --git a/vcs/CMakeLists.txt b/vcs/CMakeLists.txt
index 7419986..f3cd726 100644
--- a/vcs/CMakeLists.txt
+++ b/vcs/CMakeLists.txt
@@ -58,8 +58,8 @@ target_link_libraries(kdevplatformvcs
)
# add kdevplatform* when they're exported targets
target_link_libraries(kdevplatformvcs LINK_INTERFACE_LIBRARIES
- ${KDE4_KIO_LIBS}
- ${KDE4_KPARTS_LIBS})
+ kdevplatformoutputview
+ kdevplatforminterfaces)
set_target_properties(kdevplatformvcs PROPERTIES VERSION ${KDEVPLATFORM_LIB_VERSION} SOVERSION ${KDEVPLATFORM_LIB_SOVERSION})
install(TARGETS kdevplatformvcs EXPORT KDevPlatformTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
More information about the KDevelop-devel
mailing list