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/game.cpp src/generator/gen1.cpp src/generator/gen2.cpp src/generator/gen3.cpp src/level.cpp src/log.cpp src/main.cpp src/render.cpp src/util.cpp) set(ASSETS assets-cg/dot.png) fxconv_declare_assets(${ASSETS} WITH_METADATA) 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)