diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/CMakeLists.txt | 16 | ||||
-rw-r--r-- | modules/FindAutomoc4.cmake | 34 | ||||
-rw-r--r-- | modules/FindKDE4Internal.cmake | 176 | ||||
-rw-r--r-- | modules/KDE4Macros.cmake | 54 |
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) |