BosonX/CMakeLists.txt

58 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 3.15)
project(BosonX LANGUAGES ASM C CXX)
include(GenerateG3A)
include(Fxconv)
find_package(Azur 0.1 REQUIRED)
find_package(Gint 2.8 REQUIRED)
find_package(LibProf 2.1 REQUIRED)
set(SOURCES
src/fsblend.cpp
src/fsblend.S
src/game.cpp
src/generator/gen1.cpp
src/generator/gen2.cpp
src/generator/gen3.cpp
src/generator/path.cpp
src/level.cpp
src/log.cpp
src/main.cpp
src/menu.cpp
src/ptrace.cpp
src/render.cpp
src/util.cpp)
set(ASSETS
assets-cg/dot.png
assets-cg/bosonx_logo.png
assets-cg/bosonx_title.png
assets-cg/bosonx_logo_empty.png
assets-cg/lepheyatis_logo.png
assets-cg/font_boson.png
assets-cg/font_energy.png
assets-cg/font_energy2.png
assets-cg/font_energy3.png
assets-cg/erik_running.gif
assets-cg/erik_jumping.gif
assets-cg/stages/stage1.png
assets-cg/stages/stage2.png
assets-cg/stages/stage3.png
assets-cg/stages/stage4.png
assets-cg/stages/stage5.png
assets-cg/stages/stage6.png)
fxconv_declare_assets(${ASSETS} WITH_METADATA)
fxconv_declare_converters(converters.py)
add_executable(addin ${SOURCES} ${ASSETS})
target_compile_options(addin PRIVATE
-Wall -Wextra -Os -std=c++20 -fno-exceptions)
target_link_options(addin PRIVATE -Wl,-Map=map)
target_link_libraries(addin PRIVATE
Azur::Azur -lnum LibProf::LibProf Gint::Gint -lm -lstdc++)
generate_g3a(TARGET addin OUTPUT "BosonX.g3a"
NAME "BosonX" ICONS assets-cg/icon-uns.png assets-cg/icon-sel.png)