[Kde-bindings] KDE/kdebindings/ruby

Kevin Kofler kevin.kofler at chello.at
Sat Jun 21 16:05:34 UTC 2008


SVN commit 822821 by kkofler:

Fix kdebindings build yet again:
The Ruby bindings were using names for the CMake targets which match the names of the installed Qt/KDE libraries (e.g. solid). This in turn caused the Python bindings to attempt to link the Ruby wrapper instead of the Qt/KDE library they actually intended to link, which is of course the wrong thing, and which CMake rejects because the Ruby wrappers are of type MODULE_LIBRARY, not SHARED:

CMake Error: Attempt to add link target solid of type: MODULE_LIBRARY
to target python_module_PyKDE4_kio. One can only link to STATIC or SHARED libraries, or to executables with the ENABLE_EXPORTS property set.
To allow linking of modules set CMAKE_BACKWARDS_COMPATIBILITY to 2.2 or lower
CMake Error: Attempt to add link target solid of type: MODULE_LIBRARY
to target python_module_PyKDE4_kio. One can only link to STATIC or SHARED libraries, or to executables with the ENABLE_EXPORTS property set.
To allow linking of modules set CMAKE_BACKWARDS_COMPATIBILITY to 2.2 or lower
CMake Error: Attempt to add link target ktexteditor of type: MODULE_LIBRARY
to target python_module_PyKDE4_khtml. One can only link to STATIC or SHARED libraries, or to executables with the ENABLE_EXPORTS property set.
To allow linking of modules set CMAKE_BACKWARDS_COMPATIBILITY to 2.2 or lower

This fix renames the CMake targets to e.g. rubysolid and uses the OUTPUT_NAME property to ensure the resulting file is still created as e.g. solid.so as intended.

CCMAIL: kde-bindings at kde.org
CCMAIL: mueller at kde.org
CCMAIL: rdieter at math.unl.edu

 M  +5 -5      akonadi/CMakeLists.txt  
 M  +5 -5      kdevplatform/CMakeLists.txt  
 M  +5 -5      khtml/CMakeLists.txt  
 M  +5 -5      ktexteditor/CMakeLists.txt  
 M  +5 -5      nepomuk/CMakeLists.txt  
 M  +5 -5      okular/CMakeLists.txt  
 M  +5 -5      phonon/CMakeLists.txt  
 M  +5 -5      qscintilla/CMakeLists.txt  
 M  +5 -5      qtuitools/CMakeLists.txt  
 M  +5 -5      qtwebkit/CMakeLists.txt  
 M  +5 -5      qwt/CMakeLists.txt  
 M  +5 -5      solid/CMakeLists.txt  
 M  +5 -5      soprano/CMakeLists.txt  


