Changeset 161325 in webkit


Ignore:
Timestamp:
Jan 5, 2014 4:25:34 PM (10 years ago)
Author:
Martin Robinson
Message:

[GTK] [CMake] Ensure that the autotools build and the CMake install the same files
https://bugs.webkit.org/show_bug.cgi?id=116379

Reviewed by Gustavo Noronha Silva.

.:

  • Source/PlatformGTK.cmake: Install the documentation.
  • Source/cmake/OptionsCommon.cmake: Add a LIBEXEC variable for WebKit2 executables, and

don't use the default locations on GTK+. We will get them from the CMake-provided GNU installation
variables.

  • Source/cmake/OptionsGTK.cmake: Setup the installation variables using the ones provided

by CMake's GNU installation directory support. Fix the definition of DATADIR. Always install
the jsc binary.

Source/JavaScriptCore:

  • PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file.

Source/WebCore:

  • PlatformGTK.cmake: Reformat some install directives to be consistent with the rest of them.

Install the GObject DOM bindings headers.

Source/WebKit:

  • PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file. Move

a couple installed and generated headers to the installed headers list.

Source/WebKit2:

  • CMakeLists.txt: Install the plugin process to the new LIBEXEC directory, which

for non-GTK+ platforms is the same as EXEC.

  • PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file. Move

a couple installed and generated headers to the installed headers list. Rename the
headers list to be consistent with the WebKit1 build. No longer use a variable for
the name of the plugin process, as it's unnecessary.

