set(ARCHEUS_STD_NONE_WINDOW_SOURCES
    src/graphics/window.c
)

set(ARCHEUS_STD_NONE_INPUT_SOURCES
    src/input/input.c
    src/input/keyboard.c
    src/input/mouse.c
)

set(ARCHEUS_STD_NONE_GRAPHICS_SOURCES
    src/graphics/circle.c
    src/graphics/config.c
    src/graphics/line.c
    src/graphics/obround.c
    src/graphics/rectangle.c
    src/graphics/renderer.c
    src/graphics/sprite.c
    src/graphics/spritesheet.c
    src/graphics/text.c
)

function(none_check_and_init_needed _ARCHEUS_STD_FLAGS _ARCHEUS_STD_SOURCES ARCHEUS_STD_WINDOW_BACKEND ARCHEUS_STD_INPUT_BACKEND ARCHEUS_STD_GRAPHICS_BACKEND)
    #add matching files for the selected backends
    if(${ARCHEUS_STD_WINDOW_BACKEND} STREQUAL "NONE")
        string(APPEND ${_ARCHEUS_STD_FLAGS} "-DARC_NONE_WINDOW ")
        list(APPEND ${_ARCHEUS_STD_SOURCES} ${ARCHEUS_STD_NONE_WINDOW_SOURCES})
    endif()

    if(${ARCHEUS_STD_INPUT_BACKEND} STREQUAL "NONE")
        string(APPEND ${_ARCHEUS_STD_FLAGS} "-DARC_NONE_INPUT ")
        list(APPEND ${_ARCHEUS_STD_SOURCES} ${ARCHEUS_STD_NONE_INPUT_SOURCES})
    endif()

    if(${ARCHEUS_STD_GRAPHICS_BACKEND} STREQUAL "NONE")
        string(APPEND ${_ARCHEUS_STD_FLAGS} "-DARC_NONE_GRAPHICS ")
        list(APPEND ${_ARCHEUS_STD_SOURCES} ${ARCHEUS_STD_NONE_GRAPHICS_SOURCES})
    endif()

    set(${_ARCHEUS_STD_FLAGS} ${${_ARCHEUS_STD_FLAGS}} PARENT_SCOPE)
    set(${_ARCHEUS_STD_SOURCES} ${${_ARCHEUS_STD_SOURCES}} PARENT_SCOPE)
endfunction()