[WPE] Enable web process sandbox
[WebKit-https.git] / Source / cmake / BubblewrapSandboxChecks.cmake
1 if (ENABLE_BUBBLEWRAP_SANDBOX)
2     find_program(BWRAP_EXECUTABLE bwrap)
3     if (NOT BWRAP_EXECUTABLE)
4         message(FATAL_ERROR "bwrap executable is needed for ENABLE_BUBBLEWRAP_SANDBOX")
5     endif ()
6     add_definitions(-DBWRAP_EXECUTABLE="${BWRAP_EXECUTABLE}")
7
8     execute_process(
9         COMMAND "${BWRAP_EXECUTABLE}" --version
10         RESULT_VARIABLE BWRAP_RET
11         OUTPUT_VARIABLE BWRAP_OUTPUT
12     )
13     if (BWRAP_RET)
14         message(FATAL_ERROR "Failed to run ${BWRAP_EXECUTABLE}")
15     endif ()
16     string(REGEX MATCH "([0-9]+.[0-9]+.[0-9]+)" BWRAP_VERSION "${BWRAP_OUTPUT}")
17     if (NOT "${BWRAP_VERSION}" VERSION_GREATER_EQUAL "0.3.1")
18         message(FATAL_ERROR "bwrap must be >= 0.3.1 but ${BWRAP_VERSION} found")
19     endif ()
20
21     find_package(Libseccomp)
22     if (NOT LIBSECCOMP_FOUND)
23         message(FATAL_ERROR "libseccomp is needed for ENABLE_BUBBLEWRAP_SANDBOX")
24     endif ()
25
26     find_program(DBUS_PROXY_EXECUTABLE xdg-dbus-proxy)
27     if (NOT DBUS_PROXY_EXECUTABLE)
28         message(FATAL_ERROR "xdg-dbus-proxy not found and is needed for ENABLE_BUBBLEWRAP_SANDBOX")
29     endif ()
30     add_definitions(-DDBUS_PROXY_EXECUTABLE="${DBUS_PROXY_EXECUTABLE}")
31 endif ()