2021-03-28 19:35:07 +02:00
|
|
|
# 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)
|
2021-05-28 17:28:29 +02:00
|
|
|
project(MOMENTO C)
|
2021-03-28 19:35:07 +02:00
|
|
|
|
|
|
|
include(GenerateG3A)
|
|
|
|
include(Fxconv)
|
2021-04-07 11:45:47 +02:00
|
|
|
|
2021-08-07 18:05:15 +02:00
|
|
|
find_package(Gint 2.5.3 REQUIRED)
|
2021-04-27 16:26:44 +02:00
|
|
|
find_package(LibImg 2.4.0 REQUIRED)
|
2021-03-28 19:35:07 +02:00
|
|
|
|
2021-05-08 00:33:55 +02:00
|
|
|
include_directories(include generated/include)
|
2021-03-28 19:35:07 +02:00
|
|
|
|
|
|
|
set(SOURCES
|
|
|
|
src/main.c
|
2021-04-30 02:16:11 +02:00
|
|
|
src/util.c
|
2021-03-28 19:35:07 +02:00
|
|
|
src/level/load.c
|
2021-05-27 16:53:40 +02:00
|
|
|
src/level/update.c
|
2021-03-28 19:35:07 +02:00
|
|
|
src/level/draw.c
|
2021-04-08 18:04:24 +02:00
|
|
|
src/level/get_tile.c
|
2021-05-27 16:20:47 +02:00
|
|
|
src/level/is_water.c
|
2021-03-28 23:44:24 +02:00
|
|
|
src/player/init.c
|
|
|
|
src/player/draw.c
|
2021-03-30 01:42:11 +02:00
|
|
|
src/player/update.c
|
|
|
|
src/player/collide.c
|
2021-05-27 16:20:47 +02:00
|
|
|
src/player/collide_water.c
|
2021-04-27 01:34:34 +02:00
|
|
|
src/trail/init.c
|
|
|
|
src/trail/update.c
|
|
|
|
src/trail/draw.c
|
2021-04-19 12:29:54 +02:00
|
|
|
src/input/init.c
|
|
|
|
src/input/update.c
|
2021-04-08 18:04:24 +02:00
|
|
|
src/particles/init.c
|
|
|
|
src/particles/update.c
|
|
|
|
src/particles/draw.c
|
|
|
|
src/particles/create.c
|
2021-04-09 15:11:00 +02:00
|
|
|
src/transition/init.c
|
|
|
|
src/transition/update.c
|
2021-04-12 10:59:46 +02:00
|
|
|
src/transition/draw.c
|
|
|
|
src/transition/fade.c
|
|
|
|
src/titlescreen/init.c
|
|
|
|
src/titlescreen/update.c
|
|
|
|
src/titlescreen/draw.c
|
2021-04-19 12:29:54 +02:00
|
|
|
src/levelselection/init.c
|
|
|
|
src/levelselection/update.c
|
|
|
|
src/levelselection/draw.c
|
2021-04-20 12:49:55 +02:00
|
|
|
src/mainmenu/init.c
|
|
|
|
src/mainmenu/update.c
|
|
|
|
src/mainmenu/draw.c
|
2021-05-06 00:06:12 +02:00
|
|
|
src/pause/init.c
|
|
|
|
src/pause/update.c
|
|
|
|
src/pause/draw.c
|
2021-05-08 00:33:55 +02:00
|
|
|
generated/filepaths.c
|
|
|
|
)
|
|
|
|
|
|
|
|
set(LEVELS
|
|
|
|
assets/levels/00/0pillars.kble
|
|
|
|
assets/levels/00/1breach.kble
|
|
|
|
assets/levels/00/2human.kble
|
|
|
|
assets/levels/00/3amas.kble
|
|
|
|
assets/levels/01/0qujna.kble
|
|
|
|
assets/levels/01/1greed.kble
|
|
|
|
assets/levels/01/2dos.kble
|
|
|
|
assets/levels/01/3secrets.kble
|
|
|
|
assets/levels/02/0martha.kble
|
2021-05-27 12:24:17 +02:00
|
|
|
assets/levels/02/1eden.kble
|
2021-05-28 18:00:58 +02:00
|
|
|
assets/levels/02/2midnight.kble
|
|
|
|
assets/levels/02/3limited.kble
|
2021-08-08 22:49:05 +02:00
|
|
|
assets/levels/03/0waterlogged.kble
|
|
|
|
assets/levels/03/1empty.kble
|
|
|
|
assets/levels/03/2jack.kble
|
|
|
|
assets/levels/03/3inspiration.kble
|
2021-03-28 19:35:07 +02:00
|
|
|
)
|
|
|
|
|
2021-05-08 00:33:55 +02:00
|
|
|
add_custom_target(filepaths
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
DEPENDS ${LEVELS} make_filepaths.sh
|
|
|
|
COMMENT "filepaths.c & pack_count.h target")
|
|
|
|
|
|
|
|
add_custom_command(
|
|
|
|
OUTPUT "${CMAKE_CURRENT_LIST_DIR}/generated/filepaths.c"
|
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/generated/include/pack_count.h"
|
|
|
|
COMMENT "Generate genereated/filepaths.c & "
|
|
|
|
"generated/include/pack_count.h"
|
|
|
|
COMMAND mkdir -p generated &&
|
|
|
|
./make_filepaths.sh > generated/filepaths.c
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
|
|
|
DEPENDS ${LEVELS} make_filepaths.sh)
|
|
|
|
|
|
|
|
|
2021-03-28 19:35:07 +02:00
|
|
|
set(ASSETS
|
|
|
|
assets/graphics/tileset.png
|
2021-05-27 16:20:47 +02:00
|
|
|
assets/graphics/water.png
|
2021-04-27 01:34:34 +02:00
|
|
|
assets/graphics/trail.png
|
2021-04-08 18:04:24 +02:00
|
|
|
assets/graphics/coin-particle.png
|
2021-04-09 00:31:24 +02:00
|
|
|
assets/graphics/switch-particle.png
|
|
|
|
assets/graphics/switch-activated-particle.png
|
|
|
|
assets/graphics/exit-active-particle.png
|
|
|
|
assets/graphics/exit-unlock-particle.png
|
2021-05-06 13:45:48 +02:00
|
|
|
assets/graphics/bounce-particle.png
|
2021-04-13 01:08:15 +02:00
|
|
|
assets/graphics/font.png
|
2021-04-30 02:16:11 +02:00
|
|
|
assets/graphics/font_big.png
|
2021-04-21 17:51:59 +02:00
|
|
|
assets/graphics/player/blink.png
|
|
|
|
assets/graphics/player/idle.png
|
|
|
|
assets/graphics/player/jump.png
|
|
|
|
assets/graphics/player/walk.png
|
2021-05-08 00:33:55 +02:00
|
|
|
${LEVELS}
|
2021-03-28 19:35:07 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
set(FLAGS
|
|
|
|
-Wall -Wextra -Wshadow -Wswitch-default -Wswitch-enum
|
|
|
|
-Wunreachable-code -Wstrict-prototypes -Wmissing-prototypes
|
|
|
|
-Wold-style-definition -Werror-implicit-function-declaration
|
2021-04-27 16:26:44 +02:00
|
|
|
-std=c11 -O3)
|
2021-03-28 19:35:07 +02:00
|
|
|
|
|
|
|
fxconv_declare_assets(${ASSETS} WITH_METADATA)
|
|
|
|
|
|
|
|
add_executable(${PROJECT_NAME} ${SOURCES} ${ASSETS})
|
2021-04-07 23:00:57 +02:00
|
|
|
add_dependencies(${PROJECT_NAME} filepaths)
|
2021-03-28 19:35:07 +02:00
|
|
|
target_compile_options(${PROJECT_NAME} PRIVATE ${FLAGS})
|
|
|
|
target_link_libraries(${PROJECT_NAME} Gint::Gint)
|
2021-04-21 17:51:59 +02:00
|
|
|
target_link_libraries(${PROJECT_NAME} LibImg::LibImg)
|
2021-05-08 00:33:55 +02:00
|
|
|
target_link_options(${PROJECT_NAME} PRIVATE -Wl,-Map=map)
|
2021-03-28 19:35:07 +02:00
|
|
|
|
|
|
|
generate_g3a(TARGET ${PROJECT_NAME}
|
|
|
|
OUTPUT "${PROJECT_NAME}.g3a"
|
|
|
|
NAME "${PROJECT_NAME}"
|
|
|
|
ICONS assets/graphics/icon-uns.png assets/graphics/icon-sel.png)
|