ladybird/Userland/Services/WindowServer/CMakeLists.txt
sin-ack 611370e7dc LibGUI, WindowServer: Greatly simplify menubar logic
Currently, any number of menubars can be plugged in and out of a window.
This is unnecessary complexity, since we only need one menubar on a
window. This commit removes most of the logic for dynamically attaching
and detaching menubars and makes one menubar always available. The
menubar is only considered existent if it has at least a single menu in
it (in other words, an empty menubar will not be shown).

This commit additionally fixes a bug wherein menus added after a menubar
has been attached would not have their rects properly setup, and would
therefore appear glitched out on the top left corner of the menubar.
2021-08-02 00:39:15 +02:00

44 lines
1019 B
CMake

serenity_component(
WindowServer
REQUIRED
TARGETS WindowServer
)
compile_ipc(WindowServer.ipc WindowServerEndpoint.h)
compile_ipc(WindowClient.ipc WindowClientEndpoint.h)
compile_ipc(WindowManagerServer.ipc WindowManagerServerEndpoint.h)
compile_ipc(WindowManagerClient.ipc WindowManagerClientEndpoint.h)
set(SOURCES
Animation.cpp
AppletManager.cpp
Button.cpp
ClientConnection.cpp
Compositor.cpp
Cursor.cpp
EventLoop.cpp
main.cpp
Menu.cpp
Menubar.cpp
MenuItem.cpp
MenuManager.cpp
MultiScaleBitmaps.cpp
Overlays.cpp
Screen.cpp
ScreenLayout.cpp
Window.cpp
WindowFrame.cpp
WindowManager.cpp
WindowStack.cpp
WindowSwitcher.cpp
WindowServerEndpoint.h
WindowClientEndpoint.h
WindowManagerServerEndpoint.h
WindowManagerClientEndpoint.h
WMClientConnection.cpp
)
serenity_bin(WindowServer)
target_link_libraries(WindowServer LibCore LibGfx LibThreading LibIPC)
serenity_install_headers(Services/WindowServer)