list(APPEND client_HEADERS 
    TopBar.h
    StatusBar.h
    GuiApplication.h 
    TabbedPanelWidget.h
    text_editor/TextEditorView.h
    text_editor/TextEditorModel.h
    text_editor/TextEditorController.h
    text_editor/PlainTextDocument.h
    audio_editor/AudioEditorView.h
    image_editor/ImageEditorView.h
    web_client/WebClientView.h)

list(APPEND client_LIB_INCLUDES 
    TopBar.cpp
    StatusBar.cpp
    GuiApplication.cpp 
    TabbedPanelWidget.cpp
    text_editor/TextEditorView.cpp
    text_editor/TextEditorModel.cpp
    text_editor/TextEditorController.cpp
    text_editor/PlainTextDocument.cpp
    audio_editor/AudioEditorView.cpp
    image_editor/ImageEditorView.cpp
    web_client/WebClientView.cpp)

add_library(client SHARED ${client_LIB_INCLUDES} ${client_HEADERS})

target_link_libraries(client ui_elements windows core console database geometry)

target_include_directories(client PUBLIC
                            "${CMAKE_CURRENT_SOURCE_DIR}"
                            "${CMAKE_CURRENT_SOURCE_DIR}/text_editor"
                            "${CMAKE_CURRENT_SOURCE_DIR}/audio_editor"
                            "${CMAKE_CURRENT_SOURCE_DIR}/image_editor"
                            "${CMAKE_CURRENT_SOURCE_DIR}/web_client"
                            "${PROJECT_SOURCE_DIR}/src/console"
                            "${PROJECT_SOURCE_DIR}/src/ui_elements/widgets"
                          )
set_property(TARGET client PROPERTY FOLDER src)
set_target_properties( client PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON ) 