set(SOURCE_FILES_BASE_LOCATION "${PROJECT_SOURCE_DIR}/src")

set(SOURCE_FILES
    ${SOURCE_FILES_BASE_LOCATION}/EntryPoint.cpp
    ${SOURCE_FILES_BASE_LOCATION}/Application.cpp
    ${SOURCE_FILES_BASE_LOCATION}/System.cpp
    ${SOURCE_FILES_BASE_LOCATION}/Window.cpp
    ${SOURCE_FILES_BASE_LOCATION}/Clock.cpp

    ${SOURCE_FILES_BASE_LOCATION}/Graphics/Renderer.cpp
    ${SOURCE_FILES_BASE_LOCATION}/Graphics/Color.cpp

    ${SOURCE_FILES_BASE_LOCATION}/Configuration/ClientConfiguration.cpp
    ${SOURCE_FILES_BASE_LOCATION}/Configuration/WindowConfiguration.cpp
    ${SOURCE_FILES_BASE_LOCATION}/Configuration/GameConfiguration.cpp

    ${SOURCE_FILES_BASE_LOCATION}/Layering/ContentLayerStack.cpp
    
    ${SOURCE_FILES_BASE_LOCATION}/Input/InputEvent.cpp

)
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${SOURCE_FILES}) 

set(HEADER_FILES_BASE_LOCATION "${PROJECT_SOURCE_DIR}/include/Mojo")


set(HEADER_FILES
    ${HEADER_FILES_BASE_LOCATION}/Application.hpp
    ${HEADER_FILES_BASE_LOCATION}/System.hpp
    ${HEADER_FILES_BASE_LOCATION}/Platform.hpp
    ${HEADER_FILES_BASE_LOCATION}/Logging.hpp
    ${HEADER_FILES_BASE_LOCATION}/InitializationInfo.hpp
    ${HEADER_FILES_BASE_LOCATION}/Asserts.hpp
    ${HEADER_FILES_BASE_LOCATION}/Window.hpp
    ${HEADER_FILES_BASE_LOCATION}/Clock.hpp
    ${HEADER_FILES_BASE_LOCATION}/Font.hpp
    
    ${HEADER_FILES_BASE_LOCATION}/Graphics/Renderer.hpp
    ${HEADER_FILES_BASE_LOCATION}/Graphics/Texture.hpp
    ${HEADER_FILES_BASE_LOCATION}/Graphics/Rect.hpp
    ${HEADER_FILES_BASE_LOCATION}/Graphics/Line.hpp
    ${HEADER_FILES_BASE_LOCATION}/Graphics/Color.hpp

    ${HEADER_FILES_BASE_LOCATION}/Resources/ResourceManager.hpp
    ${HEADER_FILES_BASE_LOCATION}/Resources/Loaders/TextureLoader.hpp
    ${HEADER_FILES_BASE_LOCATION}/Resources/Loaders/FontLoader.hpp
    
    ${HEADER_FILES_BASE_LOCATION}/UI/UIControl.hpp
    ${HEADER_FILES_BASE_LOCATION}/UI/Label.hpp
    ${HEADER_FILES_BASE_LOCATION}/UI/Button.hpp
    ${HEADER_FILES_BASE_LOCATION}/UI/Panel.hpp


    ${HEADER_FILES_BASE_LOCATION}/Events/Event.hpp
    ${HEADER_FILES_BASE_LOCATION}/Events/EventDelegate.hpp
    ${HEADER_FILES_BASE_LOCATION}/Events/EventManager.hpp

    ${HEADER_FILES_BASE_LOCATION}/Configuration/ConfigurationLoader.hpp
    ${HEADER_FILES_BASE_LOCATION}/Configuration/ClientConfiguration.hpp
    ${HEADER_FILES_BASE_LOCATION}/Configuration/WindowConfiguration.hpp
    ${HEADER_FILES_BASE_LOCATION}/Configuration/GameConfiguration.hpp

    ${HEADER_FILES_BASE_LOCATION}/Layering/ContentLayer.hpp
    ${HEADER_FILES_BASE_LOCATION}/Layering/ContentLayerStack.hpp
    ${HEADER_FILES_BASE_LOCATION}/Layering/ContentLayerContext.hpp

    ${HEADER_FILES_BASE_LOCATION}/Input/InputData.hpp
    ${HEADER_FILES_BASE_LOCATION}/Input/InputEvent.hpp
    
    ${HEADER_FILES_BASE_LOCATION}/Math/Vector.hpp

    ${HEADER_FILES_BASE_LOCATION}/Sid.hpp
    ${HEADER_FILES_BASE_LOCATION}/ServiceLocator.hpp
    ${HEADER_FILES_BASE_LOCATION}/Mojo.hpp
    ${HEADER_FILES_BASE_LOCATION}/MojoAPI.hpp
)
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${HEADER_FILES}) 
