[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