--- trunk/KDE/kdebindings/ruby/akonadi/CMakeLists.txt #822820:822821
@@ -1,10 +1,10 @@
 include_directories( ${CMAKE_SOURCE_DIR}/smoke ${RUBY_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/ruby/qtruby/src)
 INCLUDE_DIRECTORIES (${QT_INCLUDES} ${KDE4_INCLUDE_DIR})
 
-set(akonadi_LIBRARY_SRC akonadi.cpp akonadihandlers.cpp)
+set(rubyakonadi_LIBRARY_SRC akonadi.cpp akonadihandlers.cpp)
 
-add_library(akonadi MODULE ${akonadi_LIBRARY_SRC})
-target_link_libraries(akonadi ${QT_QTCORE_LIBRARY} ${RUBY_LIBRARY} smokeqt smokekde smokeakonadi qtruby4shared)
-set_target_properties(akonadi PROPERTIES PREFIX "")
-install(TARGETS akonadi DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
+add_library(rubyakonadi MODULE ${rubyakonadi_LIBRARY_SRC})
+target_link_libraries(rubyakonadi ${QT_QTCORE_LIBRARY} ${RUBY_LIBRARY} smokeqt smokekde smokeakonadi qtruby4shared)
+set_target_properties(rubyakonadi PROPERTIES PREFIX "" OUTPUT_NAME akonadi)
+install(TARGETS rubyakonadi DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
 install(FILES akonadi.rb DESTINATION ${CUSTOM_RUBY_SITE_LIB_DIR}/akonadi)
--- trunk/KDE/kdebindings/ruby/kdevplatform/CMakeLists.txt #822820:822821
@@ -15,16 +15,16 @@
     ${KDEVPLATFORM_INCLUDE_DIR}/language/duchain/viewer)
 
 
-set(kdevplatform_LIBRARY_SRC kdevplatform.cpp kdevplatformhandlers.cpp)
+set(rubykdevplatform_LIBRARY_SRC kdevplatform.cpp kdevplatformhandlers.cpp)
 
-add_library(kdevplatform MODULE ${kdevplatform_LIBRARY_SRC})
-target_link_libraries(kdevplatform 
+add_library(rubykdevplatform MODULE ${rubykdevplatform_LIBRARY_SRC})
+target_link_libraries(rubykdevplatform 
     ${RUBY_LIBRARY} 
     smokeqt 
     smokekde 
     smokektexteditor
     smokekdevplatform 
     qtruby4shared)
-set_target_properties(kdevplatform PROPERTIES PREFIX "")
-install(TARGETS kdevplatform DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
+set_target_properties(rubykdevplatform PROPERTIES PREFIX "" OUTPUT_NAME kdevplatform)
+install(TARGETS rubykdevplatform DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
 install(FILES kdevplatform.rb DESTINATION ${CUSTOM_RUBY_SITE_LIB_DIR}/kdevplatform)
--- trunk/KDE/kdebindings/ruby/khtml/CMakeLists.txt #822820:822821
@@ -1,8 +1,8 @@
 include_directories( ${CMAKE_SOURCE_DIR}/smoke ${RUBY_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/ruby/qtruby/src)
 
-set(khtml_LIBRARY_SRC khtml.cpp khtmlhandlers.cpp)
-add_library(khtml MODULE ${khtml_LIBRARY_SRC})
-target_link_libraries(khtml ${KHTML_LIBS} ${RUBY_LIBRARY} smokeqt smokekde smokekhtml qtruby4shared)
-set_target_properties(khtml PROPERTIES PREFIX "")
-install(TARGETS khtml DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
+set(rubykhtml_LIBRARY_SRC khtml.cpp khtmlhandlers.cpp)
+add_library(rubykhtml MODULE ${rubykhtml_LIBRARY_SRC})
+target_link_libraries(rubykhtml ${KHTML_LIBS} ${RUBY_LIBRARY} smokeqt smokekde smokekhtml qtruby4shared)
+set_target_properties(rubykhtml PROPERTIES PREFIX "" OUTPUT_NAME khtml)
+install(TARGETS rubykhtml DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
 install(FILES khtml.rb DESTINATION ${CUSTOM_RUBY_SITE_LIB_DIR}/khtml)
--- trunk/KDE/kdebindings/ruby/ktexteditor/CMakeLists.txt #822820:822821
@@ -1,10 +1,10 @@
 include_directories( ${CMAKE_SOURCE_DIR}/smoke ${RUBY_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/ruby/qtruby/src)
 INCLUDE_DIRECTORIES (${QT_INCLUDES})
 
-set(ktexteditor_LIBRARY_SRC ktexteditor.cpp ktexteditorhandlers.cpp)
+set(rubyktexteditor_LIBRARY_SRC ktexteditor.cpp ktexteditorhandlers.cpp)
 
-add_library(ktexteditor MODULE ${ktexteditor_LIBRARY_SRC})
-target_link_libraries(ktexteditor ${QT_QTCORE_LIBRARY} ${RUBY_LIBRARY} smokeqt smokekde smokektexteditor qtruby4shared)
-set_target_properties(ktexteditor PROPERTIES PREFIX "")
-install(TARGETS ktexteditor DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
+add_library(rubyktexteditor MODULE ${rubyktexteditor_LIBRARY_SRC})
+target_link_libraries(rubyktexteditor ${QT_QTCORE_LIBRARY} ${RUBY_LIBRARY} smokeqt smokekde smokektexteditor qtruby4shared)
+set_target_properties(rubyktexteditor PROPERTIES PREFIX "" OUTPUT_NAME ktexteditor)
+install(TARGETS rubyktexteditor DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
 install(FILES ktexteditor.rb DESTINATION ${CUSTOM_RUBY_SITE_LIB_DIR}/ktexteditor)
--- trunk/KDE/kdebindings/ruby/nepomuk/CMakeLists.txt #822820:822821
@@ -1,10 +1,10 @@
 include_directories( ${CMAKE_SOURCE_DIR}/smoke ${RUBY_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/ruby/qtruby/src)
 INCLUDE_DIRECTORIES (${QT_INCLUDES})
 
-set(nepomuk_LIBRARY_SRC nepomuk.cpp nepomukhandlers.cpp)
+set(rubynepomuk_LIBRARY_SRC nepomuk.cpp nepomukhandlers.cpp)
 
-add_library(nepomuk MODULE ${nepomuk_LIBRARY_SRC})
-target_link_libraries(nepomuk 
+add_library(rubynepomuk MODULE ${rubynepomuk_LIBRARY_SRC})
+target_link_libraries(rubynepomuk 
     ${RUBY_LIBRARY} 
     ${NEPOMUK_LIBRARIES}
     smokeqt 
@@ -12,6 +12,6 @@
     smokekde 
     smokenepomuk 
     qtruby4shared)
-set_target_properties(nepomuk PROPERTIES PREFIX "")
-install(TARGETS nepomuk DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
+set_target_properties(rubynepomuk PROPERTIES PREFIX "" OUTPUT_NAME nepomuk)
+install(TARGETS rubynepomuk DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
 install(FILES nepomuk.rb DESTINATION ${CUSTOM_RUBY_SITE_LIB_DIR}/nepomuk)
--- trunk/KDE/kdebindings/ruby/okular/CMakeLists.txt #822820:822821
@@ -1,10 +1,10 @@
 include_directories( ${CMAKE_SOURCE_DIR}/smoke ${RUBY_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/ruby/qtruby/src)
 INCLUDE_DIRECTORIES (${QT_INCLUDES})
 
-set(okular_LIBRARY_SRC okular.cpp okularhandlers.cpp)
+set(rubyokular_LIBRARY_SRC okular.cpp okularhandlers.cpp)
 
-add_library(okular MODULE ${okular_LIBRARY_SRC})
-target_link_libraries(okular ${QT_QTCORE_LIBRARY} ${RUBY_LIBRARY} smokeqt smokekde smokeokular qtruby4shared)
-set_target_properties(okular PROPERTIES PREFIX "")
-install(TARGETS okular DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
+add_library(rubyokular MODULE ${rubyokular_LIBRARY_SRC})
+target_link_libraries(rubyokular ${QT_QTCORE_LIBRARY} ${RUBY_LIBRARY} smokeqt smokekde smokeokular qtruby4shared)
+set_target_properties(rubyokular PROPERTIES PREFIX "" OUTPUT_NAME okular)
+install(TARGETS rubyokular DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
 install(FILES okular.rb DESTINATION ${CUSTOM_RUBY_SITE_LIB_DIR}/okular)
--- trunk/KDE/kdebindings/ruby/phonon/CMakeLists.txt #822820:822821
@@ -2,9 +2,9 @@
 
 include_directories( ${CMAKE_SOURCE_DIR}/smoke ${RUBY_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/ruby/qtruby/src)
 
-set(phonon_LIBRARY_SRC phonon.cpp phononhandlers.cpp)
-add_library(phonon MODULE ${phonon_LIBRARY_SRC})
-target_link_libraries(phonon ${PHONON_LIBS} ${RUBY_LIBRARY} smokeqt smokephonon qtruby4shared)
-set_target_properties(phonon PROPERTIES PREFIX "")
-install(TARGETS phonon DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
+set(rubyphonon_LIBRARY_SRC phonon.cpp phononhandlers.cpp)
+add_library(rubyphonon MODULE ${rubyphonon_LIBRARY_SRC})
+target_link_libraries(rubyphonon ${PHONON_LIBS} ${RUBY_LIBRARY} smokeqt smokephonon qtruby4shared)
+set_target_properties(rubyphonon PROPERTIES PREFIX "" OUTPUT_NAME phonon)
+install(TARGETS rubyphonon DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
 install(FILES phonon.rb DESTINATION ${CUSTOM_RUBY_SITE_LIB_DIR}/phonon)
--- trunk/KDE/kdebindings/ruby/qscintilla/CMakeLists.txt #822820:822821
@@ -1,9 +1,9 @@
 include_directories( ${CMAKE_SOURCE_DIR}/smoke ${RUBY_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/ruby/qtruby/src)
 INCLUDE_DIRECTORIES (${QT_INCLUDES})
 
-set(qsci_LIBRARY_SRC qscintilla.cpp qscintillahandlers.cpp)
-add_library(qscintilla MODULE ${qsci_LIBRARY_SRC})
-target_link_libraries(qscintilla ${QT_QTCORE_LIBRARY} ${RUBY_LIBRARY} smokeqt smokeqsci qtruby4shared)
-set_target_properties(qscintilla PROPERTIES PREFIX "")
-install(TARGETS qscintilla DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
+set(rubyqsci_LIBRARY_SRC qscintilla.cpp qscintillahandlers.cpp)
+add_library(rubyqscintilla MODULE ${rubyqsci_LIBRARY_SRC})
+target_link_libraries(rubyqscintilla ${QT_QTCORE_LIBRARY} ${RUBY_LIBRARY} smokeqt smokeqsci qtruby4shared)
+set_target_properties(rubyqscintilla PROPERTIES PREFIX "" OUTPUT_NAME qscintilla)
+install(TARGETS rubyqscintilla DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
 install(FILES qscintilla.rb DESTINATION ${CUSTOM_RUBY_SITE_LIB_DIR}/qscintilla)
--- trunk/KDE/kdebindings/ruby/qtuitools/CMakeLists.txt #822820:822821
@@ -1,9 +1,9 @@
 include_directories( ${CMAKE_SOURCE_DIR}/smoke ${RUBY_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/ruby/qtruby/src)
 INCLUDE_DIRECTORIES (${QT_INCLUDES})
 
-set(qtuitools_LIBRARY_SRC qtuitools.cpp qtuitoolshandlers.cpp)
-add_library(qtuitools MODULE ${qtuitools_LIBRARY_SRC})
-target_link_libraries(qtuitools ${RUBY_LIBRARY} smokeqt smokeqtuitools qtruby4shared)
-set_target_properties(qtuitools PROPERTIES PREFIX "")
-install(TARGETS qtuitools DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
+set(rubyqtuitools_LIBRARY_SRC qtuitools.cpp qtuitoolshandlers.cpp)
+add_library(rubyqtuitools MODULE ${rubyqtuitools_LIBRARY_SRC})
+target_link_libraries(rubyqtuitools ${RUBY_LIBRARY} smokeqt smokeqtuitools qtruby4shared)
+set_target_properties(rubyqtuitools PROPERTIES PREFIX "" OUTPUT_NAME qtuitools)
+install(TARGETS rubyqtuitools DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
 install(FILES qtuitools.rb DESTINATION ${CUSTOM_RUBY_SITE_LIB_DIR}/qtuitools)
--- trunk/KDE/kdebindings/ruby/qtwebkit/CMakeLists.txt #822820:822821
@@ -1,9 +1,9 @@
 include_directories( ${CMAKE_SOURCE_DIR}/smoke ${RUBY_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/ruby/qtruby/src)
 INCLUDE_DIRECTORIES (${QT_INCLUDES})
 
-set(qtwebkit_LIBRARY_SRC qtwebkit.cpp qtwebkithandlers.cpp)
-add_library(qtwebkit MODULE ${qtwebkit_LIBRARY_SRC})
-target_link_libraries(qtwebkit ${QT_QTWEBKIT_LIBRARY} ${RUBY_LIBRARY} smokeqt smokeqtwebkit qtruby4shared)
-set_target_properties(qtwebkit PROPERTIES PREFIX "")
-install(TARGETS qtwebkit DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
+set(rubyqtwebkit_LIBRARY_SRC qtwebkit.cpp qtwebkithandlers.cpp)
+add_library(rubyqtwebkit MODULE ${rubyqtwebkit_LIBRARY_SRC})
+target_link_libraries(rubyqtwebkit ${QT_QTWEBKIT_LIBRARY} ${RUBY_LIBRARY} smokeqt smokeqtwebkit qtruby4shared)
+set_target_properties(rubyqtwebkit PROPERTIES PREFIX "" OUTPUT_NAME qtwebkit)
+install(TARGETS rubyqtwebkit DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
 install(FILES qtwebkit.rb DESTINATION ${CUSTOM_RUBY_SITE_LIB_DIR}/qtwebkit)
--- trunk/KDE/kdebindings/ruby/qwt/CMakeLists.txt #822820:822821
@@ -1,9 +1,9 @@
 include_directories( ${CMAKE_SOURCE_DIR}/smoke ${RUBY_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/ruby/qtruby/src)
 INCLUDE_DIRECTORIES (${QT_INCLUDES})
 
-set(qsci_LIBRARY_SRC qwt.cpp qwthandlers.cpp)
-add_library(qwt MODULE ${qsci_LIBRARY_SRC})
-target_link_libraries(qwt ${QT_QTCORE_LIBRARY} ${RUBY_LIBRARY} smokeqt smokeqwt qtruby4shared)
-set_target_properties(qwt PROPERTIES PREFIX "")
-install(TARGETS qwt DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
+set(rubyqwt_LIBRARY_SRC qwt.cpp qwthandlers.cpp)
+add_library(rubyqwt MODULE ${rubyqwt_LIBRARY_SRC})
+target_link_libraries(rubyqwt ${QT_QTCORE_LIBRARY} ${RUBY_LIBRARY} smokeqt smokeqwt qtruby4shared)
+set_target_properties(rubyqwt PROPERTIES PREFIX "" OUTPUT_NAME qwt)
+install(TARGETS rubyqwt DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
 install(FILES qwt.rb DESTINATION ${CUSTOM_RUBY_SITE_LIB_DIR}/qwt)
--- trunk/KDE/kdebindings/ruby/solid/CMakeLists.txt #822820:822821
@@ -1,16 +1,16 @@
 include_directories( ${CMAKE_SOURCE_DIR}/smoke ${RUBY_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/ruby/qtruby/src)
 INCLUDE_DIRECTORIES (${QT_INCLUDES} ${KDE4_INCLUDE_DIR})
 
-set(solid_LIBRARY_SRC solid.cpp solidhandlers.cpp)
+set(rubysolid_LIBRARY_SRC solid.cpp solidhandlers.cpp)
 
-add_library(solid MODULE ${solid_LIBRARY_SRC})
-target_link_libraries(solid 
+add_library(rubysolid MODULE ${rubysolid_LIBRARY_SRC})
+target_link_libraries(rubysolid 
     ${QT_QTCORE_LIBRARY} 
     ${RUBY_LIBRARY} 
     ${KDE4_SOLID_LIBS}
     smokeqt 
     smokesolid 
     qtruby4shared)
-set_target_properties(solid PROPERTIES PREFIX "")
-install(TARGETS solid DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
+set_target_properties(rubysolid PROPERTIES PREFIX "" OUTPUT_NAME solid)
+install(TARGETS rubysolid DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
 install(FILES solid.rb DESTINATION ${CUSTOM_RUBY_SITE_LIB_DIR}/solid)
--- trunk/KDE/kdebindings/ruby/soprano/CMakeLists.txt #822820:822821
@@ -1,9 +1,9 @@
 include_directories( ${CMAKE_SOURCE_DIR}/smoke ${RUBY_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/ruby/qtruby/src)
 INCLUDE_DIRECTORIES (${QT_INCLUDES})
 
-set(soprano_LIBRARY_SRC soprano.cpp sopranohandlers.cpp)
-add_library(soprano MODULE ${soprano_LIBRARY_SRC})
-target_link_libraries(soprano ${QT_QTCORE_LIBRARY} ${RUBY_LIBRARY} smokeqt smokesoprano qtruby4shared)
-set_target_properties(soprano PROPERTIES PREFIX "")
-install(TARGETS soprano DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
+set(rubysoprano_LIBRARY_SRC soprano.cpp sopranohandlers.cpp)
+add_library(rubysoprano MODULE ${rubysoprano_LIBRARY_SRC})
+target_link_libraries(rubysoprano ${QT_QTCORE_LIBRARY} ${RUBY_LIBRARY} smokeqt smokesoprano qtruby4shared)
+set_target_properties(rubysoprano PROPERTIES PREFIX "" OUTPUT_NAME soprano)
+install(TARGETS rubysoprano DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
 install(FILES soprano.rb DESTINATION ${CUSTOM_RUBY_SITE_LIB_DIR}/soprano)



More information about the Kde-bindings mailing list