Xavier Del Campo Romero
684587a3c3
It is required to redirect keyboard input (both physical or not) when a GUI line edit is focused. This means other components cannot be activated on key presses. Therefore, this new component is meant as a higher-level abstraction compared to the `keyboard`/`pad`/`mouse` components, which: - Implements the same APIs provided by `keyboard`, `mouse` and `pad`. - Returns the same results as the APIs above if no GUI element is focused, no input otherwise. Note: replacing calls to `keyboard`/`pad`/`mouse` with `input` will be implemented in a future commit.
48 lines
927 B
CMake
48 lines
927 B
CMake
# Avoid C11 since it is not supported by the i386-mingw32 toolchain.
|
|
set(cflags -Wall -g3 -ffunction-sections -fdata-sections -pedantic -std=c99)
|
|
|
|
set(components
|
|
building
|
|
camera
|
|
container
|
|
font
|
|
game
|
|
gfx
|
|
gui
|
|
header
|
|
input
|
|
instance
|
|
keyboard
|
|
menu
|
|
mouse
|
|
pad
|
|
peripheral
|
|
player
|
|
resource
|
|
sfx
|
|
system
|
|
terrain
|
|
unit
|
|
util
|
|
)
|
|
|
|
set(interfaces
|
|
tech
|
|
)
|
|
|
|
target_compile_options(${PROJECT_NAME} PUBLIC ${cflags})
|
|
# Dependencies for main.c
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE system menu)
|
|
|
|
foreach(c ${components})
|
|
add_subdirectory("${c}")
|
|
target_compile_options(${c} PUBLIC ${cflags})
|
|
endforeach()
|
|
|
|
foreach(i ${interfaces})
|
|
add_subdirectory("${i}")
|
|
target_compile_options(${i} INTERFACE ${cflags})
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE ${c})
|
|
endforeach()
|
|
|
|
target_link_options(${PROJECT_NAME} PRIVATE -Wl,--gc-sections)
|