1
0
Fork 0
mirror of https://git.sr.ht/~kikoodx/momento synced 2024-06-08 11:40:37 +02:00
momento/CMakeLists.txt
KikooDX a11b9d1c52 pause
Take a break and sip your tea.
2021-05-07 00:09:37 +02:00

98 lines
2.5 KiB
CMake

# Configure with [fxsdk build-fx] or [fxsdk build-cg], which provide the
# toolchain file and module path of the fxSDK
cmake_minimum_required(VERSION 3.18)
project(MTEM C)
include(GenerateG3A)
include(Fxconv)
find_package(Gint 2.4.0 REQUIRED)
find_package(LibImg 2.4.0 REQUIRED)
add_custom_target(filepaths
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS generated/filepaths.h
COMMENT "generated/filepaths.h target")
add_custom_command(OUTPUT "${CMAKE_CURRENT_LIST_DIR}/generated/filepaths.h"
COMMENT "Generate genereated/filepaths.h."
COMMAND mkdir -p generated &&
./make_filepaths.sh > generated/filepaths.h
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
DEPENDS make_filepaths.sh)
include_directories(include generated)
set(SOURCES
src/main.c
src/util.c
src/level/load.c
src/level/draw.c
src/level/get_tile.c
src/player/init.c
src/player/draw.c
src/player/update.c
src/player/collide.c
src/trail/init.c
src/trail/update.c
src/trail/draw.c
src/input/init.c
src/input/update.c
src/particles/init.c
src/particles/update.c
src/particles/draw.c
src/particles/create.c
src/transition/init.c
src/transition/update.c
src/transition/draw.c
src/transition/fade.c
src/titlescreen/init.c
src/titlescreen/update.c
src/titlescreen/draw.c
src/levelselection/init.c
src/levelselection/update.c
src/levelselection/draw.c
src/mainmenu/init.c
src/mainmenu/update.c
src/mainmenu/draw.c
src/pause/init.c
src/pause/update.c
src/pause/draw.c
)
set(ASSETS
assets/graphics/tileset.png
assets/graphics/trail.png
assets/graphics/coin-particle.png
assets/graphics/switch-particle.png
assets/graphics/switch-activated-particle.png
assets/graphics/exit-active-particle.png
assets/graphics/exit-unlock-particle.png
assets/graphics/font.png
assets/graphics/font_big.png
assets/graphics/player/blink.png
assets/graphics/player/idle.png
assets/graphics/player/jump.png
assets/graphics/player/walk.png
)
set(FLAGS
-Wall -Wextra -Wshadow -Wswitch-default -Wswitch-enum
-Wunreachable-code -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -Werror-implicit-function-declaration
-std=c11 -O3)
fxconv_declare_assets(${ASSETS} WITH_METADATA)
add_executable(${PROJECT_NAME} ${SOURCES} ${ASSETS})
add_dependencies(${PROJECT_NAME} filepaths)
target_compile_options(${PROJECT_NAME} PRIVATE ${FLAGS})
target_link_libraries(${PROJECT_NAME} Gint::Gint)
target_link_libraries(${PROJECT_NAME} LibImg::LibImg)
generate_g3a(TARGET ${PROJECT_NAME}
OUTPUT "${PROJECT_NAME}.g3a"
NAME "${PROJECT_NAME}"
ICONS assets/graphics/icon-uns.png assets/graphics/icon-sel.png)