list(APPEND core_HEADERS
    AbstractApp.h
    Dictionary.h
    Event.h
    Color.h
    CommandLineArgs.h
    loggers/FileLogger.h
    file_utilities/BinaryFile.h
    file_utilities/File.h
    file_utilities/FileFormats.h
    StringUtils.h
    http/HttpResponse.h)

list(APPEND core_LIB_INCLUDES 
    Event.cpp
    Dictionary.cpp
    Color.cpp
    CommandLineArgs.cpp
    loggers/FileLogger.cpp
    file_utilities/BinaryFile.cpp
    file_utilities/File.cpp
    file_utilities/FileFormats.cpp
    StringUtils.cpp
    http/HttpResponse.cpp)

# add the executable
add_library(core SHARED ${core_LIB_INCLUDES} ${core_HEADERS})

target_include_directories(core PUBLIC
                          "${CMAKE_CURRENT_SOURCE_DIR}"
                          "${CMAKE_CURRENT_SOURCE_DIR}/file_utilities"
                          "${CMAKE_CURRENT_SOURCE_DIR}/loggers"
                          )
set_target_properties( core PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON )
set_property(TARGET core PROPERTY FOLDER src)