ladybird/Services/Compositor/CMakeLists.txt

61 lines
2 KiB
CMake

set(SOURCES
BackingStoreManager.cpp
CanvasHost.cpp
CompositorState.cpp
ContextState.cpp
ConnectionFromClient.cpp
ConnectionFromWebContent.cpp
HostWebGLContext.cpp
OpenGLContext.cpp
VSyncScheduler.cpp
ViewportScrollbarController.cpp
WebGLObjectMap.cpp
)
invoke_py_generator(
"WebGLCommandReplayer.cpp"
"generate_compositor_webgl_replayer.py"
"${LADYBIRD_SOURCE_DIR}/Libraries/LibWeb/WebGL/GLFunctions.json"
"WebGLCommandReplayer.h"
"WebGLCommandReplayer.cpp"
arguments -j "${LADYBIRD_SOURCE_DIR}/Libraries/LibWeb/WebGL/GLFunctions.json"
dependencies "${LADYBIRD_SOURCE_DIR}/Meta/Generators/libweb_webgl.py"
)
set(GENERATED_SOURCES
CompositorControlClientEndpoint.h
CompositorControlServerEndpoint.h
CompositorWebContentClientEndpoint.h
CompositorWebContentServerEndpoint.h
${CMAKE_BINARY_DIR}/Libraries/LibWeb/WebGL/GLFunctions.cpp
WebGLCommandReplayer.cpp
)
add_library(compositorservice STATIC ${SOURCES} ${GENERATED_SOURCES})
ladybird_generated_sources(compositorservice)
add_executable(Compositor main.cpp)
if (LINUX)
target_sources(Compositor PRIVATE SandboxLinux.cpp)
elseif (APPLE)
target_sources(Compositor PRIVATE SandboxMacOS.cpp)
else()
target_sources(Compositor PRIVATE SandboxUnimplemented.cpp)
endif()
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 LibMain LibSandbox LibWebView)
target_link_libraries(compositorservice PRIVATE LibCore LibGfx LibIPC LibMedia LibSync LibWeb ${ANGLE_TARGETS})
if (APPLE)
target_link_libraries(Compositor PRIVATE "-framework CoreGraphics" "-framework CoreVideo")
endif()
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()