compile_gml(FontPickerDialog.gml FontPickerDialogGML.h font_picker_dialog_gml)
compile_gml(FilePickerDialog.gml FilePickerDialogGML.h file_picker_dialog_gml)
compile_gml(PasswordInputDialog.gml PasswordInputDialogGML.h password_input_dialog_gml)

set(SOURCES
    AboutDialog.cpp
    AbstractButton.cpp
    AbstractScrollableWidget.cpp
    AbstractSlider.cpp
    AbstractTableView.cpp
    AbstractView.cpp
    AbstractZoomPanWidget.cpp
    Action.cpp
    ActionGroup.cpp
    Application.cpp
    AutocompleteProvider.cpp
    BoxLayout.cpp
    Breadcrumbbar.cpp
    Button.cpp
    Calendar.cpp
    CheckBox.cpp
    Clipboard.cpp
    ColorInput.cpp
    ColorPicker.cpp
    ColumnsView.cpp
    CommonActions.cpp
    CommonLocationsProvider.cpp
    ComboBox.cpp
    Command.cpp
    CommandPalette.cpp
    Desktop.cpp
    Dialog.cpp
    DisplayLink.cpp
    DragOperation.cpp
    EditingEngine.cpp
    EmojiInputDialog.cpp
    Event.cpp
    FileIconProvider.cpp
    FilePicker.cpp
    FilePickerDialogGML.h
    FileSystemModel.cpp
    FilteringProxyModel.cpp
    FontPicker.cpp
    FontPickerDialogGML.h
    Frame.cpp
    GitCommitLexer.cpp
    GitCommitSyntaxHighlighter.cpp
    GlyphMapWidget.cpp
    GMLAutocompleteProvider.cpp
    GMLFormatter.cpp
    GMLLexer.cpp
    GMLParser.cpp
    GMLSyntaxHighlighter.cpp
    GroupBox.cpp
    HeaderView.cpp
    INILexer.cpp
    INISyntaxHighlighter.cpp
    Icon.cpp
    IconView.cpp
    ImageWidget.cpp
    InputBox.cpp
    JsonArrayModel.cpp
    Label.cpp
    Layout.cpp
    LazyWidget.cpp
    LinkLabel.cpp
    ListView.cpp
    Menu.cpp
    MenuItem.cpp
    Menubar.cpp
    MessageBox.cpp
    Model.cpp
    ModelIndex.cpp
    ModelSelection.cpp
    MouseTracker.cpp
    MultiView.cpp
    Notification.cpp
    OpacitySlider.cpp
    Painter.cpp
    PasswordInputDialog.cpp
    PasswordInputDialogGML.h
    PersistentModelIndex.cpp
    ProcessChooser.cpp
    Progressbar.cpp
    RadioButton.cpp
    RegularEditingEngine.cpp
    ResizeCorner.cpp
    RunningProcessesModel.cpp
    ScreenLayout.cpp
    ScrollableContainerWidget.cpp
    Scrollbar.cpp
    SeparatorWidget.cpp
    SettingsWindow.cpp
    Shortcut.cpp
    Slider.cpp
    SortingProxyModel.cpp
    SpinBox.cpp
    Splitter.cpp
    StackWidget.cpp
    Statusbar.cpp
    TabWidget.cpp
    TableView.cpp
    TextBox.cpp
    TextDocument.cpp
    TextEditor.cpp
    Toolbar.cpp
    ToolbarContainer.cpp
    Tray.cpp
    TreeView.cpp
    UndoStack.cpp
    ValueSlider.cpp
    Variant.cpp
    VimEditingEngine.cpp
    Widget.cpp
    Window.cpp
    WindowServerConnection.cpp
    WindowManagerServerConnection.cpp
    Wizards/WizardDialog.cpp
    Wizards/AbstractWizardPage.cpp
    Wizards/CoverWizardPage.cpp
    Wizards/WizardPage.cpp
)

set(GENERATED_SOURCES
    ../../Services/WindowServer/WindowClientEndpoint.h
    ../../Services/WindowServer/WindowServerEndpoint.h
    ../../Services/WindowServer/WindowManagerClientEndpoint.h
    ../../Services/WindowServer/WindowManagerServerEndpoint.h
    ../../Services/NotificationServer/NotificationClientEndpoint.h
    ../../Services/NotificationServer/NotificationServerEndpoint.h
    ../../Services/Clipboard/ClipboardClientEndpoint.h
    ../../Services/Clipboard/ClipboardServerEndpoint.h
)

serenity_lib(LibGUI gui)
target_link_libraries(LibGUI LibCore LibGfx LibIPC LibThreading LibRegex LibSyntax LibConfig)
