Skip to content

Commit

Permalink
Merge 163155 - [GTK] [CMake] Add support for building against GTK+ 2
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=127959

Reviewed by Anders Carlsson.

.:

* Source/cmake/OptionsGTK.cmake: Add a new option to use GTK 2 and make a variable holding the
library API version. When using GTK 2 do not build WebKit 2.

Source/JavaScriptCore:

* PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

Source/WebCore:

* PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

Source/WebKit:

* PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

Source/WebKit2:

* PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

Tools:

* DumpRenderTree/PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.
* GtkLauncher/CMakeLists.txt: Ditto.
* ImageDiff/PlatformGTK.cmake: Ditto.
* TestWebKitAPI/Tests/WebKitGtk/CMakeLists.txt: Ditto.


Conflicts:
	ChangeLog
	Source/JavaScriptCore/ChangeLog
	Source/WebCore/ChangeLog
	Source/WebKit/ChangeLog
	Source/WebKit2/ChangeLog
	Tools/ChangeLog
  • Loading branch information
kov committed May 13, 2014
1 parent 0e93cc6 commit 4d4daf4
Show file tree
Hide file tree
Showing 9 changed files with 119 additions and 95 deletions.
18 changes: 9 additions & 9 deletions Source/JavaScriptCore/PlatformGTK.cmake
@@ -1,15 +1,15 @@
configure_file(javascriptcoregtk.pc.in ${CMAKE_BINARY_DIR}/Source/JavaScriptCore/javascriptcoregtk-3.0.pc @ONLY)
configure_file(JavaScriptCore.gir.in ${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.gir @ONLY)
configure_file(javascriptcoregtk.pc.in ${CMAKE_BINARY_DIR}/Source/JavaScriptCore/javascriptcoregtk-${WEBKITGTK_API_VERSION}.pc @ONLY)
configure_file(JavaScriptCore.gir.in ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir @ONLY)

add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.typelib
DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.gir
COMMAND ${INTROSPECTION_COMPILER} ${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.gir -o ${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.typelib
OUTPUT ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.typelib
DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
COMMAND ${INTROSPECTION_COMPILER} ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.typelib
)

ADD_TYPELIB(${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.typelib)
ADD_TYPELIB(${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.typelib)

install(FILES "${CMAKE_BINARY_DIR}/Source/JavaScriptCore/javascriptcoregtk-3.0.pc"
install(FILES "${CMAKE_BINARY_DIR}/Source/JavaScriptCore/javascriptcoregtk-${WEBKITGTK_API_VERSION}.pc"
DESTINATION "${LIB_INSTALL_DIR}/pkgconfig"
)

Expand All @@ -23,9 +23,9 @@ install(FILES API/JavaScript.h
DESTINATION "${WEBKITGTK_HEADER_INSTALL_DIR}/JavaScriptCore"
)

install(FILES ${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.gir
install(FILES ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
DESTINATION ${INTROSPECTION_INSTALL_GIRDIR}
)
install(FILES ${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.typelib
install(FILES ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.typelib
DESTINATION ${INTROSPECTION_INSTALL_TYPELIBDIR}
)
8 changes: 4 additions & 4 deletions Source/WebCore/PlatformGTK.cmake
Expand Up @@ -462,13 +462,13 @@ set_property(
APPEND
PROPERTY INCLUDE_DIRECTORIES
${WebCore_INCLUDE_DIRECTORIES}
${GTK3_INCLUDE_DIRS}
${GDK3_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS}
${GDK_INCLUDE_DIRS}
)
target_link_libraries(WebCorePlatformGTK
${WebCore_LIBRARIES}
${GTK3_LIBRARIES}
${GDK3_LIBRARIES}
${GTK_LIBRARIES}
${GDK_LIBRARIES}
)

if (ENABLE_WEBKIT2)
Expand Down
38 changes: 19 additions & 19 deletions Source/WebKit/PlatformGTK.cmake
@@ -1,7 +1,7 @@
file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKITGTK_DIR})
file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKITGTK_API_DIR})
configure_file(gtk/webkit/webkitversion.h.in ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitversion.h)
configure_file(gtk/webkit.pc.in ${CMAKE_BINARY_DIR}/Source/WebKit/gtk/webkitgtk-3.0.pc @ONLY)
configure_file(gtk/webkit.pc.in ${CMAKE_BINARY_DIR}/Source/WebKit/gtk/webkitgtk-${WEBKITGTK_API_VERSION}.pc @ONLY)

add_definitions(-DPACKAGE_LOCALE_DIR="${CMAKE_INSTALL_FULL_LOCALEDIR}")

Expand Down Expand Up @@ -31,7 +31,7 @@ list(APPEND WebKit_INCLUDE_DIRECTORIES
${WEBKIT_DIR}/gtk/WebCoreSupport
${ENCHANT_INCLUDE_DIRS}
${GEOCLUE_INCLUDE_DIRS}
${GTK3_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS}
${LIBSOUP_INCLUDE_DIRS}
)

Expand Down Expand Up @@ -169,30 +169,30 @@ add_custom_command(
)

add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/WebKit-3.0.gir
OUTPUT ${CMAKE_BINARY_DIR}/WebKit-${WEBKITGTK_API_VERSION}.gir
DEPENDS WebKit
DEPENDS JavaScriptCore-3-gir
DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations
${INTROSPECTION_SCANNER}
--quiet
--warn-all
--symbol-prefix=webkit
--identifier-prefix=WebKit
--namespace=WebKit
--nsversion=3.0
--nsversion=${WEBKITGTK_API_VERSION}
--include=GObject-2.0
--include=Gtk-3.0
--include=Gtk-${WEBKITGTK_API_VERSION}
--include=Soup-2.4
--include-uninstalled=${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.gir
--library=webkitgtk-3.0
--library=javascriptcoregtk-3.0
--include-uninstalled=${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
--library=webkitgtk-${WEBKITGTK_API_VERSION}
--library=javascriptcoregtk-${WEBKITGTK_API_VERSION}
-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
--no-libtool
--pkg=gobject-2.0
--pkg=gtk+-3.0
--pkg=gtk+-${WEBKITGTK_API_VERSION}
--pkg=libsoup-2.4
--pkg-export=webkitgtk-3.0
--output=${CMAKE_BINARY_DIR}/WebKit-3.0.gir
--pkg-export=webkitgtk-${WEBKITGTK_API_VERSION}
--output=${CMAKE_BINARY_DIR}/WebKit-${WEBKITGTK_API_VERSION}.gir
--c-include="webkit/webkit.h"
-DBUILDING_WEBKIT
-I${CMAKE_SOURCE_DIR}/Source
Expand All @@ -207,14 +207,14 @@ add_custom_command(
)

add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/WebKit-3.0.typelib
DEPENDS ${CMAKE_BINARY_DIR}/WebKit-3.0.gir
COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit-3.0.gir -o ${CMAKE_BINARY_DIR}/WebKit-3.0.typelib
OUTPUT ${CMAKE_BINARY_DIR}/WebKit-${WEBKITGTK_API_VERSION}.typelib
DEPENDS ${CMAKE_BINARY_DIR}/WebKit-${WEBKITGTK_API_VERSION}.gir
COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/WebKit-${WEBKITGTK_API_VERSION}.typelib
)

ADD_TYPELIB(${CMAKE_BINARY_DIR}/WebKit-3.0.typelib)
ADD_TYPELIB(${CMAKE_BINARY_DIR}/WebKit-${WEBKITGTK_API_VERSION}.typelib)

install(FILES "${CMAKE_BINARY_DIR}/Source/WebKit/gtk/webkitgtk-3.0.pc"
install(FILES "${CMAKE_BINARY_DIR}/Source/WebKit/gtk/webkitgtk-${WEBKITGTK_API_VERSION}.pc"
DESTINATION "${LIB_INSTALL_DIR}/pkgconfig"
)
install(FILES "${WEBKIT_DIR}/gtk/resources/error.html"
Expand All @@ -223,9 +223,9 @@ install(FILES "${WEBKIT_DIR}/gtk/resources/error.html"
install(FILES ${WebKitGTK_INSTALLED_HEADERS}
DESTINATION "${WEBKITGTK_HEADER_INSTALL_DIR}/webkit"
)
install(FILES ${CMAKE_BINARY_DIR}/WebKit-3.0.gir
install(FILES ${CMAKE_BINARY_DIR}/WebKit-${WEBKITGTK_API_VERSION}.gir
DESTINATION ${INTROSPECTION_INSTALL_GIRDIR}
)
install(FILES ${CMAKE_BINARY_DIR}/WebKit-3.0.typelib
install(FILES ${CMAKE_BINARY_DIR}/WebKit-${WEBKITGTK_API_VERSION}.typelib
DESTINATION ${INTROSPECTION_INSTALL_TYPELIBDIR}
)
72 changes: 36 additions & 36 deletions Source/WebKit2/PlatformGTK.cmake
Expand Up @@ -4,7 +4,7 @@ file(MAKE_DIRECTORY ${FORWARDING_HEADERS_WEBKIT2GTK_DIR})
file(MAKE_DIRECTORY ${FORWARDING_HEADERS_WEBKIT2GTK_EXTENSION_DIR})

configure_file(UIProcess/API/gtk/WebKitVersion.h.in ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitVersion.h)
configure_file(webkit2gtk.pc.in ${CMAKE_BINARY_DIR}/Source/WebKit2/webkit2gtk-3.0.pc @ONLY)
configure_file(webkit2gtk.pc.in ${CMAKE_BINARY_DIR}/Source/WebKit2/webkit2gtk-${WEBKITGTK_API_VERSION}.pc @ONLY)

add_definitions(-DWEBKIT2_COMPILATION)
add_definitions(-DLIBEXECDIR="${CMAKE_INSTALL_FULL_LIBEXECDIR}")
Expand Down Expand Up @@ -429,7 +429,7 @@ set(WebKit2CommonIncludeDirectories ${WebKit2_INCLUDE_DIRECTORIES})

list(APPEND WebKit2_INCLUDE_DIRECTORIES
${GLIB_INCLUDE_DIRS}
${GTK3_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS}
)

list(APPEND WebProcess_SOURCES
Expand Down Expand Up @@ -675,7 +675,7 @@ add_dependencies(webkit2gtkinjectedbundle GObjectDOMBindings)
add_webkit2_prefix_header(webkit2gtkinjectedbundle)

add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-3.0.gir
OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
DEPENDS WebKit2
DEPENDS JavaScriptCore-3-gir
COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations
Expand All @@ -685,20 +685,20 @@ add_custom_command(
--symbol-prefix=webkit
--identifier-prefix=WebKit
--namespace=WebKit2
--nsversion=3.0
--nsversion=${WEBKITGTK_API_VERSION}
--include=GObject-2.0
--include=Gtk-3.0
--include=Gtk-${WEBKITGTK_API_VERSION}
--include=Soup-2.4
--include-uninstalled=${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.gir
--library=webkit2gtk-3.0
--library=javascriptcoregtk-3.0
--include-uninstalled=${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
--library=webkit2gtk-${WEBKITGTK_API_VERSION}
--library=javascriptcoregtk-${WEBKITGTK_API_VERSION}
-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
--no-libtool
--pkg=gobject-2.0
--pkg=gtk+-3.0
--pkg=gtk+-${WEBKITGTK_API_VERSION}
--pkg=libsoup-2.4
--pkg-export=webkit2gtk-3.0
--output=${CMAKE_BINARY_DIR}/WebKit2-3.0.gir
--pkg-export=webkit2gtk-${WEBKITGTK_API_VERSION}
--output=${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
--c-include="webkit2/webkit2.h"
-DBUILDING_WEBKIT
-DWEBKIT2_COMPILATION
Expand All @@ -713,31 +713,31 @@ add_custom_command(
)

add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-3.0.gir
OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
DEPENDS JavaScriptCore-3-gir
DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-3.0.gir
DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations
${INTROSPECTION_SCANNER}
--quiet
--warn-all
--symbol-prefix=webkit
--identifier-prefix=WebKit
--namespace=WebKit2WebExtension
--nsversion=3.0
--nsversion=${WEBKITGTK_API_VERSION}
--include=GObject-2.0
--include=Gtk-3.0
--include=Gtk-${WEBKITGTK_API_VERSION}
--include=Soup-2.4
--include-uninstalled=${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.gir
--include-uninstalled=${CMAKE_BINARY_DIR}/WebKit2-3.0.gir
--library=webkit2gtk-3.0
--library=javascriptcoregtk-3.0
--include-uninstalled=${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
--include-uninstalled=${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
--library=webkit2gtk-${WEBKITGTK_API_VERSION}
--library=javascriptcoregtk-${WEBKITGTK_API_VERSION}
-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
--no-libtool
--pkg=gobject-2.0
--pkg=gtk+-3.0
--pkg=gtk+-${WEBKITGTK_API_VERSION}
--pkg=libsoup-2.4
--pkg-export=webkit2gtk-3.0
--output=${CMAKE_BINARY_DIR}/WebKit2WebExtension-3.0.gir
--pkg-export=webkit2gtk-${WEBKITGTK_API_VERSION}
--output=${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
--c-include="webkit2/webkit-web-extension.h"
-DBUILDING_WEBKIT
-DWEBKIT2_COMPILATION
Expand All @@ -756,35 +756,35 @@ add_custom_command(
)

add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-3.0.typelib
DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-3.0.gir
COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit2-3.0.gir -o ${CMAKE_BINARY_DIR}/WebKit2-3.0.typelib
OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib
DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib
)

add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-3.0.typelib
DEPENDS ${CMAKE_BINARY_DIR}/WebKit2WebExtension-3.0.gir
COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit2WebExtension-3.0.gir -o ${CMAKE_BINARY_DIR}/WebKit2WebExtension-3.0.typelib
OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.typelib
DEPENDS ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.typelib
)

ADD_TYPELIB(${CMAKE_BINARY_DIR}/WebKit2-3.0.typelib)
ADD_TYPELIB(${CMAKE_BINARY_DIR}/WebKit2WebExtension-3.0.typelib)
ADD_TYPELIB(${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib)
ADD_TYPELIB(${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.typelib)

install(TARGETS webkit2gtkinjectedbundle
DESTINATION "${LIB_INSTALL_DIR}/webkit2gtk-3.0/injected-bundle"
DESTINATION "${LIB_INSTALL_DIR}/webkit2gtk-${WEBKITGTK_API_VERSION}/injected-bundle"
)
install(FILES "${CMAKE_BINARY_DIR}/Source/WebKit2/webkit2gtk-3.0.pc"
install(FILES "${CMAKE_BINARY_DIR}/Source/WebKit2/webkit2gtk-${WEBKITGTK_API_VERSION}.pc"
DESTINATION "${LIB_INSTALL_DIR}/pkgconfig"
)
install(FILES ${WebKit2GTK_INSTALLED_HEADERS}
${WebKit2WebExtension_INSTALLED_HEADERS}
DESTINATION "${WEBKITGTK_HEADER_INSTALL_DIR}/webkit2"
)
install(FILES ${CMAKE_BINARY_DIR}/WebKit2-3.0.gir
${CMAKE_BINARY_DIR}/WebKit2WebExtension-3.0.gir
install(FILES ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
DESTINATION ${INTROSPECTION_INSTALL_GIRDIR}
)
install(FILES ${CMAKE_BINARY_DIR}/WebKit2-3.0.typelib
${CMAKE_BINARY_DIR}/WebKit2WebExtension-3.0.typelib
install(FILES ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib
${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.typelib
DESTINATION ${INTROSPECTION_INSTALL_TYPELIBDIR}
)

0 comments on commit 4d4daf4

Please sign in to comment.