cmake_minimum_required(VERSION 3.15) project(Afterburner VERSION 1.0 LANGUAGES CXX C ASM) 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/camera.cpp src/image.cpp src/main.cpp src/horizon.cpp src/horizon.s src/world.cpp ) set(ASSETS assets-cg/plane.png assets-cg/square.png assets-cg/dot.png assets-cg/tree_1.png assets-cg/tree_2.png assets-cg/tree_3.png assets-cg/mountain_1.png assets-cg/rock_1.png assets-cg/rock_2.png assets-cg/base_1.png assets-cg/base_2.png assets-cg/base_3.png assets-cg/minimap.png assets-cg/expl_1.png assets-cg/expl_2.png assets-cg/expl_3.png assets-cg/expl_4.png assets-cg/font.png ) fxconv_declare_assets(${ASSETS} WITH_METADATA) add_executable(afterburner ${SOURCES} ${ASSETS}) target_compile_options(afterburner PRIVATE -Wall -Wextra -Os -std=c++20) target_link_options(afterburner PRIVATE -Wl,-Map=map -Wl,--print-memory-usage) target_link_libraries(afterburner Azur::Azur -lnum LibProf::LibProf Gint::Gint) generate_g3a(TARGET afterburner OUTPUT "AfterBur.g3a" NAME "Afterburner" ICONS assets-cg/icon-uns.png assets-cg/icon-sel.png)