The compositor is moving into a dedicated helper process. That requires a process to launch, channels for Browser and WebContent to talk to it over, and client proxies on each side. Land all of that as an inert scaffold first, gated behind --enable-compositor-process, so the default rendering path is unchanged and later commits can fill in the protocol, the service-side state, and the runtime switch against a stable target.
28 lines
1,013 B
CMake
28 lines
1,013 B
CMake
set(SOURCES
|
|
ConnectionFromClient.cpp
|
|
ConnectionFromWebContent.cpp
|
|
)
|
|
|
|
set(GENERATED_SOURCES
|
|
CompositorControlClientEndpoint.h
|
|
CompositorControlServerEndpoint.h
|
|
CompositorWebContentClientEndpoint.h
|
|
CompositorWebContentServerEndpoint.h
|
|
)
|
|
|
|
add_library(compositorservice STATIC ${SOURCES} ${GENERATED_SOURCES})
|
|
ladybird_generated_sources(compositorservice)
|
|
|
|
add_executable(Compositor main.cpp)
|
|
|
|
target_include_directories(compositorservice PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../..)
|
|
target_include_directories(compositorservice PRIVATE ${LADYBIRD_SOURCE_DIR}/Services/)
|
|
|
|
target_link_libraries(Compositor PRIVATE compositorservice LibCore LibGfx LibIPC LibMain LibWebView)
|
|
target_link_libraries(compositorservice PRIVATE LibCore LibIPC)
|
|
|
|
if (WIN32)
|
|
target_include_directories(Compositor PRIVATE $<BUILD_INTERFACE:${PTHREAD_INCLUDE_DIR}>)
|
|
target_include_directories(compositorservice PRIVATE $<BUILD_INTERFACE:${PTHREAD_INCLUDE_DIR}>)
|
|
ladybird_windows_bin(Compositor CONSOLE)
|
|
endif()
|