set(ARCHEUS_GLFW_WINDOW_SOURCES src/graphics/glfw/config.c src/graphics/glfw/renderer.c src/graphics/glfw/window.c ) set(ARCHEUS_GLFW_INPUT_SOURCES src/input/glfw/keyboard.c src/input/glfw/mouse.c ) function(glfw_check_and_init_needed _ARCHEUS_FLAGS _ARCHEUS_SOURCES ARCHEUS_WINDOW_BACKEND ARCHEUS_INPUT_BACKEND) #add matching files for the selected backends if(${ARCHEUS_WINDOW_BACKEND} STREQUAL "GLFW") string(APPEND ${_ARCHEUS_FLAGS} "-lglfw -DARC_GLFW_WINDOW ") list(APPEND ${_ARCHEUS_SOURCES} ${ARCHEUS_GLFW_WINDOW_SOURCES}) endif() if(${ARCHEUS_INPUT_BACKEND} STREQUAL "GLFW") string(APPEND ${_ARCHEUS_FLAGS} "-lglfw -lGLEW -DARC_GLFW_INPUT ") list(APPEND ${_ARCHEUS_SOURCES} ${ARCHEUS_GLFW_INPUT_SOURCES}) endif() set(${_ARCHEUS_FLAGS} ${${_ARCHEUS_FLAGS}} PARENT_SCOPE) set(${_ARCHEUS_SOURCES} ${${_ARCHEUS_SOURCES}} PARENT_SCOPE) endfunction()