Location:
trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r161322 r161325  
     12014-01-05  Martin Robinson  <mrobinson@igalia.com>
     2
     3        [GTK] [CMake] Ensure that the autotools build and the CMake install the same files
     4        https://bugs.webkit.org/show_bug.cgi?id=116379
     5
     6        Reviewed by Gustavo Noronha Silva.
     7
     8        * Source/PlatformGTK.cmake: Install the documentation.
     9        * Source/cmake/OptionsCommon.cmake: Add a LIBEXEC variable for WebKit2 executables, and
     10        don't use the default locations on GTK+. We will get them from the CMake-provided GNU installation
     11        variables.
     12        * Source/cmake/OptionsGTK.cmake: Setup the installation variables using the ones provided
     13        by CMake's GNU installation directory support. Fix the definition of DATADIR. Always install
     14        the jsc binary.
     15
    1162014-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
    217
  • trunk/Source/JavaScriptCore/ChangeLog

    r161317 r161325  
     12014-01-05  Martin Robinson  <mrobinson@igalia.com>
     2
     3        [GTK] [CMake] Ensure that the autotools build and the CMake install the same files
     4        https://bugs.webkit.org/show_bug.cgi?id=116379
     5
     6        Reviewed by Gustavo Noronha Silva.
     7
     8        * PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file.
     9
    1102014-01-04  Yusuke Suzuki  <utatane.tea@gmail.com>
    211
  • trunk/Source/JavaScriptCore/PlatformGTK.cmake

    r161311 r161325  
    99
    1010ADD_TYPELIB(${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.typelib)
     11
     12install(FILES "${CMAKE_BINARY_DIR}/Source/JavaScriptCore/javascriptcoregtk-3.0.pc"
     13        DESTINATION "${LIB_INSTALL_DIR}/pkgconfig"
     14)
     15
     16install(FILES API/JavaScript.h
     17              API/JSBase.h
     18              API/JSContextRef.h
     19              API/JSObjectRef.h
     20              API/JSStringRef.h
     21              API/JSValueRef.h
     22              API/WebKitAvailability.h
     23        DESTINATION "${WEBKITGTK_HEADER_INSTALL_DIR}/JavaScriptCore"
     24)
     25
     26install(FILES ${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.gir
     27        DESTINATION ${INTROSPECTION_INSTALL_GIRDIR}
     28)
     29install(FILES ${CMAKE_BINARY_DIR}/JavaScriptCore-3.0.typelib
     30        DESTINATION ${INTROSPECTION_INSTALL_TYPELIBDIR}
     31)
  • trunk/Source/PlatformGTK.cmake

    r161144 r161325  
    2323        "${CMAKE_SOURCE_DIR}/Source/WebKit/gtk/docs/webkitgtk-sections.txt"
    2424    )
     25    install(DIRECTORY ${CMAKE_BINARY_DIR}/Documentation/webkitgtk/html/
     26            DESTINATION ${CMAKE_INSTALL_DATADIR}/gtk-doc/html/webkitgtk
     27    )
    2528endif ()
    2629
     
    3033        "${CMAKE_SOURCE_DIR}/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-docs.sgml"
    3134        "${CMAKE_SOURCE_DIR}/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt"
     35    )
     36    install(DIRECTORY ${CMAKE_BINARY_DIR}/Documentation/webkit2gtk/html/
     37            DESTINATION ${CMAKE_INSTALL_DATADIR}/gtk-doc/html/webkit2gtk
    3238    )
    3339endif ()
  • trunk/Source/WebCore/ChangeLog

    r161323 r161325  
     12014-01-05  Martin Robinson  <mrobinson@igalia.com>
     2
     3        [GTK] [CMake] Ensure that the autotools build and the CMake install the same files
     4        https://bugs.webkit.org/show_bug.cgi?id=116379
     5
     6        Reviewed by Gustavo Noronha Silva.
     7
     8        * PlatformGTK.cmake: Reformat some install directives to be consistent with the rest of them.
     9        Install the GObject DOM bindings headers.
     10
    1112014-01-05  Andreas Kling  <akling@apple.com>
    212
  • trunk/Source/WebCore/PlatformGTK.cmake

    r161310 r161325  
    386386endif ()
    387387
    388 install(FILES
    389             "${WEBCORE_DIR}/Resources/textAreaResizeCorner.png"
    390             "${WEBCORE_DIR}/Resources/nullPlugin.png"
    391             "${WEBCORE_DIR}/Resources/urlIcon.png"
    392             "${WEBCORE_DIR}/Resources/missingImage.png"
    393             "${WEBCORE_DIR}/Resources/panIcon.png"
    394             "${WEBCORE_DIR}/Resources/deleteButton.png"
    395             "${WEBCORE_DIR}/Resources/inputSpeech.png"
    396         DESTINATION
    397             "${DATA_INSTALL_DIR}/images")
     388install(FILES "${WEBCORE_DIR}/Resources/textAreaResizeCorner.png"
     389              "${WEBCORE_DIR}/Resources/nullPlugin.png"
     390              "${WEBCORE_DIR}/Resources/urlIcon.png"
     391              "${WEBCORE_DIR}/Resources/missingImage.png"
     392              "${WEBCORE_DIR}/Resources/panIcon.png"
     393              "${WEBCORE_DIR}/Resources/deleteButton.png"
     394              "${WEBCORE_DIR}/Resources/inputSpeech.png"
     395        DESTINATION "${DATA_INSTALL_DIR}/images"
     396)
    398397
    399398if (ENABLE_WEB_AUDIO)
    400     install(FILES
    401                 "${WEBCORE_DIR}/platform/audio/resources/Composite.wav"
    402             DESTINATION
    403                 "${DATA_INSTALL_DIR}/resources/audio")
     399    install(FILES "${WEBCORE_DIR}/platform/audio/resources/Composite.wav"
     400            DESTINATION "${DATA_INSTALL_DIR}/resources/audio"
     401    )
    404402endif ()
    405403
     
    697695        fake-installed-webkitdom-headers
    698696    )
    699 endif ()
    700 
     697
     698    install(FILES ${GObjectDOMBindings_INSTALLED_HEADERS}
     699                  bindings/gobject/WebKitDOMEventTarget.h
     700                  bindings/gobject/WebKitDOMDeprecated.h
     701                  bindings/gobject/WebKitDOMObject.h
     702            DESTINATION "${WEBKITGTK_HEADER_INSTALL_DIR}/webkitdom"
     703    )
     704endif ()
     705
  • trunk/Source/WebKit/ChangeLog

    r161311 r161325  
     12014-01-05  Martin Robinson  <mrobinson@igalia.com>
     2
     3        [GTK] [CMake] Ensure that the autotools build and the CMake install the same files
     4        https://bugs.webkit.org/show_bug.cgi?id=116379
     5
     6        Reviewed by Gustavo Noronha Silva.
     7
     8        * PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file. Move
     9        a couple installed and generated headers to the installed headers list.
     10
    1112014-01-04  Martin Robinson  <mrobinson@igalia.com>
    212
  • trunk/Source/WebKit/PlatformGTK.cmake

    r161311 r161325  
    9494
    9595list(APPEND WebKitGTK_INSTALLED_HEADERS
     96    ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitenumtypes.h
     97    ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitversion.h
    9698    ${WEBKIT_DIR}/gtk/webkit/webkit.h
    9799    ${WEBKIT_DIR}/gtk/webkit/webkitapplicationcache.h
     
    195197        -I${WEBCORE_DIR}/platform/gtk
    196198        ${GObjectDOMBindings_INSTALLED_HEADERS}
    197         ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitenumtypes.h
    198199        ${WebKitGTK_INSTALLED_HEADERS}
    199200        ${WEBKIT_DIR}/gtk/webkit/*.cpp
     
    207208
    208209ADD_TYPELIB(${CMAKE_BINARY_DIR}/WebKit-3.0.typelib)
     210
     211install(FILES "${CMAKE_BINARY_DIR}/Source/WebKit/gtk/webkitgtk-3.0.pc"
     212        DESTINATION "${LIB_INSTALL_DIR}/pkgconfig"
     213)
     214install(FILES "${WEBKIT_DIR}/gtk/resources/error.html"
     215        DESTINATION "${DATA_INSTALL_DIR}/resources"
     216)
     217install(FILES ${WebKitGTK_INSTALLED_HEADERS}
     218        DESTINATION "${WEBKITGTK_HEADER_INSTALL_DIR}/webkit"
     219)
     220install(FILES ${CMAKE_BINARY_DIR}/WebKit-3.0.gir
     221        DESTINATION ${INTROSPECTION_INSTALL_GIRDIR}
     222)
     223install(FILES ${CMAKE_BINARY_DIR}/WebKit-3.0.typelib
     224        DESTINATION ${INTROSPECTION_INSTALL_TYPELIBDIR}
     225)
  • trunk/Source/WebKit2/CMakeLists.txt

    r161156 r161325  
    710710
    711711install(TARGETS WebKit2 DESTINATION "${LIB_INSTALL_DIR}")
    712 install(TARGETS WebProcess DESTINATION "${EXEC_INSTALL_DIR}")
     712install(TARGETS WebProcess DESTINATION "${LIBEXEC_INSTALL_DIR}")
  • trunk/Source/WebKit2/ChangeLog

    r161322 r161325  
     12014-01-05  Martin Robinson  <mrobinson@igalia.com>
     2
     3        [GTK] [CMake] Ensure that the autotools build and the CMake install the same files
     4        https://bugs.webkit.org/show_bug.cgi?id=116379
     5
     6        Reviewed by Gustavo Noronha Silva.
     7
     8        * CMakeLists.txt: Install the plugin process to the new LIBEXEC directory, which
     9        for non-GTK+ platforms is the same as EXEC.
     10        * PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file. Move
     11        a couple installed and generated headers to the installed headers list. Rename the
     12        headers list to be consistent with the WebKit1 build. No longer use a variable for
     13        the name of the plugin process, as it's unnecessary.
     14
    1152014-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
    216
  • trunk/Source/WebKit2/PlatformGTK.cmake

    r161311 r161325  
    298298)
    299299
    300 set(WebKit2_INSTALLED_HEADERS
     300set(WebKit2GTK_INSTALLED_HEADERS
     301    ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.h
     302    ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitVersion.h
    301303    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitAuthenticationRequest.h
    302304    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitBackForwardList.h
     
    446448    OUTPUT ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.h
    447449           ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.cpp
    448     DEPENDS ${WebKit2_INSTALLED_HEADERS}
    449 
    450     COMMAND glib-mkenums --template ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitEnumTypes.h.template ${WebKit2_INSTALLED_HEADERS} | sed s/web_kit/webkit/ | sed s/WEBKIT_TYPE_KIT/WEBKIT_TYPE/ > ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.h
    451 
    452     COMMAND glib-mkenums --template ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitEnumTypes.cpp.template ${WebKit2_INSTALLED_HEADERS} | sed s/web_kit/webkit/ > ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.cpp
     450    DEPENDS ${WebKit2GTK_INSTALLED_HEADERS}
     451
     452    COMMAND glib-mkenums --template ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitEnumTypes.h.template ${WebKit2GTK_INSTALLED_HEADERS} | sed s/web_kit/webkit/ | sed s/WEBKIT_TYPE_KIT/WEBKIT_TYPE/ > ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.h
     453
     454    COMMAND glib-mkenums --template ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitEnumTypes.cpp.template ${WebKit2GTK_INSTALLED_HEADERS} | sed s/web_kit/webkit/ > ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.cpp
    453455    VERBATIM)
    454456
     
    597599    GENERATE_WEBKIT2_MESSAGE_SOURCES(PluginProcess_SOURCES "${PluginProcess_MESSAGES_IN_FILES}")
    598600
    599     add_executable(${PluginProcess_EXECUTABLE_NAME} ${PluginProcess_SOURCES})
     601    add_executable(WebKitPluginProcess ${PluginProcess_SOURCES})
    600602
    601603    # We need ENABLE_PLUGIN_PROCESS for all targets in this directory, but
     
    603605    add_definitions(-DENABLE_PLUGIN_PROCESS=1)
    604606    set_property(
    605         TARGET ${PluginProcess_EXECUTABLE_NAME}
     607        TARGET WebKitPluginProcess
    606608        APPEND
    607609        PROPERTY COMPILE_DEFINITIONS GTK_API_VERSION_2=1
    608610    )
    609611    set_property(
    610         TARGET ${PluginProcess_EXECUTABLE_NAME}
     612        TARGET WebKitPluginProcess
    611613        APPEND
    612614        PROPERTY INCLUDE_DIRECTORIES
     
    616618    )
    617619
    618     target_link_libraries(${PluginProcess_EXECUTABLE_NAME}
     620    target_link_libraries(WebKitPluginProcess
    619621        ${SharedWebKit2Libraries}
    620622        WebCorePlatformGTK2
     
    622624    )
    623625
    624     add_dependencies(${PluginProcess_EXECUTABLE_NAME} WebKit2)
    625 
    626     install(TARGETS ${PluginProcess_EXECUTABLE_NAME} DESTINATION "${EXEC_INSTALL_DIR}")
     626    add_dependencies(WebKitPluginProcess WebKit2)
     627
     628    install(TARGETS WebKitPluginProcess DESTINATION "${LIBEXEC_INSTALL_DIR}")
    627629endif () # ENABLE_PLUGIN_PROCESS
    628630
     
    681683        -I${DERIVED_SOURCES_WEBKIT2GTK_DIR}
    682684        -I${FORWARDING_HEADERS_WEBKIT2GTK_DIR}
    683         ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.h
    684         ${WebKit2_INSTALLED_HEADERS}
     685        ${WebKit2GTK_INSTALLED_HEADERS}
    685686        ${WEBKIT2_DIR}/UIProcess/API/gtk/*.cpp
    686687)
     
    743744ADD_TYPELIB(${CMAKE_BINARY_DIR}/WebKit2-3.0.typelib)
    744745ADD_TYPELIB(${CMAKE_BINARY_DIR}/WebKit2WebExtension-3.0.typelib)
     746
     747install(TARGETS webkit2gtkinjectedbundle
     748        DESTINATION "${LIB_INSTALL_DIR}/webkit2gtk-3.0/injected-bundle"
     749)
     750install(FILES "${CMAKE_BINARY_DIR}/Source/WebKit2/webkit2gtk-3.0.pc"
     751        DESTINATION "${LIB_INSTALL_DIR}/pkgconfig"
     752)
     753install(FILES ${WebKit2GTK_INSTALLED_HEADERS}
     754              ${WebKit2WebExtension_INSTALLED_HEADERS}
     755        DESTINATION "${WEBKITGTK_HEADER_INSTALL_DIR}/webkit2"
     756)
     757install(FILES ${CMAKE_BINARY_DIR}/WebKit2-3.0.gir
     758              ${CMAKE_BINARY_DIR}/WebKit2WebExtension-3.0.gir
     759        DESTINATION ${INTROSPECTION_INSTALL_GIRDIR}
     760)
     761install(FILES ${CMAKE_BINARY_DIR}/WebKit2-3.0.typelib
     762              ${CMAKE_BINARY_DIR}/WebKit2WebExtension-3.0.typelib
     763        DESTINATION ${INTROSPECTION_INSTALL_TYPELIBDIR}
     764)
  • trunk/Source/cmake/OptionsCommon.cmake

    r159806 r161325  
    4343endif ()
    4444
    45 set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
    46 
    47 set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "Where to install libraries (lib${LIB_SUFFIX})")
    48 set(EXEC_INSTALL_DIR "bin" CACHE PATH "Where to install executables")
     45# GTK uses the GNU installation directories.
     46if (NOT PORT STREQUAL "GTK")
     47    set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
     48    set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "Where to install libraries (lib${LIB_SUFFIX})")
     49    set(EXEC_INSTALL_DIR "bin" CACHE PATH "Where to install executables")
     50    set(LIBEXEC_INSTALL_DIR "bin" CACHE PATH "Where to install executables executed by the library")
     51endif ()
  • trunk/Source/cmake/OptionsGTK.cmake

    r161311 r161325  
    118118
    119119set(DATA_BUILD_DIR "${CMAKE_BINARY_DIR}/share/${WebKit_OUTPUT_NAME}")
    120 set(DATA_INSTALL_DIR "${DATADIR}/webkitgtk-3.0")
     120set(DATA_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/webkitgtk-3.0")
     121set(LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}" CACHE PATH "Where to install libraries")
     122set(EXEC_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH "Where to install executables")
     123set(LIBEXEC_INSTALL_DIR "${CMAKE_INSTALL_LIBEXECDIR}" CACHE PATH "Where to install executables executed by the library")
     124set(WEBKITGTK_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/webkitgtk-3.0")
     125
     126add_definitions(-DBUILDING_GTK__=1)
     127add_definitions(-DGETTEXT_PACKAGE="WebKitGTK-3.0")
     128add_definitions(-DDATA_DIR="${CMAKE_INSTALL_DATADIR}")
     129add_definitions(-DWEBKITGTK_API_VERSION_STRING="3.0")
     130add_definitions(-DUSER_AGENT_GTK_MAJOR_VERSION=537)
     131add_definitions(-DUSER_AGENT_GTK_MINOR_VERSION=30)
     132
     133if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
     134    add_definitions(-DWTF_USE_GSTREAMER)
     135endif ()
     136
     137if (ENABLE_WEB_AUDIO)
     138    add_definitions(-DWTF_USE_WEBAUDIO_GSTREAMER)
     139endif ()
     140
     141# FIXME: These need to be configurable.
     142add_definitions(-DWTF_PLATFORM_X11=1)
     143add_definitions(-DMOZ_X11)
    121144
    122145if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
     
    126149    set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> ruT <TARGET> <LINK_FLAGS> <OBJECTS>")
    127150endif ()
    128 
    129 add_definitions(-DBUILDING_GTK__=1)
    130 add_definitions(-DGETTEXT_PACKAGE="WebKitGTK-3.0")
    131 add_definitions(-DDATA_DIR="${DATADIR}")
    132 add_definitions(-DWEBKITGTK_API_VERSION_STRING="3.0")
    133 add_definitions(-DUSER_AGENT_GTK_MAJOR_VERSION=537)
    134 add_definitions(-DUSER_AGENT_GTK_MINOR_VERSION=30)
    135 
    136 if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
    137     add_definitions(-DWTF_USE_GSTREAMER)
    138 endif ()
    139 
    140 if (ENABLE_WEB_AUDIO)
    141     add_definitions(-DWTF_USE_WEBAUDIO_GSTREAMER)
    142 endif ()
    143 
    144 # FIXME: These need to be configurable.
    145 add_definitions(-DWTF_PLATFORM_X11=1)
    146 add_definitions(-DMOZ_X11)
    147151
    148152find_package(Cairo 1.10.2 REQUIRED)
     
    225229set(FORWARDING_HEADERS_WEBKIT2GTK_DIR ${FORWARDING_HEADERS_DIR}/webkit2gtk)
    226230set(FORWARDING_HEADERS_WEBKIT2GTK_EXTENSION_DIR ${FORWARDING_HEADERS_DIR}/webkit2gtk-webextension)
     231set(SHOULD_INSTALL_JS_SHELL ON)
    227232
    228233# Add a typelib file to the list of all typelib dependencies. This makes it easy to
Note: See TracChangeset for help on using the changeset viewer.