58 lines
1.4 KiB
CMake
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)
|