[GTK] WebKit DOM documentation (webkitdomgtk) not installed after make install
[WebKit-https.git] / Source / PlatformGTK.cmake
1 add_subdirectory(${WEBCORE_DIR}/platform/gtk/po)
2
3 # This allows exposing a 'gir' target which builds all GObject introspection files.
4 add_custom_target(gir ALL DEPENDS ${GObjectIntrospectionTargets})
5
6 if (ENABLE_WEBKIT2)
7     list(APPEND DocumentationDependencies
8         WebKit2
9         "${CMAKE_SOURCE_DIR}/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-docs.sgml"
10         "${CMAKE_SOURCE_DIR}/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt"
11         GObjectDOMBindings
12     )
13 endif ()
14
15 if (ENABLE_GTKDOC)
16     install(DIRECTORY ${CMAKE_BINARY_DIR}/Documentation/webkit2gtk/html/
17             DESTINATION ${CMAKE_INSTALL_DATADIR}/gtk-doc/html/webkit2gtk
18     )
19     install(DIRECTORY ${CMAKE_BINARY_DIR}/Documentation/webkitdomgtk/html/
20             DESTINATION ${CMAKE_INSTALL_DATADIR}/gtk-doc/html/webkitdomgtk
21     )
22 endif ()
23
24 macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args)
25     add_custom_command(
26         OUTPUT "${CMAKE_BINARY_DIR}/${_stamp_name}"
27         DEPENDS ${DocumentationDependencies}
28         COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=${CMAKE_C_FLAGS} ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc ${_extra_args}
29         COMMAND touch ${_stamp_name}
30         WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
31     )
32 endmacro()
33
34 add_gtkdoc_generator("docs-build.stamp" "")
35 if (ENABLE_GTKDOC)
36     add_custom_target(gtkdoc ALL DEPENDS "${CMAKE_BINARY_DIR}/docs-build.stamp")
37 else ()
38     add_custom_target(gtkdoc DEPENDS "${CMAKE_BINARY_DIR}/docs-build.stamp")
39
40     # Add a default build step which check that documentation does not have any warnings
41     # or errors. This is useful to prevent breaking documentation inadvertently during
42     # the course of development.
43     if (DEVELOPER_MODE)
44         add_gtkdoc_generator("docs-build-no-html.stamp" "--skip-html")
45         add_custom_target(gtkdoc-no-html ALL DEPENDS "${CMAKE_BINARY_DIR}/docs-build-no-html.stamp")
46     endif ()
47 endif ()
48
49 add_custom_target(check
50     COMMAND ${TOOLS_DIR}/Scripts/run-gtk-tests
51     COMMAND ${TOOLS_DIR}/gtk/check-for-webkitdom-api-breaks
52 )
53
54 if (ENABLE_WEBKIT2)
55     add_custom_command(
56         OUTPUT ${CMAKE_BINARY_DIR}/webkitgtk-${PROJECT_VERSION}.tar
57         DEPENDS ${TOOLS_DIR}/gtk/make-dist.py
58         DEPENDS ${TOOLS_DIR}/gtk/manifest.txt
59         DEPENDS WebKit2
60         DEPENDS gtkdoc
61         COMMAND ${TOOLS_DIR}/gtk/make-dist.py
62                 --source-dir=${CMAKE_SOURCE_DIR}
63                 --build-dir=${CMAKE_BINARY_DIR}
64                 --version=${PROJECT_VERSION}
65                 ${TOOLS_DIR}/gtk/manifest.txt
66     )
67
68     add_custom_command(
69         OUTPUT ${CMAKE_BINARY_DIR}/webkitgtk-${PROJECT_VERSION}.tar.xz
70         DEPENDS ${CMAKE_BINARY_DIR}/webkitgtk-${PROJECT_VERSION}.tar
71         COMMAND xz -f ${CMAKE_BINARY_DIR}/webkitgtk-${PROJECT_VERSION}.tar
72     )
73
74     add_custom_target(dist
75         DEPENDS ${CMAKE_BINARY_DIR}/webkitgtk-${PROJECT_VERSION}.tar.xz
76     )
77
78     add_custom_target(distcheck
79         DEPENDS ${TOOLS_DIR}/gtk/make-dist.py
80         DEPENDS ${TOOLS_DIR}/gtk/manifest.txt
81         DEPENDS WebKit2
82         DEPENDS gtkdoc
83         COMMAND ${TOOLS_DIR}/gtk/make-dist.py
84                 --check
85                 --source-dir=${CMAKE_SOURCE_DIR}
86                 --build-dir=${CMAKE_BINARY_DIR}
87                 --version=/webkitgtk-${PROJECT_VERSION}
88                 ${TOOLS_DIR}/gtk/manifest.txt
89         COMMAND xz -f ${CMAKE_BINARY_DIR}/webkitgtk-${PROJECT_VERSION}.tar
90     )
91 endif ()