[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    [Panel-devel] CMake 2.4.7, soversion
From:       Alex Merry <huntedhacker () tiscali ! co ! uk>
Date:       2007-07-23 17:05:23
Message-ID: 200707231805.28379.huntedhacker () tiscali ! co ! uk
[Download RAW message or body]

[Attachment #2 (multipart/signed)]

[Attachment #4 (multipart/mixed)]


As far as I can see, CMake 2.4.6 and earlier ignore the SOVERSION 
property as applied to modules (like when you use kde4_add_plugin).  So 
using
set_target_properties(plasma_applet_clock PROPERTIES VERSION 1.0.0 
SOVERSION 1)
has no effect, and plasma_applet_clock.so will be the only file 
installed, and will be a real file.

However, CMake 2.4.7 now takes notice of this property, but does it 
wrong.  It creates the symlink, but doesn't install the real file.  So 
the clock applet will install plasma_applet_clock.so, a symlink 
pointing to plasma_applet_clock.so.1.0.0.  Which doesn't exist.

Unsurprisingly, this breaks plasma.

This is a cmake bug.  However, given that soversions have never 
supported for plugins in cmake, I think we should remove the soversion 
property lines from all the applet CMakeLists.txt (none of the engines 
set the soversion) as a workaround for now.  I'm report this as a bug 
in CMake as well.

Patches attached.

Alex


-- 
KDE: http://www.kde.org
Ubuntu/Kubuntu: http://www.ubuntu.org http://www.kubuntu.org
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html

["plasma-soversion-kdebase.diff" (text/x-diff)]

Index: kdebase/workspace/plasma/applets/url/CMakeLists.txt
===================================================================
--- kdebase/workspace/plasma/applets/url/CMakeLists.txt	(revision 691297)
+++ kdebase/workspace/plasma/applets/url/CMakeLists.txt	(working copy)
@@ -4,7 +4,6 @@ set(url_SRCS
 
 kde4_add_plugin(plasma_applet_url ${url_SRCS})
 target_link_libraries(plasma_applet_url plasma ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_url PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_url DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-applet-url.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: kdebase/workspace/plasma/applets/solidnotifier/CMakeLists.txt
===================================================================
--- kdebase/workspace/plasma/applets/solidnotifier/CMakeLists.txt	(revision 691297)
+++ kdebase/workspace/plasma/applets/solidnotifier/CMakeLists.txt	(working copy)
@@ -6,7 +6,6 @@ set(solidnotifier_SRCS
 kde4_add_ui_files(solidnotifier_SRCS )
 kde4_add_plugin(plasma_applet_solidnotifier ${solidnotifier_SRCS})
 target_link_libraries(plasma_applet_solidnotifier plasma ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_solidnotifier PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_solidnotifier DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-solidnotifier-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: kdebase/workspace/plasma/applets/clock/CMakeLists.txt
===================================================================
--- kdebase/workspace/plasma/applets/clock/CMakeLists.txt	(revision 691297)
+++ kdebase/workspace/plasma/applets/clock/CMakeLists.txt	(working copy)
@@ -5,7 +5,6 @@ set(clock_SRCS
 kde4_add_ui_files(clock_SRCS clockConfig.ui )
 kde4_add_plugin(plasma_applet_clock ${clock_SRCS})
 target_link_libraries(plasma_applet_clock plasma ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_clock PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_clock DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-clock-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})

["plasma-soversion-playground.diff" (text/x-diff)]

Index: applets/dict/CMakeLists.txt
===================================================================
--- applets/dict/CMakeLists.txt	(revision 691297)
+++ applets/dict/CMakeLists.txt	(working copy)
@@ -8,7 +8,6 @@ set(dict_SRCS
 
 kde4_add_plugin(plasma_applet_dict ${dict_SRCS})
 target_link_libraries(plasma_applet_dict ${PLASMA_LIBRARIES} ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_dict PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_dict DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-dict-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/tasks/CMakeLists.txt
===================================================================
--- applets/tasks/CMakeLists.txt	(revision 691297)
+++ applets/tasks/CMakeLists.txt	(working copy)
@@ -6,7 +6,6 @@ set(tasks_SRCS
 
 kde4_add_plugin(plasma_applet_tasks ${tasks_SRCS})
 target_link_libraries(plasma_applet_tasks ${KDE4_KDEUI_LIBS} ${PLASMA_LIBRARIES} \
                taskmanager)
-set_target_properties(plasma_applet_tasks PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_tasks DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-tasks-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/samplegl2/CMakeLists.txt
===================================================================
--- applets/samplegl2/CMakeLists.txt	(revision 691297)
+++ applets/samplegl2/CMakeLists.txt	(working copy)
@@ -13,7 +13,6 @@ target_link_libraries(plasma_applet_test
 ENDIF (QT_QTOPENGL_FOUND)
 
 
-set_target_properties(plasma_applet_testgl2 PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_testgl2 DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-testgl2-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/notes/CMakeLists.txt
===================================================================
--- applets/notes/CMakeLists.txt	(revision 691297)
+++ applets/notes/CMakeLists.txt	(working copy)
@@ -17,9 +17,6 @@ kde4_add_plugin(plasma_applet_notes ${no
 target_link_libraries(plasma_applet_notes
             plasma ${KDE4_KIO_LIBS}
             )
-set_target_properties(plasma_applet_notes
-            PROPERTIES VERSION 1.0.0 SOVERSION 1
-            )
 install(
     TARGETS plasma_applet_notes
     DESTINATION ${PLUGIN_INSTALL_DIR}
Index: applets/network/CMakeLists.txt
===================================================================
--- applets/network/CMakeLists.txt	(revision 691297)
+++ applets/network/CMakeLists.txt	(working copy)
@@ -7,7 +7,6 @@ kde4_add_ui_files(network_SRCS config.ui
 
 kde4_add_plugin(plasma_applet_network ${network_SRCS})
 target_link_libraries(plasma_applet_network plasma ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_network PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_network DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-network-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/frame/CMakeLists.txt
===================================================================
--- applets/frame/CMakeLists.txt	(revision 691297)
+++ applets/frame/CMakeLists.txt	(working copy)
@@ -8,7 +8,6 @@ kde4_add_ui_files(frame_SRCS config.ui )
 
 kde4_add_plugin(plasma_applet_frame ${frame_SRCS})
 target_link_libraries(plasma_applet_frame ${PLASMA_LIBRARIES} ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_frame PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_frame DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-frame-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/rotator/CMakeLists.txt
===================================================================
--- applets/rotator/CMakeLists.txt	(revision 691297)
+++ applets/rotator/CMakeLists.txt	(working copy)
@@ -9,7 +9,6 @@ qt4_add_resources(rotator_SRCS rotator.q
 kde4_add_plugin(plasma_applet_rotator ${rotator_SRCS})
 target_link_libraries(plasma_applet_rotator plasma ${KDE4_KIO_LIBS})
 
-set_target_properties(plasma_applet_rotator PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_rotator DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-rotator-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/debugapplet/applet/CMakeLists.txt
===================================================================
--- applets/debugapplet/applet/CMakeLists.txt	(revision 691297)
+++ applets/debugapplet/applet/CMakeLists.txt	(working copy)
@@ -7,7 +7,6 @@ set(debug_SRCS
 
 kde4_add_plugin(plasma_applet_debug ${debug_SRCS})
 target_link_libraries(plasma_applet_debug ${PLASMA_LIBRARIES} ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_debug PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_debug DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-debug-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/fileWatcher/CMakeLists.txt
===================================================================
--- applets/fileWatcher/CMakeLists.txt	(revision 691297)
+++ applets/fileWatcher/CMakeLists.txt	(working copy)
@@ -7,7 +7,6 @@ kde4_add_ui_files(fileWatcher_SRCS fileW
 kde4_add_plugin(plasma_applet_fileWatcher ${fileWatcher_SRCS})
 
 target_link_libraries(plasma_applet_fileWatcher plasma ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_fileWatcher PROPERTIES VERSION 1.0.0 SOVERSION \
1)  
 install(TARGETS plasma_applet_fileWatcher DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-fileWatcher-default.desktop DESTINATION \
                ${SERVICES_INSTALL_DIR})
Index: applets/slideInSlideOut/CMakeLists.txt
===================================================================
--- applets/slideInSlideOut/CMakeLists.txt	(revision 691297)
+++ applets/slideInSlideOut/CMakeLists.txt	(working copy)
@@ -6,7 +6,6 @@ set(slideInSlideOut_SRCS
 kde4_add_ui_files(slideInSlideOut_SRCS )
 kde4_add_plugin(plasma_applet_slideInSlideOut ${slideInSlideOut_SRCS})
 target_link_libraries(plasma_applet_slideInSlideOut plasma ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_slideInSlideOut PROPERTIES VERSION 1.0.0 \
SOVERSION 1)  
 install(TARGETS plasma_applet_slideInSlideOut DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-slideInSlideOut-default.desktop DESTINATION \
                ${SERVICES_INSTALL_DIR})
Index: applets/twitter/CMakeLists.txt
===================================================================
--- applets/twitter/CMakeLists.txt	(revision 691297)
+++ applets/twitter/CMakeLists.txt	(working copy)
@@ -6,7 +6,6 @@ set(twitter_SRCS
 
 kde4_add_plugin(plasma_applet_twitter ${twitter_SRCS})
 target_link_libraries(plasma_applet_twitter plasma ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_twitter PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_twitter DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-twitter-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/cia.vc/CMakeLists.txt
===================================================================
--- applets/cia.vc/CMakeLists.txt	(revision 691297)
+++ applets/cia.vc/CMakeLists.txt	(working copy)
@@ -5,7 +5,6 @@ set(ciavc_SRCS
 
 kde4_add_plugin(plasma_applet_ciavc ${ciavc_SRCS})
 target_link_libraries(plasma_applet_ciavc  ${PLASMA_LIBRARIES} ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_ciavc PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_ciavc DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-applet-ciavc.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/script/CMakeLists.txt
===================================================================
--- applets/script/CMakeLists.txt	(revision 691297)
+++ applets/script/CMakeLists.txt	(working copy)
@@ -5,7 +5,6 @@ set(script_SRCS
 #kde4_add_ui_files(script_SRCS scriptConfig.ui )
 kde4_add_plugin(plasma_applet_script ${script_SRCS})
 target_link_libraries(plasma_applet_script plasma ${KDE4_KIO_LIBS} \
                ${QT_QTSCRIPT_LIBRARY} ${QT_QTUITOOLS_LIBRARY})
-set_target_properties(plasma_applet_script PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_script DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-script-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/samplegl/CMakeLists.txt
===================================================================
--- applets/samplegl/CMakeLists.txt	(revision 691297)
+++ applets/samplegl/CMakeLists.txt	(working copy)
@@ -10,7 +10,6 @@ kde4_add_plugin(plasma_applet_samplegl $
 target_link_libraries(plasma_applet_samplegl plasma GLU ${KDE4_KIO_LIBS} \
${QT_QTOPENGL_LIBRARY} ${OPENGL_gl_LIBRARY})  ENDIF (QT_QTOPENGL_FOUND)
 
-set_target_properties(plasma_applet_samplegl PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_samplegl DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-samplegl-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/groupphoto/CMakeLists.txt
===================================================================
--- applets/groupphoto/CMakeLists.txt	(revision 691297)
+++ applets/groupphoto/CMakeLists.txt	(working copy)
@@ -8,7 +8,6 @@ kde4_add_ui_files(groupphoto_SRCS config
 
 kde4_add_plugin(plasma_applet_groupphoto ${groupphoto_SRCS})
 target_link_libraries(plasma_applet_groupphoto ${PLASMA_LIBRARIES} ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_groupphoto PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_groupphoto DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-groupphoto-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/digital-clock/CMakeLists.txt
===================================================================
--- applets/digital-clock/CMakeLists.txt	(revision 691297)
+++ applets/digital-clock/CMakeLists.txt	(working copy)
@@ -8,7 +8,6 @@ set(clock_SRCS
 kde4_add_ui_files(clock_SRCS clockConfig.ui )
 kde4_add_plugin(plasma_applet_dig_clock ${clock_SRCS})
 target_link_libraries(plasma_applet_dig_clock plasma ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_dig_clock PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_dig_clock DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-digital-clock-default.desktop DESTINATION \
                ${SERVICES_INSTALL_DIR})
Index: applets/desktop/CMakeLists.txt
===================================================================
--- applets/desktop/CMakeLists.txt	(revision 691297)
+++ applets/desktop/CMakeLists.txt	(working copy)
@@ -8,7 +8,6 @@ set(desktop_SRCS
 
 kde4_add_plugin(plasma_applet_desktop ${desktop_SRCS})
 target_link_libraries(plasma_applet_desktop ${PLASMA_LIBRARIES} ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_desktop PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_desktop DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-applet-desktop.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/battery/CMakeLists.txt
===================================================================
--- applets/battery/CMakeLists.txt	(revision 691297)
+++ applets/battery/CMakeLists.txt	(working copy)
@@ -6,7 +6,6 @@ set(battery_SRCS
 
 kde4_add_plugin(plasma_applet_battery ${battery_SRCS})
 target_link_libraries(plasma_applet_battery plasma ${KDE4_KIO_LIBS})
-set_target_properties(plasma_applet_battery PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_battery DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-battery-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
Index: applets/bluemarble/CMakeLists.txt
===================================================================
--- applets/bluemarble/CMakeLists.txt	(revision 691297)
+++ applets/bluemarble/CMakeLists.txt	(working copy)
@@ -12,7 +12,6 @@ kde4_add_plugin(plasma_applet_bluemarble
 target_link_libraries(plasma_applet_bluemarble plasma GLU ${KDE4_KIO_LIBS} \
${QT_QTOPENGL_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})  ENDIF \
(QT_QTOPENGL_FOUND)  
-set_target_properties(plasma_applet_bluemarble PROPERTIES VERSION 1.0.0 SOVERSION 1)
 
 install(TARGETS plasma_applet_bluemarble DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-applet-bluemarble.desktop DESTINATION ${SERVICES_INSTALL_DIR})


["signature.asc" (application/pgp-signature)]

_______________________________________________
Panel-devel mailing list
Panel-devel@kde.org
https://mail.kde.org/mailman/listinfo/panel-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic