set(WPEToolingBackends_LIBRARY_TYPE STATIC)
set(WPEToolingBackends_DERIVED_SOURCES_DIR "${CMAKE_BINARY_DIR}/WPEToolingBackends/DerivedSources")
set(WPEToolingBackends_FRAMEWORK_HEADERS_DIR "${CMAKE_BINARY_DIR}/WPEToolingBackends/Headers")

file(MAKE_DIRECTORY ${WPEToolingBackends_DERIVED_SOURCES_DIR})

set(WPEToolingBackends_PUBLIC_HEADERS
    HeadlessViewBackend.h
    ViewBackend.h
    WindowViewBackend.h
)

set(WPEToolingBackends_SOURCES
    HeadlessViewBackend.cpp
    ViewBackend.cpp
    WindowViewBackend.cpp
)

set(WPEToolingBackends_PRIVATE_INCLUDE_DIRECTORIES
    ${WPEToolingBackends_DERIVED_SOURCES_DIR}
    ${TOOLS_DIR}/wpe/backends
)

set(WPEToolingBackends_LIBRARIES
    Cairo::Cairo
    WPE::libwpe
)

set(WPEToolingBackends_INTERFACE_LIBRARIES WPEToolingBackends)
set(WPEToolingBackends_INTERFACE_INCLUDE_DIRECTORIES ${WPEToolingBackends_FRAMEWORK_HEADERS_DIR})
set(WPEToolingBackends_INTERFACE_DEPENDENCIES WPEToolingBackends_CopyHeaders)

WEBKIT_FRAMEWORK_DECLARE(WPEToolingBackends)
WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()

WEBKIT_COPY_FILES(WPEToolingBackends_CopyHeaders
    DESTINATION ${WPEToolingBackends_FRAMEWORK_HEADERS_DIR}/WPEToolingBackends
    FILES ${WPEToolingBackends_PUBLIC_HEADERS}
    FLATTENED
)

WEBKIT_FRAMEWORK(WPEToolingBackends)
WEBKIT_FRAMEWORK_TARGET(WPEToolingBackends)
