aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2008-11-10 23:52:13 +0000
committerAlexander Neundorf <neundorf@kde.org>2008-11-10 23:52:13 +0000
commit57d92979d017bcc1748f29e942b5843428e30051 (patch)
treec274b20c35aa77bf604ac19e36b65de4afd0d5ab
parent114be0522e85d5c34fe48a1b9d56afc99e15e83b (diff)
downloadextra-cmake-modules-57d92979d017bcc1748f29e942b5843428e30051.tar.gz
extra-cmake-modules-57d92979d017bcc1748f29e942b5843428e30051.tar.bz2
-require cmake 2.6.2
-enable the reduced link interface for everybody now in kdelibs -convert all the set_target_properties(foo LINK_INTERFACE_LIBRARIES...) to the new target_link_libraries(foo LINK_INTERFACE_LIBRARIES ...) -install all shared libs also as "exported targets", so these libraries can be included by the other projects again as "imported targets", which should fix some problems with different build configurations, the reduced link interface, hopefully also custom install locations (Windows), maybe more -remove the temporary internal hackish macro _KDE4_EXPORT_LIBRARY_DEPENDENCIES() Alex, who hopes this doesn't break too much... So if you get linker errors now, please let me know (or even better kde-buildsystem@kde.org) svn path=/trunk/KDE/kdelibs/; revision=882594
-rw-r--r--modules/CMakeLists.txt16
-rw-r--r--modules/FindAutomoc4.cmake34
-rw-r--r--modules/FindKDE4Internal.cmake176
-rw-r--r--modules/KDE4Macros.cmake54
4 files changed, 130 insertions, 150 deletions
diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt
index f9b305db..af84391d 100644
--- a/modules/CMakeLists.txt
+++ b/modules/CMakeLists.txt
@@ -12,13 +12,6 @@ install( FILES cmake-modules-styleguide.txt kde4init_dummy.cpp.in kde4init_win32
#set(FILES_TO_REMOVE
#)
-# can be removed once we require merge into cmake
-# FindLibXslt.cmake
-# FindOpenSSL.cmake
-
-# can be removed once we require cmake 2.4.6 or newer:
-# FindPkgConfig.cmake
-
#install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/remove_files.cmake )
#file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/remove_files.cmake "#generated by cmake, dont edit\n\n")
@@ -27,9 +20,6 @@ install( FILES cmake-modules-styleguide.txt kde4init_dummy.cpp.in kde4init_win32
# file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/remove_files.cmake "exec_program( ${CMAKE_COMMAND} ARGS -E remove ${_current_FILE} OUTPUT_VARIABLE _dummy)\n" )
#endforeach ( _current_FILE)
-# with cmake 2.6 and above create and install a man page for the kdelibs cmake modules
-# (cmake 2.4 doesn't support creating documentation for cmake modules in custom directories)
-if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER "2.5")
- add_custom_target(KDECMakeModulesManPage ALL COMMAND ${CMAKE_COMMAND} -DCMAKE_MODULE_PATH=${CMAKE_CURRENT_SOURCE_DIR} --help-custom-modules ${CMAKE_CURRENT_BINARY_DIR}/kdecmake.1)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kdecmake.1 DESTINATION "${MAN_INSTALL_DIR}/man1")
-endif("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER "2.5")
+# create and install a man page for the kdelibs cmake modules
+add_custom_target(KDECMakeModulesManPage ALL COMMAND ${CMAKE_COMMAND} -DCMAKE_MODULE_PATH=${CMAKE_CURRENT_SOURCE_DIR} --help-custom-modules ${CMAKE_CURRENT_BINARY_DIR}/kdecmake.1)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kdecmake.1 DESTINATION "${MAN_INSTALL_DIR}/man1")
diff --git a/modules/FindAutomoc4.cmake b/modules/FindAutomoc4.cmake
index 5cf75627..c76d20b8 100644
--- a/modules/FindAutomoc4.cmake
+++ b/modules/FindAutomoc4.cmake
@@ -17,40 +17,16 @@
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-# enable the code below again when cmake also searches in lib64/ (should be 2.6.2), Alex
-# # check if we are inside KDESupport and automoc is enabled
-# if("${KDESupport_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
-# # when building this project as part of kdesupport
-# include("${KDESupport_SOURCE_DIR}/automoc/Automoc4Config.cmake")
-# else("${KDESupport_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
-# # when building this project outside kdesupport
-# # use the new "config-mode" of cmake 2.6, which searches the installed Automoc4Config.cmake file
-# # see the man page for details
-# find_package(Automoc4 QUIET NO_MODULE)
-# endif("${KDESupport_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
-
+# check if we are inside KDESupport and automoc is enabled
if("${KDESupport_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
# when building this project as part of kdesupport
- set(AUTOMOC4_CONFIG_FILE "${KDESupport_SOURCE_DIR}/automoc/Automoc4Config.cmake")
+ include("${KDESupport_SOURCE_DIR}/automoc/Automoc4Config.cmake")
else("${KDESupport_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
# when building this project outside kdesupport
- # CMAKE_[SYSTEM_]PREFIX_PATH exists starting with cmake 2.6.0
- file(TO_CMAKE_PATH "$ENV{CMAKE_PREFIX_PATH}" _env_CMAKE_PREFIX_PATH)
- file(TO_CMAKE_PATH "$ENV{CMAKE_LIBRARY_PATH}" _env_CMAKE_LIBRARY_PATH)
- set(AUTOMOC4_SEARCH_PATHS
- ${_env_CMAKE_PREFIX_PATH} ${CMAKE_PREFIX_PATH} ${CMAKE_SYSTEM_PREFIX_PATH}
- ${_env_CMAKE_LIBRARY_PATH} ${CMAKE_LIBRARY_PATH} ${CMAKE_SYSTEM_LIBRARY_PATH}
- ${CMAKE_INSTALL_PREFIX}
- )
- find_file(AUTOMOC4_CONFIG_FILE NAMES Automoc4Config.cmake
- PATH_SUFFIXES automoc4 lib/automoc4 lib64/automoc4
- PATHS ${AUTOMOC4_SEARCH_PATHS}
- NO_DEFAULT_PATH )
+ # use the new "config-mode" of cmake 2.6, which searches the installed Automoc4Config.cmake file
+ # see the man page for details
+ find_package(Automoc4 QUIET NO_MODULE)
endif("${KDESupport_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
-if(AUTOMOC4_CONFIG_FILE)
- include(${AUTOMOC4_CONFIG_FILE})
-endif(AUTOMOC4_CONFIG_FILE)
-
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Automoc4 "Did not find automoc4 (part of kdesupport). Searched for Automoc4Config.cmake in ${AUTOMOC4_SEARCH_PATHS} using suffixes automoc4 lib/automoc4 lib64/automoc4." AUTOMOC4_EXECUTABLE)
diff --git a/modules/FindKDE4Internal.cmake b/modules/FindKDE4Internal.cmake
index c1872836..a67d371c 100644
--- a/modules/FindKDE4Internal.cmake
+++ b/modules/FindKDE4Internal.cmake
@@ -242,7 +242,7 @@
# this is required now by cmake 2.6 and so must not be skipped by if(KDE4_FOUND) below
-cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
+cmake_minimum_required(VERSION 2.6.2 FATAL_ERROR)
# this second call will never fail
# it is here for the effect that it sets the cmake policies to the 2.4.x compatibility settings for now
cmake_minimum_required(VERSION 2.4.5)
@@ -449,90 +449,148 @@ else (_kdeBootStrapping)
# this file contains all dependencies of all libraries of kdelibs, Alex
include(${kde_cmake_module_dir}/KDELibsDependencies.cmake)
+ include(${kde_cmake_module_dir}/KDELibsLibraryTargets.cmake)
if (UNIX)
- find_library(KDE4_KDEFAKES_LIBRARY NAMES kdefakes PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KDEFAKES_LIBS ${kdefakes_LIB_DEPENDS} ${KDE4_KDEFAKES_LIBRARY} )
+# find_library(KDE4_KDEFAKES_LIBRARY NAMES kdefakes PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KDEFAKES_LIBS ${kdefakes_LIB_DEPENDS} ${KDE4_KDEFAKES_LIBRARY} )
+ set(KDE4_KDEFAKES_LIBRARY kdefakes )
+ set(KDE4_KDEFAKES_LIBS kdefakes )
endif (UNIX)
- find_library(KDE4_KDECORE_LIBRARY NAMES kdecore PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KDECORE_LIBS ${kdecore_LIB_DEPENDS} ${KDE4_KDECORE_LIBRARY} )
+# find_library(KDE4_KDECORE_LIBRARY NAMES kdecore PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KDECORE_LIBS ${kdecore_LIB_DEPENDS} ${KDE4_KDECORE_LIBRARY} )
- find_library(KDE4_KDEUI_LIBRARY NAMES kdeui PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KDEUI_LIBS ${kdeui_LIB_DEPENDS} ${KDE4_KDEUI_LIBRARY} )
- find_library(KDE4_KIO_LIBRARY NAMES kio PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KIO_LIBS ${kio_LIB_DEPENDS} ${KDE4_KIO_LIBRARY} )
+ set(KDE4_KDECORE_LIBRARY kdecore)
+ set(KDE4_KDECORE_LIBS kdecore)
- find_library(KDE4_KPARTS_LIBRARY NAMES kparts PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KPARTS_LIBS ${kparts_LIB_DEPENDS} ${KDE4_KPARTS_LIBRARY} )
- find_library(KDE4_KUTILS_LIBRARY NAMES kutils PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KUTILS_LIBS ${kutils_LIB_DEPENDS} ${KDE4_KUTILS_LIBRARY} )
+# find_library(KDE4_KDEUI_LIBRARY NAMES kdeui PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KDEUI_LIBS ${kdeui_LIB_DEPENDS} ${KDE4_KDEUI_LIBRARY} )
+ set(KDE4_KDEUI_LIBRARY kdeui )
+ set(KDE4_KDEUI_LIBS kdeui )
- find_library(KDE4_KDE3SUPPORT_LIBRARY NAMES kde3support PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KDE3SUPPORT_LIBS ${kde3support_LIB_DEPENDS} ${KDE4_KDE3SUPPORT_LIBRARY} )
+# find_library(KDE4_KIO_LIBRARY NAMES kio PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KIO_LIBS ${kio_LIB_DEPENDS} ${KDE4_KIO_LIBRARY} )
+ set(KDE4_KIO_LIBRARY kio )
+ set(KDE4_KIO_LIBS kio )
- find_library(KDE4_KFILE_LIBRARY NAMES kfile PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KFILE_LIBS ${kfile_LIB_DEPENDS} ${KDE4_KFILE_LIBRARY} )
+# find_library(KDE4_KPARTS_LIBRARY NAMES kparts PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KPARTS_LIBS ${kparts_LIB_DEPENDS} ${KDE4_KPARTS_LIBRARY} )
+ set(KDE4_KPARTS_LIBRARY kparts )
+ set(KDE4_KPARTS_LIBS kparts )
- find_library(KDE4_KHTML_LIBRARY NAMES khtml PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KHTML_LIBS ${khtml_LIB_DEPENDS} ${KDE4_KHTML_LIBRARY} )
+# find_library(KDE4_KUTILS_LIBRARY NAMES kutils PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KUTILS_LIBS ${kutils_LIB_DEPENDS} ${KDE4_KUTILS_LIBRARY} )
+ set(KDE4_KUTILS_LIBRARY kutils )
+ set(KDE4_KUTILS_LIBS kutils )
- find_library(KDE4_KJS_LIBRARY NAMES kjs PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KJS_LIBS ${kjs_LIB_DEPENDS} ${KDE4_KJS_LIBRARY} )
+# find_library(KDE4_KDE3SUPPORT_LIBRARY NAMES kde3support PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KDE3SUPPORT_LIBS ${kde3support_LIB_DEPENDS} ${KDE4_KDE3SUPPORT_LIBRARY} )
+ set(KDE4_KDE3SUPPORT_LIBRARY kde3support )
+ set(KDE4_KDE3SUPPORT_LIBS kde3support )
- find_library(KDE4_KJSAPI_LIBRARY NAMES kjsapi PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KJSAPI_LIBS ${kjsapi_LIB_DEPENDS} ${KDE4_KJSAPI_LIBRARY} )
+# find_library(KDE4_KFILE_LIBRARY NAMES kfile PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KFILE_LIBS ${kfile_LIB_DEPENDS} ${KDE4_KFILE_LIBRARY} )
+ set(KDE4_KFILE_LIBRARY kfile )
+ set(KDE4_KFILE_LIBS kfile )
- find_library(KDE4_KNEWSTUFF2_LIBRARY NAMES knewstuff2 PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KNEWSTUFF2_LIBS ${knewstuff2_LIB_DEPENDS} ${KDE4_KNEWSTUFF2_LIBRARY} )
+# find_library(KDE4_KHTML_LIBRARY NAMES khtml PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KHTML_LIBS ${khtml_LIB_DEPENDS} ${KDE4_KHTML_LIBRARY} )
+ set(KDE4_KHTML_LIBRARY khtml )
+ set(KDE4_KHTML_LIBS khtml )
- if (UNIX)
- find_library(KDE4_KPTY_LIBRARY NAMES kpty PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KPTY_LIBS ${kpty_LIB_DEPENDS} ${KDE4_KPTY_LIBRARY} )
-
- find_library(KDE4_KDESU_LIBRARY NAMES kdesu PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KDESU_LIBS ${kdesu_LIB_DEPENDS} ${KDE4_KDESU_LIBRARY} )
- endif (UNIX)
-
- find_library(KDE4_KDNSSD_LIBRARY NAMES kdnssd PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KDNSSD_LIBS ${kdnssd_LIB_DEPENDS} ${KDE4_KDNSSD_LIBRARY} )
+# find_library(KDE4_KJS_LIBRARY NAMES kjs PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KJS_LIBS ${kjs_LIB_DEPENDS} ${KDE4_KJS_LIBRARY} )
+ set(KDE4_KJS_LIBRARY kjs )
+ set(KDE4_KJS_LIBS kjs )
- find_library(KDE4_SOLID_LIBRARY NAMES solid PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_SOLID_LIBS ${solid_LIB_DEPENDS} ${KDE4_SOLID_LIBRARY} )
+# find_library(KDE4_KJSAPI_LIBRARY NAMES kjsapi PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KJSAPI_LIBS ${kjsapi_LIB_DEPENDS} ${KDE4_KJSAPI_LIBRARY} )
+ set(KDE4_KJSAPI_LIBRARY kjsapi )
+ set(KDE4_KJSAPI_LIBS kjsapi )
- find_library(KDE4_THREADWEAVER_LIBRARY NAMES threadweaver PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_THREADWEAVER_LIBRARIES ${threadweaver_LIB_DEPENDS} ${KDE4_THREADWEAVER_LIBRARY} )
+# find_library(KDE4_KNEWSTUFF2_LIBRARY NAMES knewstuff2 PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KNEWSTUFF2_LIBS ${knewstuff2_LIB_DEPENDS} ${KDE4_KNEWSTUFF2_LIBRARY} )
+ set(KDE4_KNEWSTUFF2_LIBRARY knewstuff2 )
+ set(KDE4_KNEWSTUFF2_LIBS knewstuff2 )
- find_library(KDE4_KNOTIFYCONFIG_LIBRARY NAMES knotifyconfig PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KNOTIFYCONFIG_LIBS ${knotifyconfig_LIB_DEPENDS} ${KDE4_KNOTIFYCONFIG_LIBRARY} )
-
- find_library(KDE4_KROSSCORE_LIBRARY NAMES krosscore PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KROSSCORE_LIBS ${krosscore_LIB_DEPENDS} ${KDE4_KROSSCORE_LIBRARY} )
-
- find_library(KDE4_KROSSUI_LIBRARY NAMES krossui PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KROSSUI_LIBS ${krossui_LIB_DEPENDS} ${KDE4_KROSSCORE_LIBS} ${KDE4_KROSSUI_LIBRARY} )
+ if (UNIX)
+# find_library(KDE4_KPTY_LIBRARY NAMES kpty PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KPTY_LIBS ${kpty_LIB_DEPENDS} ${KDE4_KPTY_LIBRARY} )
+ set(KDE4_KPTY_LIBRARY kpty )
+ set(KDE4_KPTY_LIBS kpty )
+
+# find_library(KDE4_KDESU_LIBRARY NAMES kdesu PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KDESU_LIBS ${kdesu_LIB_DEPENDS} ${KDE4_KDESU_LIBRARY} )
+ set(KDE4_KDESU_LIBRARY kdesu )
+ set(KDE4_KDESU_LIBS kdesu )
+ endif (UNIX)
- find_library(KDE4_KTEXTEDITOR_LIBRARY NAMES ktexteditor PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KTEXTEDITOR_LIBS ${ktexteditor_LIB_DEPENDS} ${KDE4_KTEXTEDITOR_LIBRARY} )
+# find_library(KDE4_KDNSSD_LIBRARY NAMES kdnssd PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KDNSSD_LIBS ${kdnssd_LIB_DEPENDS} ${KDE4_KDNSSD_LIBRARY} )
+ set(KDE4_KDNSSD_LIBRARY kdnssd )
+ set(KDE4_KDNSSD_LIBS kdnssd )
+
+# find_library(KDE4_SOLID_LIBRARY NAMES solid PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_SOLID_LIBS ${solid_LIB_DEPENDS} ${KDE4_SOLID_LIBRARY} )
+ set(KDE4_SOLID_LIBRARY solid )
+ set(KDE4_SOLID_LIBS solid )
+
+# find_library(KDE4_THREADWEAVER_LIBRARY NAMES threadweaver PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_THREADWEAVER_LIBRARIES ${threadweaver_LIB_DEPENDS} ${KDE4_THREADWEAVER_LIBRARY} )
+ set(KDE4_THREADWEAVER_LIBRARY threadweaver )
+ set(KDE4_THREADWEAVER_LIBS threadweaver )
+ set(KDE4_THREADWEAVER_LIBRARIES threadweaver )
+
+# find_library(KDE4_KNOTIFYCONFIG_LIBRARY NAMES knotifyconfig PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KNOTIFYCONFIG_LIBS ${knotifyconfig_LIB_DEPENDS} ${KDE4_KNOTIFYCONFIG_LIBRARY} )
+ set(KDE4_KNOTIFYCONFIG_LIBRARY knotifyconfig )
+ set(KDE4_KNOTIFYCONFIG_LIBS knotifyconfig )
+
+# find_library(KDE4_KROSSCORE_LIBRARY NAMES krosscore PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KROSSCORE_LIBS ${krosscore_LIB_DEPENDS} ${KDE4_KROSSCORE_LIBRARY} )
+ set(KDE4_KROSSCORE_LIBRARY krosscore )
+ set(KDE4_KROSSCORE_LIBS krosscore )
+
+# find_library(KDE4_KROSSUI_LIBRARY NAMES krossui PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KROSSUI_LIBS ${krossui_LIB_DEPENDS} ${KDE4_KROSSCORE_LIBS} ${KDE4_KROSSUI_LIBRARY} )
+ set(KDE4_KROSSUI_LIBRARY krossui )
+ set(KDE4_KROSSUI_LIBS krossui )
+
+# find_library(KDE4_KTEXTEDITOR_LIBRARY NAMES ktexteditor PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KTEXTEDITOR_LIBS ${ktexteditor_LIB_DEPENDS} ${KDE4_KTEXTEDITOR_LIBRARY} )
+ set(KDE4_KTEXTEDITOR_LIBRARY ktexteditor )
+ set(KDE4_KTEXTEDITOR_LIBS ktexteditor )
# Can't do that, it's not always compiled.
#find_library(KDE4_KNEPOMUK_LIBRARY NAMES knepomuk PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
#set(KDE4_KNEPOMUK_LIBS ${knepomuk_LIB_DEPENDS} ${KDE4_KNEPOMUK_LIBRARY} )
+ if(TARGET knepomuk)
+ set(KDE4_KNEPOMUK_LIBRARY knepomuk )
+ set(KDE4_KNEPOMUK_LIBS knepomuk )
+ endif(TARGET knepomuk)
+
# Can't do that, it's not always compiled. See FindKMetaData.cmake
#find_library(KDE4_KMETADATA_LIBRARY NAMES kmetadata PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
#set(KDE4_KMETADATA_LIBS ${kmetadata_LIB_DEPENDS} ${KDE4_KMETADATA_LIBRARY} )
-
- find_library(KDE4_KFORMULA_LIBRARY NAMES kformula PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_KFORMULA_LIBS ${kformula_LIB_DEPENDS} ${KDE4_KFORMULA_LIBRARY} )
-
- find_library(KDE4_PLASMA_LIBRARY NAMES plasma PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
- set(KDE4_PLASMA_LIBS ${plasma_LIB_DEPENDS} ${KDE4_PLASMA_LIBRARY} )
-
-
-
- get_filename_component(KDE4_LIB_DIR ${KDE4_KDECORE_LIBRARY} PATH )
+ if(TARGET kmetadata)
+ set(KDE4_KMETADATA_LIBRARY kmetadata )
+ set(KDE4_KMETADATA_LIBS kmetadata )
+ endif(TARGET kmetadata)
+
+# find_library(KDE4_KFORMULA_LIBRARY NAMES kformula PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_KFORMULA_LIBS ${kformula_LIB_DEPENDS} ${KDE4_KFORMULA_LIBRARY} )
+ set(KDE4_KFORMULA_LIBRARY kformula )
+ set(KDE4_KFORMULA_LIBS kformula )
+
+# find_library(KDE4_PLASMA_LIBRARY NAMES plasma PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+# set(KDE4_PLASMA_LIBS ${plasma_LIB_DEPENDS} ${KDE4_PLASMA_LIBRARY} )
+ set(KDE4_PLASMA_LIBRARY plasma )
+ set(KDE4_PLASMA_LIBS plasma )
+
+ set(KDE4_LIB_DIR ${KDE4_LIB_INSTALL_DIR} )
# kpassworddialog.h is new with KDE4
# KDE4_INCLUDE_INSTALL_DIR is defined by KDELibsDependencies.cmake
diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake
index bae0b39b..93120ddb 100644
--- a/modules/KDE4Macros.cmake
+++ b/modules/KDE4Macros.cmake
@@ -903,7 +903,10 @@ macro (KDE4_ADD_LIBRARY _target_NAME _lib_TYPE)
# This reduces inter-package dependencies and makes it easier to remove
# dependencies of shared libraries without breaking binary compatibility.
if(NOT "${_add_lib_param}" STREQUAL "STATIC")
- set_target_properties(${_target_NAME} PROPERTIES ${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES "" )
+ # only do this inside kdelibs for now (so there is not too much breakage all at once, Alex
+ if(kdelibs_SOURCE_DIR)
+ set_target_properties(${_target_NAME} PROPERTIES LINK_INTERFACE_LIBRARIES "" )
+ endif(kdelibs_SOURCE_DIR)
endif(NOT "${_add_lib_param}" STREQUAL "STATIC")
endmacro (KDE4_ADD_LIBRARY _target_NAME _lib_TYPE)
@@ -1129,56 +1132,9 @@ endmacro (KDE4_ADD_APP_ICON)
macro(_KDE4_EXPORT_LIBRARY_DEPENDENCIES _append_or_write _filename)
-# if(KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT AND UNIX )# AND NOT APPLE)
-
- # get all cmake variables which end in _LIB_DEPENDS
- # then parse the target name out of them
- # use the target name to get the LINK_INTERFACE_LIBRARIES target property
- # This way for targets where INTERFACE_LINK_LIBRARIES has been set, the value set from
- # export_library_dependencies() will be overridden, while for those where it hasn't been set
- # the full list is preserved.
- # (this is cmake 2.6 compatible, where we'll use the EXPORT() feature
- # Alex
-
- file(${_append_or_write} "${_filename}" "# The following variables have been created by kde4_export_library_dependencies()
-# The contents have been determined from the LINK_INTERFACE_LIBRARIES target property of the respective libraries.\n\n")
- get_cmake_property(allVars VARIABLES)
- set(allLibs "")
- foreach(currentVar ${allVars})
- string(REGEX REPLACE "^(.+)_LIB_DEPENDS$" "\\1" target "${currentVar}")
- if(NOT "${target}" STREQUAL "${currentVar}")
- get_target_property(interfaceLibs ${target} LINK_INTERFACE_LIBRARIES)
- if(NOT "${interfaceLibs}" MATCHES "NOTFOUND")
- file(APPEND "${_filename}" "SET(\"${currentVar}\" \"${interfaceLibs}\")\n")
- endif(NOT "${interfaceLibs}" MATCHES "NOTFOUND")
- endif(NOT "${target}" STREQUAL "${currentVar}")
- endforeach(currentVar ${allVars})
-
-# endif(KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT AND UNIX)# AND NOT APPLE)
+ message(FATAL_ERROR "_KDE4_EXPORT_LIBRARY_DEPENDENCIES() was an internal macro and has been removed again. Just remove the code which calls it, there is no substitute.")
endmacro(_KDE4_EXPORT_LIBRARY_DEPENDENCIES)
-# In cmake 2.6.2 a new keyword "LINK_INTERFACE_LIBRARIES is added to TARGET_LINK_LIBRARIES().
-# We will use this to reduce the link interface of libraries. As opposed to setting the
-# respective target property, here the "debug" and "optimized" keywords are supported
-# (this is actually the reason why we will use this).
-# The problem is, once we add this call to our cmake files, cmake 2.6.0 and 2.6.1 would not
-# work anymore, since they would fail when trying to link against -lLINK_INTERFACE_LIBRARIES
-# That's for cmake 2.6.0 and 2.6.1 we redefine TARGET_LINK_LIBRARIES() here.
-# If the first argument after the target name if "LINK_INTERFACE_LIBRARIES", then
-# nothing is done, otherwise the original TARGET_LINK_LIBRARIES() is called.
-# This can be done by calling _target_link_libraries(), since if a command is
-# "overloaded" by a macro, the original command gets a "_" prepended, so it
-# is still available.
-if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" MATCHES "^2\\.6\\.[01]$")
- message(STATUS "Your are still using CMake ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}, please update to CMake 2.6.2.\nIt will be required next monday.")
- macro(TARGET_LINK_LIBRARIES)
- if(NOT "${ARGV1}" STREQUAL "LINK_INTERFACE_LIBRARIES")
- _target_link_libraries(${ARGN})
- endif()
- endmacro(TARGET_LINK_LIBRARIES)
-endif("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" MATCHES "^2\\.6\\.[01]$")
-
-
macro (_KDE4_TARGET_LINK_INTERFACE_LIBRARIES _target _interface_libs)
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)