list(APPEND ui_elements_LIB_INCLUDES
        desktop_elements/Keyboard.cpp
        desktop_elements/IPlatformScreen.h
        desktop_elements/Screen.cpp
        desktop_elements/IPlatformWindow.h
        desktop_elements/Window.cpp
        ui_events/KeyboardEvent.cpp
        ui_events/MouseEvent.cpp
        ui_events/UiEvent.cpp
        ui_events/PaintEvent.cpp
        ui_events/KeyboardEvent.h
        ui_events/MouseEvent.h
        ui_events/UiEvent.h
        ui_events/PaintEvent.h
        ui_events/ResizeEvent.h
        ui_events/ResizeEvent.cpp
        widgets/Widget.cpp
        widgets/Button.cpp
        widgets/ButtonGroup.cpp
        widgets/Label.cpp
        widgets/HorizontalSpacer.cpp
        widgets/VerticalSpacer.cpp
        widgets/StackWidget.cpp
        widgets/TextBox.cpp
        style/Theme.cpp
)

add_library(ui_elements SHARED ${ui_elements_LIB_INCLUDES})

target_include_directories(ui_elements PUBLIC
                          "${CMAKE_CURRENT_SOURCE_DIR}/"
                          "${CMAKE_CURRENT_SOURCE_DIR}/widgets"
                          "${CMAKE_CURRENT_SOURCE_DIR}/style"
                          "${CMAKE_CURRENT_SOURCE_DIR}/widgets/elements"
                          "${CMAKE_CURRENT_SOURCE_DIR}/ui_events"
                          "${CMAKE_CURRENT_SOURCE_DIR}/desktop_elements"                          
                          )
target_link_libraries(ui_elements PUBLIC core geometry graphics visual_elements image)

set_property(TARGET ui_elements PROPERTY FOLDER src)

set_target_properties( ui_elements PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON ) 