aboutsummaryrefslogtreecommitdiff
path: root/modules/FindKDE4Internal.cmake
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2008-07-21 19:25:47 +0000
committerAlexander Neundorf <neundorf@kde.org>2008-07-21 19:25:47 +0000
commit24a1cc7c66f4d2137c441c4222731980d4f5892b (patch)
tree028c0aeaf4dbf5785dc24a7826a337be10abd73c /modules/FindKDE4Internal.cmake
parenta3a1c93e8ebfea28aff2aa3a15c8919802e7df56 (diff)
downloadextra-cmake-modules-24a1cc7c66f4d2137c441c4222731980d4f5892b.tar.gz
extra-cmake-modules-24a1cc7c66f4d2137c441c4222731980d4f5892b.tar.bz2
-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) This was discussed on kde-buildsystem end of June. Alex CCMAIL: mueller@kde.org svn path=/branches/KDE/4.1/kdelibs/; revision=836133
Diffstat (limited to 'modules/FindKDE4Internal.cmake')
-rw-r--r--modules/FindKDE4Internal.cmake23
1 files changed, 22 insertions, 1 deletions
diff --git a/modules/FindKDE4Internal.cmake b/modules/FindKDE4Internal.cmake
index 044bb4f3..34b67ac2 100644
--- a/modules/FindKDE4Internal.cmake
+++ b/modules/FindKDE4Internal.cmake
@@ -493,12 +493,33 @@ option(KDE4_ENABLE_FINAL "Enable final all-in-one compilation")
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 use the reduced link interface as default.
+ # This won't cause any incompatibilties then because then cmake files which still
+ # have that prefix will work, since that prefix will just be empty.
+ #
+ # 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)
+
+
if( KDE4_ENABLE_FINAL)
add_definitions(-DKDE_USE_FINAL)
endif(KDE4_ENABLE_FINAL)