Created
February 10, 2017 16:49
-
-
Save mnutt/1a316e0e01869d042b8a7cc870ed6dc7 to your computer and use it in GitHub Desktop.
homebrew-qtwebkit-tp5-mac-frameworks.diff
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake | |
index 30b1a377aed..c373b58d8b0 100644 | |
--- a/Source/WebKit/PlatformQt.cmake | |
+++ b/Source/WebKit/PlatformQt.cmake | |
@@ -387,20 +387,20 @@ install( | |
${KDE_INSTALL_INCLUDEDIR}/QtWebKit/${PROJECT_VERSION}/QtWebKit/private | |
) | |
-set(WEBKIT_PKGCONGIG_DEPS "Qt5Core Qt5Gui Qt5Network") | |
+set(WEBKIT_PKGCONFIG_DEPS "Qt5Core Qt5Gui Qt5Network") | |
set(WEBKIT_PRI_DEPS "core gui network") | |
set(WEBKIT_PRI_RUNTIME_DEPS "sensors positioning qml quick webchannel core_private gui_private") | |
set(WEBKIT_PRI_EXTRA_LIBS "") | |
-set(WEBKITWIDGETS_PKGCONGIG_DEPS "Qt5Core Qt5Gui Qt5Network Qt5Widgets Qt5WebKit") | |
+set(WEBKITWIDGETS_PKGCONFIG_DEPS "Qt5Core Qt5Gui Qt5Network Qt5Widgets Qt5WebKit") | |
set(WEBKITWIDGETS_PRI_DEPS "core gui network widgets webkit") | |
set(WEBKITWIDGETS_PRI_RUNTIME_DEPS "sensors positioning widgets_private opengl sql core_private gui_private") | |
if (QT_STATIC_BUILD) | |
if (MSVC) | |
set(LIB_PREFIX "lib") | |
endif () | |
- set(WEBKIT_PKGCONGIG_DEPS "${WEBKIT_PKGCONGIG_DEPS} Qt5Sql") | |
+ set(WEBKIT_PKGCONFIG_DEPS "${WEBKIT_PKGCONFIG_DEPS} Qt5Sql") | |
set(WEBKIT_PRI_DEPS "${WEBKIT_PRI_DEPS} sql") | |
- set(WEBKITWIDGETS_PKGCONGIG_DEPS "${WEBKITWIDGETS_PKGCONGIG_DEPS} Qt5PrintSupport") | |
+ set(WEBKITWIDGETS_PKGCONFIG_DEPS "${WEBKITWIDGETS_PKGCONFIG_DEPS} Qt5PrintSupport") | |
set(WEBKITWIDGETS_PRI_DEPS "${WEBKITWIDGETS_PRI_DEPS} printsupport") | |
set(EXTRA_LIBS_NAMES WebCore JavaScriptCore WTF xml2) | |
if (NOT USE_SYSTEM_MALLOC) | |
@@ -422,7 +422,7 @@ if (QT_STATIC_BUILD) | |
list(APPEND EXTRA_LIBS_NAMES icucore) | |
endif () | |
foreach (LIB_NAME ${EXTRA_LIBS_NAMES}) | |
- set(WEBKIT_PKGCONGIG_DEPS "${WEBKIT_PKGCONGIG_DEPS} ${LIB_PREFIX}${LIB_NAME}") | |
+ set(WEBKIT_PKGCONFIG_DEPS "${WEBKIT_PKGCONFIG_DEPS} ${LIB_PREFIX}${LIB_NAME}") | |
set(WEBKIT_PRI_EXTRA_LIBS "${WEBKIT_PRI_EXTRA_LIBS} -l${LIB_PREFIX}${LIB_NAME}") | |
endforeach () | |
else () | |
@@ -430,9 +430,22 @@ else () | |
set(WEBKITWIDGETS_PRI_RUNTIME_DEPS "${WEBKITWIDGETS_PRI_RUNTIME_DEPS} printsupport") | |
endif () | |
+set(WEBKIT_BASE_NAME "webkit") | |
+set(WEBKIT_LIB_NAME "Qt5WebKit") | |
+set(WEBKITWIDGETS_BASE_NAME "webkitwidgets") | |
+set(WEBKITWIDGETS_LIB_NAME "Qt5WebKitWidgets") | |
+ | |
+# Mac libraries use "Qt" prefix rather than "Qt5" | |
+if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") | |
+ set(WEBKIT_LIB_NAME "QtWebKit") | |
+ set(WEBKITWIDGETS_LIB_NAME "QtWebKitWidgets") | |
+endif () | |
+ | |
ecm_generate_pkgconfig_file( | |
- BASE_NAME Qt5WebKit | |
- DEPS "${WEBKIT_PKGCONGIG_DEPS}" | |
+ BASE_NAME ${WEBKIT_BASE_NAME} | |
+ LIB_NAME ${WEBKIT_LIB_NAME} | |
+ INCLUDE_INSTALL_DIR "${KDE_INSTALL_INCLUDEDIR}/QtWebKit" | |
+ DEPS "${WEBKIT_PKGCONFIG_DEPS}" | |
FILENAME_VAR WebKit_PKGCONFIG_FILENAME | |
INSTALL | |
) | |
@@ -452,8 +465,9 @@ else () | |
endif () | |
ecm_generate_pri_file( | |
- BASE_NAME webkit | |
- LIB_NAME QtWebKit | |
+ BASE_NAME ${WEBKIT_BASE_NAME} | |
+ LIB_NAME ${WEBKIT_LIB_NAME} | |
+ INCLUDE_INSTALL_DIR "${KDE_INSTALL_INCLUDEDIR}/QtWebKit" | |
DEPS "${WEBKIT_PRI_DEPS}" | |
RUNTIME_DEPS "${WEBKIT_PRI_RUNTIME_DEPS}" | |
DEFINES QT_WEBKIT_LIB | |
@@ -470,13 +484,6 @@ else () | |
set(WebKit_LIBRARY_TYPE SHARED) | |
endif () | |
-if (APPLE) | |
- set(WebKit_OUTPUT_NAME QtWebKit) | |
-else () | |
- set(WebKit_OUTPUT_NAME Qt5WebKit) | |
-endif () | |
- | |
- | |
############ WebKitWidgets ############ | |
set(WebKitWidgets_INCLUDE_DIRECTORIES | |
@@ -596,7 +603,9 @@ install( | |
) | |
ecm_generate_pkgconfig_file( | |
- BASE_NAME Qt5WebKitWidgets | |
+ BASE_NAME ${WEBKITWIDGETS_BASE_NAME} | |
+ LIB_NAME ${WEBKITWIDGETS_LIB_NAME} | |
+ INCLUDE_INSTALL_DIR "${KDE_INSTALL_INCLUDEDIR}/QtWebKitWidgets" | |
DEPS "${WEBKITWIDGETS_PKGCONFIG_DEPS}" | |
FILENAME_VAR WebKitWidgets_PKGCONFIG_FILENAME | |
INSTALL | |
@@ -617,8 +626,9 @@ else () | |
endif () | |
ecm_generate_pri_file( | |
- BASE_NAME webkitwidgets | |
- LIB_NAME QtWebKitWidgets | |
+ BASE_NAME ${WEBKITWIDGETS_BASE_NAME} | |
+ LIB_NAME ${WEBKITWIDGETS_LIB_NAME} | |
+ INCLUDE_INSTALL_DIR "${KDE_INSTALL_INCLUDEDIR}/QtWebKitWidgets" | |
DEPS "${WEBKITWIDGETS_PRI_DEPS}" | |
RUNTIME_DEPS "${WEBKITWIDGETS_PRI_RUNTIME_DEPS}" | |
DEFINES QT_WEBKITWIDGETS_LIB | |
@@ -668,11 +678,6 @@ else () | |
set(WebKitWidgets_LIBRARY_TYPE SHARED) | |
endif () | |
-if (APPLE) | |
- set(WebKitWidgets_OUTPUT_NAME QtWebKitWidgets) | |
-else () | |
- set(WebKitWidgets_OUTPUT_NAME Qt5WebKitWidgets) | |
-endif () | |
set(WebKitWidgets_PRIVATE_HEADERS_LOCATION Headers/${PROJECT_VERSION}/QtWebKitWidgets/Private) | |
WEBKIT_FRAMEWORK(WebKitWidgets) | |
diff --git a/Source/cmake/ECMGeneratePkgConfigFile.cmake b/Source/cmake/ECMGeneratePkgConfigFile.cmake | |
index b4e68663038..82c56ac85b8 100644 | |
--- a/Source/cmake/ECMGeneratePkgConfigFile.cmake | |
+++ b/Source/cmake/ECMGeneratePkgConfigFile.cmake | |
@@ -25,6 +25,8 @@ | |
# it will default to the ``BASE_NAME``. That means the ``LIB_NAME`` will be set | |
# as the name field as well as the library to link to. | |
# | |
+# ``DESC`` is a description of the library. | |
+# | |
# ``FILENAME_VAR`` is specified with a variable name. This variable will | |
# receive the location of the generated file will be set, within the build | |
# directory. This way it can be used in case some processing is required. See | |
@@ -61,6 +63,7 @@ | |
# ecm_generate_pkgconfig_file( | |
# BASE_NAME KF5Archive | |
# DEPS Qt5Core | |
+# DESC "KF5Archive module" | |
# FILENAME_VAR pkgconfig_filename | |
# INSTALL | |
# ) | |
@@ -83,7 +86,7 @@ | |
function(ECM_GENERATE_PKGCONFIG_FILE) | |
set(options INSTALL) | |
- set(oneValueArgs BASE_NAME LIB_NAME FILENAME_VAR INCLUDE_INSTALL_DIR LIB_INSTALL_DIR) | |
+ set(oneValueArgs BASE_NAME LIB_NAME FILENAME_VAR INCLUDE_INSTALL_DIR LIB_INSTALL_DIR DESC) | |
set(multiValueArgs DEPS DEFINES) | |
cmake_parse_arguments(EGPF "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) | |
@@ -101,6 +104,9 @@ function(ECM_GENERATE_PKGCONFIG_FILE) | |
if(NOT EGPF_LIB_NAME) | |
set(EGPF_LIB_NAME ${EGPF_BASE_NAME}) | |
endif() | |
+ if (NOT EGPF_DESC) | |
+ set(EGPF_DESC "${EGPF_LIB_NAME} module") | |
+ endif () | |
if(NOT EGPF_INCLUDE_INSTALL_DIR) | |
if(INCLUDE_INSTALL_DIR) | |
set(EGPF_INCLUDE_INSTALL_DIR "${INCLUDE_INSTALL_DIR}/${EGPF_BASE_NAME}") | |
@@ -140,16 +146,29 @@ function(ECM_GENERATE_PKGCONFIG_FILE) | |
set(PKGCONFIG_TARGET_DEFINES "${EGPF_DEFINE}") | |
endif() | |
- set(PKGCONFIG_FILENAME ${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_TARGET_BASENAME}.pc) | |
+ set(PKGCONFIG_FILENAME ${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_TARGET_LIBNAME}.pc) | |
if (EGPF_FILENAME_VAR) | |
set(${EGPF_FILENAME_VAR} ${PKGCONFIG_FILENAME} PARENT_SCOPE) | |
endif() | |
+ set(PROJECT_LIBS "-L${CMAKE_INSTALL_PREFIX}/${EGPF_LIB_INSTALL_DIR} -l${PKGCONFIG_TARGET_LIBNAME}") | |
+ | |
+ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") | |
+ set(PROJECT_LIBS "-F${CMAKE_INSTALL_PREFIX}/${EGPF_LIB_INSTALL_DIR} -framework ${PKGCONFIG_TARGET_LIBNAME}") | |
+ set(PKGCONFIG_TARGET_INCLUDES "-I${CMAKE_INSTALL_PREFIX}/${EGPF_LIB_INSTALL_DIR}/${PKGCONFIG_TARGET_LIBNAME}.framework/includes") | |
+ endif () | |
+ | |
file(WRITE ${PKGCONFIG_FILENAME} | |
" | |
+prefix=${CMAKE_INSTALL_PREFIX} | |
+exec_prefix=${CMAKE_INSTALL_PREFIX} | |
+libdir=${CMAKE_INSTALL_PREFIX}/${EGPF_LIB_INSTALL_DIR} | |
+includedir=${EGPF_INCLUDE_INSTALL_DIR} | |
+ | |
Name: ${PKGCONFIG_TARGET_LIBNAME} | |
+Description: ${EGPF_DESC} | |
Version: ${PROJECT_VERSION} | |
-Libs: -L${CMAKE_INSTALL_PREFIX}/${EGPF_LIB_INSTALL_DIR} -l${PKGCONFIG_TARGET_LIBNAME} | |
+Libs: ${PROJECT_LIBS} | |
Cflags: ${PKGCONFIG_TARGET_INCLUDES} ${PKGCONFIG_TARGET_DEFINES} | |
Requires: ${PKGCONFIG_TARGET_DEPS} | |
" | |
@@ -160,4 +179,3 @@ Requires: ${PKGCONFIG_TARGET_DEPS} | |
install(FILES ${PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR}) | |
endif() | |
endfunction() | |
- | |
diff --git a/Source/cmake/ECMGeneratePriFile.cmake b/Source/cmake/ECMGeneratePriFile.cmake | |
index 9b4a80f1878..6ff9d1f229b 100644 | |
--- a/Source/cmake/ECMGeneratePriFile.cmake | |
+++ b/Source/cmake/ECMGeneratePriFile.cmake | |
@@ -185,6 +185,13 @@ function(ECM_GENERATE_PRI_FILE) | |
set(PRI_TARGET_CONFIG "staticlib") | |
endif () | |
+ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") | |
+ set(PRI_TARGET_FRAMEWORKS ${PRI_TARGET_LIBS}) | |
+ set(PRI_TARGET_INCLUDES2 "${PRI_TARGET_LIBS}/${PRI_TARGET_LIBNAME}.framework/Headers") | |
+ set(PRI_TARGET_LIBS "-framework ${PRI_TARGET_LIBNAME}") | |
+ set(PRI_TARGET_CONFIG "v2 lib_bundle") | |
+ endif () | |
+ | |
file(GENERATE | |
OUTPUT ${PRI_FILENAME} | |
CONTENT | |
@@ -205,12 +212,14 @@ QT.${PRI_TARGET_BASENAME}.libexec = | |
QT.${PRI_TARGET_BASENAME}.plugins = | |
QT.${PRI_TARGET_BASENAME}.imports = | |
QT.${PRI_TARGET_BASENAME}.qml = | |
+QT.${PRI_TARGET_BASENAME}.module = ${PRI_TARGET_LIBNAME} | |
QT.${PRI_TARGET_BASENAME}.module_config = ${PRI_TARGET_CONFIG} | |
+QT.${PRI_TARGET_BASENAME}.frameworks = ${PRI_TARGET_FRAMEWORKS} | |
QT_MODULES += ${PRI_TARGET_QT_MODULES} | |
+QMAKE_RPATHDIR += ${PRI_TARGET_RPATH} | |
QMAKE_LIBS_PRIVATE += ${PRI_TARGET_EXTRA_LIBS} | |
" | |
) | |
endfunction() | |
- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment