From 1467a94564bb2f9631c93af5850b25ccdd4a0cf1 Mon Sep 17 00:00:00 2001 From: Konstantin Tokarev Date: Fri, 10 Feb 2017 17:56:13 +0300 Subject: [PATCH] [cmake] Installed configuration files should define more variables Define "module variables" as listed in Qt documentation. Also, removed redundant QtWebKitWidgets include dir from exported targets, and added compile definitions. Change-Id: If482128248a463f4577d8ebd875012ab7cdd0ff3 --- Source/PlatformQt.cmake | 46 ++++++++++++++++++++++++-- Source/Qt5WebKitConfig.cmake.in | 5 +++ Source/Qt5WebKitWidgetsConfig.cmake.in | 5 +++ Source/WebKit/CMakeLists.txt | 1 - Source/WebKit/PlatformQt.cmake | 1 - 5 files changed, 54 insertions(+), 4 deletions(-) diff --git a/Source/PlatformQt.cmake b/Source/PlatformQt.cmake index fb3e0acb1458d..e651e52c0787f 100644 --- a/Source/PlatformQt.cmake +++ b/Source/PlatformQt.cmake @@ -10,18 +10,60 @@ endif () # Installation -target_include_directories(WebKit INTERFACE $) -target_include_directories(WebKitWidgets INTERFACE $) +target_compile_definitions(WebKit INTERFACE QT_WEBKIT_LIB) +target_include_directories(WebKit INTERFACE + $ + $ +) + +target_compile_definitions(WebKitWidgets INTERFACE QT_WEBKITWIDGETS_LIB) +target_include_directories(WebKitWidgets INTERFACE + $ + $ +) +set(_package_footer_template " +####### Expanded from QTWEBKIT_PACKAGE_FOOTER variable ####### + +set(Qt5@MODULE_NAME@_LIBRARIES Qt5::@MODULE_NAME@) +set(Qt5@MODULE_NAME@_VERSION_STRING \${Qt5@MODULE_NAME@_VERSION}) +set(Qt5@MODULE_NAME@_EXECUTABLE_COMPILE_FLAGS \"\") +set(Qt5@MODULE_NAME@_PRIVATE_INCLUDE_DIRS \"\") # FIXME: Support private headers + +get_target_property(Qt5@MODULE_NAME@_INCLUDE_DIRS Qt5::@MODULE_NAME@ INTERFACE_INCLUDE_DIRECTORIES) +get_target_property(Qt5@MODULE_NAME@_COMPILE_DEFINITIONS Qt5::@MODULE_NAME@ INTERFACE_COMPILE_DEFINITIONS) + +foreach (_module_dep \${_Qt5@MODULE_NAME@_MODULE_DEPENDENCIES}) + list(APPEND Qt5@MODULE_NAME@_INCLUDE_DIRS \${Qt5\${_module_dep}_INCLUDE_DIRS}) + list(APPEND Qt5@MODULE_NAME@_PRIVATE_INCLUDE_DIRS \${Qt5\${_module_dep}_PRIVATE_INCLUDE_DIRS}) + list(APPEND Qt5@MODULE_NAME@_DEFINITIONS \${Qt5\${_module_dep}_DEFINITIONS}) + list(APPEND Qt5@MODULE_NAME@_COMPILE_DEFINITIONS \${Qt5\${_module_dep}_COMPILE_DEFINITIONS}) + list(APPEND Qt5@MODULE_NAME@_EXECUTABLE_COMPILE_FLAGS \${Qt5\${_module_dep}_EXECUTABLE_COMPILE_FLAGS}) +endforeach () +list(REMOVE_DUPLICATES Qt5@MODULE_NAME@_INCLUDE_DIRS) +list(REMOVE_DUPLICATES Qt5@MODULE_NAME@_PRIVATE_INCLUDE_DIRS) +list(REMOVE_DUPLICATES Qt5@MODULE_NAME@_DEFINITIONS) +list(REMOVE_DUPLICATES Qt5@MODULE_NAME@_COMPILE_DEFINITIONS) +list(REMOVE_DUPLICATES Qt5@MODULE_NAME@_EXECUTABLE_COMPILE_FLAGS) +") + +set(MODULE_NAME WebKit) +string(CONFIGURE ${_package_footer_template} QTWEBKIT_PACKAGE_FOOTER @ONLY) ecm_configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/Qt5WebKitConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/Qt5WebKitConfig.cmake" INSTALL_DESTINATION "${KDE_INSTALL_CMAKEPACKAGEDIR}/Qt5WebKit" ) + +set(MODULE_NAME WebKitWidgets) +string(CONFIGURE ${_package_footer_template} QTWEBKIT_PACKAGE_FOOTER @ONLY) ecm_configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/Qt5WebKitWidgetsConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/Qt5WebKitWidgetsConfig.cmake" INSTALL_DESTINATION "${KDE_INSTALL_CMAKEPACKAGEDIR}/Qt5WebKitWidgets" ) +unset(MODULE_NAME) +unset(QTWEBKIT_PACKAGE_FOOTER) + write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/Qt5WebKitConfigVersion.cmake" VERSION ${PROJECT_VERSION} COMPATIBILITY AnyNewerVersion) diff --git a/Source/Qt5WebKitConfig.cmake.in b/Source/Qt5WebKitConfig.cmake.in index c8107dac46c37..34e9aadcac589 100644 --- a/Source/Qt5WebKitConfig.cmake.in +++ b/Source/Qt5WebKitConfig.cmake.in @@ -5,3 +5,8 @@ find_dependency(Qt5Gui @Qt5_VERSION@ EXACT) find_dependency(Qt5Network @Qt5_VERSION@ EXACT) include("${CMAKE_CURRENT_LIST_DIR}/WebKitTargets.cmake") + +set(_Qt5WebKit_MODULE_DEPENDENCIES "Gui;Network;Core") +set(Qt5WebKit_DEFINITIONS -DQT_WEBKIT_LIB) + +@QTWEBKIT_PACKAGE_FOOTER@ diff --git a/Source/Qt5WebKitWidgetsConfig.cmake.in b/Source/Qt5WebKitWidgetsConfig.cmake.in index a96879a89e1a2..ade62eeaed0b1 100644 --- a/Source/Qt5WebKitWidgetsConfig.cmake.in +++ b/Source/Qt5WebKitWidgetsConfig.cmake.in @@ -8,3 +8,8 @@ find_dependency(Qt5Widgets @Qt5_VERSION@ EXACT) find_dependency(Qt5WebKit @PROJECT_VERSION_STRING@ EXACT) include("${CMAKE_CURRENT_LIST_DIR}/Qt5WebKitWidgetsTargets.cmake") + +set(_Qt5WebKitWidgets_MODULE_DEPENDENCIES "WebKit;Widgets;Gui;Network;Core") +set(Qt5WebKitWidgets_DEFINITIONS -DQT_WEBKITWIDGETS_LIB) + +@QTWEBKIT_PACKAGE_FOOTER@ diff --git a/Source/WebKit/CMakeLists.txt b/Source/WebKit/CMakeLists.txt index b48cc319e2783..081858daadbd8 100644 --- a/Source/WebKit/CMakeLists.txt +++ b/Source/WebKit/CMakeLists.txt @@ -57,7 +57,6 @@ WEBKIT_FRAMEWORK(WebKit) set_target_properties(WebKit PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}) install(TARGETS WebKit EXPORT WebKitTargets DESTINATION "${LIB_INSTALL_DIR}" - INCLUDES DESTINATION "${KDE_INSTALL_INCLUDEDIR}/QtWebKitWidgets" RUNTIME DESTINATION "${BIN_INSTALL_DIR}" ) diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake index 3fd62746e4d82..8fabf7d1e5017 100644 --- a/Source/WebKit/PlatformQt.cmake +++ b/Source/WebKit/PlatformQt.cmake @@ -680,7 +680,6 @@ add_dependencies(WebKitWidgets WebKit) set_target_properties(WebKitWidgets PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}) install(TARGETS WebKitWidgets EXPORT Qt5WebKitWidgetsTargets DESTINATION "${LIB_INSTALL_DIR}" - INCLUDES DESTINATION "${KDE_INSTALL_INCLUDEDIR}/QtWebKitWidgets" RUNTIME DESTINATION "${BIN_INSTALL_DIR}" )