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

List:       kde-commits
Subject:    KDE
From:       Alexander Neundorf <neundorf () kde ! org>
Date:       2008-07-21 19:19:07
Message-ID: 1216667947.446952.4506.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 836131 by neundorf:

-also disable _KDE4_TARGET_LINK_INTERFACE_LIBRARIES() and use the renamed \
                LINK_INTERFACE_LIBRARIES target property
instead: 
set_target_properties(foo PROPERTIES 
                          ${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES  \
"kdeui;kdecore"   )

While this doesn't look very nice, it is completely forward and backward compatible \
(i.e. cmake 2.4 doesn't complain, cmake 2.6 works, both versions work as soon as the \
reduced link interface is the default (soon), if somebody  uses this with kdelibs \
which don't have that anymore he will get the reduced interface instead of errors, so \
all  should be ok)

Alex

CCMAIL: mueller@kde.org





 M  +3 -3      kdebase/workspace/kwin/lib/CMakeLists.txt  
 M  +1 -2      kdebase/workspace/libs/ksysguard/processui/CMakeLists.txt  
 M  +5 -3      kdebase/workspace/libs/plasma/CMakeLists.txt  
 M  +1 -2      kdebase/workspace/plasma/dataengines/weather/ions/CMakeLists.txt  
 M  +16 -1     kdelibs/cmake/modules/FindKDE4Internal.cmake  
 M  +2 -4      kdelibs/cmake/modules/KDE4Macros.cmake  
 M  +3 -3      kdelibs/kde3support/CMakeLists.txt  
 M  +3 -2      kdelibs/kdecore/CMakeLists.txt  
 M  +2 -3      kdelibs/kdeui/CMakeLists.txt  
 M  +2 -1      kdelibs/kfile/CMakeLists.txt  
 M  +3 -3      kdelibs/khtml/CMakeLists.txt  
 M  +3 -3      kdelibs/kio/CMakeLists.txt  
 M  +3 -2      kdelibs/kparts/CMakeLists.txt  
 M  +3 -2      kdelibs/kross/core/CMakeLists.txt  
 M  +2 -1      kdelibs/kross/ui/CMakeLists.txt  


--- trunk/KDE/kdebase/workspace/kwin/lib/CMakeLists.txt #836130:836131
@@ -16,11 +16,10 @@
 set_target_properties(kdecorations PROPERTIES 
    VERSION ${GENERIC_LIB_VERSION}
    SOVERSION ${GENERIC_LIB_SOVERSION}
+   ${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES "${KDE4_KDEUI_LIBS};"
    )
 install(TARGETS kdecorations ${INSTALL_TARGETS_DEFAULT_ARGS} )
 
-_kde4_target_link_interface_libraries(kdecorations  "${KDE4_KDEUI_LIBS};")
-
 ########### install files ###############
 
 install( FILES
@@ -48,12 +47,13 @@
 
 if(OPENGL_FOUND)
   target_link_libraries(kwineffects ${OPENGL_gl_LIBRARY})
+  set_target_properties(kwineffects PROPERTIES 
+                        ${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES \
"${OPENGL_gl_LIBRARY};")  # -ldl used by OpenGL code
   find_library(DL_LIBRARY dl)
   if (DL_LIBRARY)
     target_link_libraries(kwineffects ${DL_LIBRARY})
   endif(DL_LIBRARY)
-  _kde4_target_link_interface_libraries(kwineffects "${OPENGL_gl_LIBRARY};")
 endif(OPENGL_FOUND)
 if (X11_Xrender_FOUND)
   target_link_libraries(kwineffects ${X11_Xrender_LIB})
--- trunk/KDE/kdebase/workspace/libs/ksysguard/processui/CMakeLists.txt \
#836130:836131 @@ -73,10 +73,9 @@
 set_target_properties(processui
    PROPERTIES VERSION ${GENERIC_LIB_VERSION}
    SOVERSION ${GENERIC_LIB_SOVERSION}
+   ${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES \
"${KDE4_KDEUI_LIBS};processcore"  )
 
-_kde4_target_link_interface_libraries(processui "${KDE4_KDEUI_LIBS};processcore")
-
 install(TARGETS processui ${INSTALL_TARGETS_DEFAULT_ARGS} )
 
 #----------------------
--- trunk/KDE/kdebase/workspace/libs/plasma/CMakeLists.txt #836130:836131
@@ -100,10 +100,12 @@
     target_link_libraries(plasma ${QT_QTOPENGL_LIBRARY} ${OPENGL_gl_LIBRARY})
 endif(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
 
-set_target_properties(plasma PROPERTIES VERSION 2.0.0 SOVERSION 2)
+set_target_properties(plasma PROPERTIES 
+                             VERSION 2.0.0 
+                             SOVERSION 2
+                             ${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES  \
"${KDE4_KDEUI_LIBS}" +                      )
 
-_kde4_target_link_interface_libraries(plasma "${KDE4_KDEUI_LIBS}")
-
 install(TARGETS plasma ${INSTALL_TARGETS_DEFAULT_ARGS})
 
 
--- trunk/KDE/kdebase/workspace/plasma/dataengines/weather/ions/CMakeLists.txt \
#836130:836131 @@ -4,10 +4,9 @@
 set_target_properties(weather_ion PROPERTIES
    VERSION ${GENERIC_LIB_VERSION}
    SOVERSION ${GENERIC_LIB_SOVERSION}
+   ${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES  "${KDE4_KIO_LIBS}"
 )
 
-_kde4_target_link_interface_libraries(weather_ion "${KDE4_KIO_LIBS}")
-
 INSTALL (TARGETS weather_ion ${INSTALL_TARGETS_DEFAULT_ARGS})
 
 SET (ion_envcan_SRCS ion_envcan.cpp)
--- trunk/KDE/kdelibs/cmake/modules/FindKDE4Internal.cmake #836130:836131
@@ -493,9 +493,24 @@
 option(KDE4_BUILD_TESTS  "Build the tests")
 option(KDE4_ENABLE_HTMLHANDBOOK  "Create targets htmlhandbook for creating the html \
versions of the docbook docs")  
-# this one enables the smaller link interface for libs on UNIX (exceot OSX)
+# this one enables the smaller link interface for libs on UNIX
+set(KDE4_DISABLE_PROPERTY_ )
 if(UNIX )# AND NOT  APPLE)
    option(KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT "Enable the experimental reduced \
library exports" FALSE) +   # The purpose of the KDE4_DISABLE_PROPERTY_ variable is \
to be used as a prefix for  +   # the target property LINK_INTERFACE_LIBRARIES. If it \
is empty, the property will have its +   # correct name, if it's not empty, it will \
be a different name, i.e. the actual property +   # will not be set, i.e. disabled. \
See kdelibs/kdecore/CMakeLists.txt for an example. +   # This will be removed again \
as soon as we require cmake >= 2.6.0. +   # If enabled, make it empty, so the \
property will keep it's actual name. +   if (KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT)
+      set(KDE4_DISABLE_PROPERTY_ )
+   else (KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT)
+      # If disabled, make it non-empty, so the property name will change from \
"LINK_INTERFACE_LIBRARIES" +      # to "DISABLED_LINK_INTERFACE_LIBRARIES", which is \
a different (non-existing) target property, and so +      # setting that property \
won't have an effect +      set(KDE4_DISABLE_PROPERTY_ "DISABLED_")
+   endif (KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT)
 endif(UNIX)#  AND NOT  APPLE)
 
 
--- trunk/KDE/kdelibs/cmake/modules/KDE4Macros.cmake #836130:836131
@@ -1117,13 +1117,11 @@
 endmacro(_KDE4_EXPORT_LIBRARY_DEPENDENCIES)
 
 macro (_KDE4_TARGET_LINK_INTERFACE_LIBRARIES _target _interface_libs)
-   if(KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT  AND  UNIX )# AND NOT APPLE)
-      set_target_properties("${_target}" PROPERTIES LINK_INTERFACE_LIBRARIES \
                "${_interface_libs}")
-   endif(KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT  AND  UNIX)#  AND NOT APPLE)
+   message(FATAL_ERROR "_KDE4_TARGET_LINK_INTERFACE_LIBRARIES() doesn't exist \
anymore. Set the LINK_INTERFACE_LIBRARIES target property instead. See \
kdelibs/kdecore/CMakeLists.txt for an example.")  endmacro \
(_KDE4_TARGET_LINK_INTERFACE_LIBRARIES)  
 macro (KDE4_TARGET_LINK_INTERFACE_LIBRARIES _target _interface_libs)
-   message(FATAL_ERROR "KDE4_TARGET_LINK_INTERFACE_LIBRARIES() has been renamed to \
_KDE4_TARGET_LINK_INTERFACE_LIBRARIES(), so use that instead") +   \
message(FATAL_ERROR "KDE4_TARGET_LINK_INTERFACE_LIBRARIES() doesn't exist anymore. \
Set the LINK_INTERFACE_LIBRARIES target property instead. See \
kdelibs/kdecore/CMakeLists.txt for an example.")  endmacro \
(KDE4_TARGET_LINK_INTERFACE_LIBRARIES _target _interface_libs)  
 macro (KDE4_INSTALL_HANDBOOK _lang)
--- trunk/KDE/kdelibs/kde3support/CMakeLists.txt #836130:836131
@@ -81,10 +81,10 @@
 target_link_libraries(kde3support  ${KDE4_KPARTS_LIBS} ${KDE4_KPTY_LIBS} \
${QT_QTXML_LIBRARY} ${QT_QT3SUPPORT_LIBRARY} ${KDE4_KFILE_LIBS} ${X11_LIBRARIES})  
 set_target_properties(kde3support PROPERTIES VERSION ${GENERIC_LIB_VERSION} 
-                                             SOVERSION ${GENERIC_LIB_SOVERSION} )
+                                             SOVERSION ${GENERIC_LIB_SOVERSION} 
+                                             \
${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES \
"kio;kdeui;kdecore;${QT_QT3SUPPORT_LIBRARY}" +                     )
 
-_kde4_target_link_interface_libraries(kde3support \
                "kio;kdeui;kdecore;${QT_QT3SUPPORT_LIBRARY}")
-
 install(TARGETS kde3support ${INSTALL_TARGETS_DEFAULT_ARGS})
 
 ########### install files ###############
--- trunk/KDE/kdelibs/kdecore/CMakeLists.txt #836130:836131
@@ -248,9 +248,10 @@
 
 set_target_properties(kdecore PROPERTIES 
                               VERSION ${KDE_NON_GENERIC_LIB_VERSION} 
-                              SOVERSION ${KDE_NON_GENERIC_LIB_SOVERSION} )
+                              SOVERSION ${KDE_NON_GENERIC_LIB_SOVERSION}
+                              ${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES \
"${QT_QTDBUS_LIBRARY};${QT_QTCORE_LIBRARY}" +                     )
 
-_kde4_target_link_interface_libraries(kdecore \
"${QT_QTDBUS_LIBRARY};${QT_QTCORE_LIBRARY}")  
 install(TARGETS kdecore ${INSTALL_TARGETS_DEFAULT_ARGS})
 
--- trunk/KDE/kdelibs/kdeui/CMakeLists.txt #836130:836131
@@ -321,11 +321,10 @@
 endif(X11_Xrender_FOUND)
 
 set_target_properties(kdeui PROPERTIES VERSION ${KDE_NON_GENERIC_LIB_VERSION} 
-                            SOVERSION ${KDE_NON_GENERIC_LIB_SOVERSION} 
+                                       SOVERSION ${KDE_NON_GENERIC_LIB_SOVERSION} 
+                                       \
${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES \
"kdecore;${QT_QTSVG_LIBRARY};${QT_QTGUI_LIBRARY}"  )
 
-_kde4_target_link_interface_libraries (kdeui \
                "kdecore;${QT_QTSVG_LIBRARY};${QT_QTGUI_LIBRARY}")
-
 install(TARGETS kdeui ${INSTALL_TARGETS_DEFAULT_ARGS})
 ########### install files ###############
 
--- trunk/KDE/kdelibs/kfile/CMakeLists.txt #836130:836131
@@ -40,7 +40,8 @@
 )
 
 set_target_properties(kfile PROPERTIES VERSION ${GENERIC_LIB_VERSION} 
-                                       SOVERSION ${GENERIC_LIB_SOVERSION} )
+                                       SOVERSION ${GENERIC_LIB_SOVERSION} 
+                     )
 
 install(TARGETS kfile ${INSTALL_TARGETS_DEFAULT_ARGS})
 
--- trunk/KDE/kdelibs/khtml/CMakeLists.txt #836130:836131
@@ -336,11 +336,11 @@
 target_link_libraries(khtml ${KDE4_KPARTS_LIBS} ktexteditor kjs ${KDE4_PHONON_LIBS} \
${JPEG_LIBRARIES} ${GIF_LIBRARIES} ${PNG_LIBRARIES} ${X11_LIBRARIES})  
 set_target_properties(khtml PROPERTIES VERSION ${KDE_NON_GENERIC_LIB_VERSION} 
-                                       SOVERSION ${KDE_NON_GENERIC_LIB_SOVERSION})
+                                       SOVERSION ${KDE_NON_GENERIC_LIB_SOVERSION}
+                                       \
${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES "kparts;kjs;kio;kdeui;kdecore" +    \
)  
-_kde4_target_link_interface_libraries(khtml "kparts;kjs;kio;kdeui;kdecore")
 
-
 set(CREATE_HASH_TABLE ${CMAKE_SOURCE_DIR}/kjs/create_hash_table )
 macro(CREATE_LUT _in_FILE _out_FILE)
 
--- trunk/KDE/kdelibs/kio/CMakeLists.txt #836130:836131
@@ -268,11 +268,11 @@
 endif(X11_Xrender_FOUND)
 
 set_target_properties(kio PROPERTIES VERSION ${KDE_NON_GENERIC_LIB_VERSION} 
-                                     SOVERSION ${KDE_NON_GENERIC_LIB_SOVERSION} )
+                                     SOVERSION ${KDE_NON_GENERIC_LIB_SOVERSION} 
+                                     \
${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES \
"kdeui;kdecore;${QT_QTNETWORK_LIBRARY};${QT_QTXML_LIBRARY}" +                     )
 
-_kde4_target_link_interface_libraries(kio \
"kdeui;kdecore;${QT_QTNETWORK_LIBRARY};${QT_QTXML_LIBRARY}")  
-
 ########### install files ###############
 install(TARGETS kio ${INSTALL_TARGETS_DEFAULT_ARGS})
 
--- trunk/KDE/kdelibs/kparts/CMakeLists.txt #836130:836131
@@ -27,9 +27,10 @@
 target_link_libraries(kparts  ${KDE4_KDECORE_LIBS} kdeui kio)
 
 set_target_properties(kparts PROPERTIES VERSION ${GENERIC_LIB_VERSION} 
-                                        SOVERSION ${GENERIC_LIB_SOVERSION} )
+                                        SOVERSION ${GENERIC_LIB_SOVERSION} 
+                                        \
${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES "kio;kdeui;kdecore" +               \
)  
-_kde4_target_link_interface_libraries(kparts "kio;kdeui;kdecore")
 
 install(TARGETS kparts ${INSTALL_TARGETS_DEFAULT_ARGS})
 
--- trunk/KDE/kdelibs/kross/core/CMakeLists.txt #836130:836131
@@ -13,9 +13,10 @@
 kde4_add_library(krosscore SHARED ${krosscore_LIB_SRCS})
 target_link_libraries(krosscore ${KDE4_KDECORE_LIBS} ${KDE4_KDEUI_LIBS} \
${QT_QTSCRIPT_LIBRARY} ${QT_QTXML_LIBRARY})  set_target_properties(krosscore \
                PROPERTIES VERSION ${GENERIC_LIB_VERSION} 
-                                SOVERSION ${GENERIC_LIB_SOVERSION} )
+                                SOVERSION ${GENERIC_LIB_SOVERSION}
+                                ${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES \
"kdecore;${QT_QTSCRIPT_LIBRARY};${QT_QTXML_LIBRARY}" +                     )
 
-_kde4_target_link_interface_libraries(krosscore \
"kdecore;${QT_QTSCRIPT_LIBRARY};${QT_QTXML_LIBRARY}")  
 install(TARGETS krosscore ${INSTALL_TARGETS_DEFAULT_ARGS})
 
--- trunk/KDE/kdelibs/kross/ui/CMakeLists.txt #836130:836131
@@ -16,7 +16,8 @@
 kde4_add_library(krossui SHARED ${krossui_LIB_SRCS})
 target_link_libraries(krossui krosscore ${KDE4_KDEUI_LIBS} ${KDE4_KPARTS_LIBS} \
${KDE4_KIO_LIBS})  set_target_properties(krossui PROPERTIES VERSION \
                ${GENERIC_LIB_VERSION} 
-                                         SOVERSION ${GENERIC_LIB_SOVERSION} )
+                                         SOVERSION ${GENERIC_LIB_SOVERSION}
+                     )
 
 
 install(TARGETS krossui ${INSTALL_TARGETS_DEFAULT_ARGS})


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

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