Git commit 7f707a8c28b92b1ad79b31dc74f0978255eaee9a by Alex Merry. Committed on 09/04/2014 at 21:55. Pushed by alexmerry into branch 'master'.
Add a compatibility CMake config file This allows projects to continue using find_package(KF5KDE4Suport) and KF5::KDE4Support in CMake files, keeping source compatibility with beta1. CCMAIL: kde-frameworks-devel@kde.org M +31 -0 CMakeLists.txt A +33 -0 KF5KDE4SupportConfig.cmake.in http://commits.kde.org/kde4support/7f707a8c28b92b1ad79b31dc74f0978255eaee9a diff --git a/CMakeLists.txt b/CMakeLists.txt index ad26ee4..1cbf68b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,6 +106,37 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kdelibs4support_version.h DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel) + + +# +# Compatibility file +# +set(CMAKECONFIG_COMPAT_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KF5KDE4Support") +if(BUILD_SHARED_LIBS) + set(KDELibs4Support_LIB_TYPE SHARED) +else() + set(KDELibs4Support_LIB_TYPE STATIC) +endif() +ecm_configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/KF5KDE4SupportConfig.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/KF5KDE4SupportConfig.cmake" + INSTALL_DESTINATION "${CMAKECONFIG_COMPAT_INSTALL_DIR}" +) +write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/KF5KDE4SupportConfigVersion.cmake" + VERSION ${KF5_VERSION} + COMPATIBILITY AnyNewerVersion +) +install( + FILES + "${CMAKE_CURRENT_BINARY_DIR}/KF5KDE4SupportConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/KF5KDE4SupportConfigVersion.cmake" + DESTINATION "${CMAKECONFIG_COMPAT_INSTALL_DIR}" + COMPONENT Devel +) + + + add_subdirectory(cmake) add_subdirectory(docs) add_subdirectory(src) diff --git a/KF5KDE4SupportConfig.cmake.in b/KF5KDE4SupportConfig.cmake.in new file mode 100644 index 0000000..d4488d5 --- /dev/null +++ b/KF5KDE4SupportConfig.cmake.in @@ -0,0 +1,33 @@ +@PACKAGE_INIT@ + +find_dependency(KF5KDELibs4Support "@KF5_VERSION@") + +if(NOT TARGET KF5::KDE4Support) + add_library(KF5::KDE4Support @KDELibs4Support_LIB_TYPE@ IMPORTED) + + # Because CMake won't let us alias an imported target, we have to + # create a new imported target and copy the properties we care about + set(_copy_props + INTERFACE_INCLUDE_DIRECTORIES + INTERFACE_LINK_LIBRARIES + IMPORTED_CONFIGURATIONS + ) + get_target_property(_configs KF5::KDELibs4Support IMPORTED_CONFIGURATIONS) + foreach(_config ${_configs}) + set(_copy_props + ${_copy_props} + IMPORTED_LINK_DEPENDENT_LIBRARIES_${_config} + IMPORTED_LOCATION_${_config} + IMPORTED_SONAME_${_config} + ) + endforeach() + foreach(_prop ${_copy_props}) + get_target_property(_temp_prop KF5::KDELibs4Support "${_prop}") + set_target_properties(KF5::KDE4Support PROPERTIES "${_prop}" "${_temp_prop}") + endforeach() + + message(AUTHOR_WARNING +" The KF5KDE4Support package is deprecated: use + find_package(KF5KDELibs4Support) or + find_package(KF5 COMPONENTS KDELibs4Support) instead.") +endif() _______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel