cmake_minimum_required(VERSION 3.15) project(vxBoot VERSION 1.2.6 LANGUAGES C) include(GenerateG1A) include(GenerateG3A) include(Fxconv) find_package(Gint 2.1 REQUIRED) set(SOURCES src/main.c src/gui/entry.c src/gui/fx9860g.c src/gui/fxcg50.c src/cli/parser.c src/cli/entry.c src/fs/smemfs/mount.c src/fs/smemfs/pread.c src/terminal/close.c src/terminal/open.c src/terminal/read.c src/terminal/util.c src/terminal/write.c src/terminal/log.c src/builtin/ls.c src/builtin/help.c src/builtin/hw.c src/builtin/ld.c src/builtin/log.c src/loader/scan.c src/loader/elf/header.c src/loader/elf/image.c src/loader/elf/got.c src/loader/elf/rela.c src/loader/error.c src/loader/entry.c src/loader/kernel.c src/hardware/get_info.c ) # Shared assets, fx-9860G-only assets and fx-CG-50-only assets set(ASSETS # ... ) set(ASSETS_fx assets-fx/fonts/hexa.png ) set(ASSETS_cg assets-cg/fonts/font8x9.png ) fxconv_declare_assets(${ASSETS} ${ASSETS_fx} ${ASSETS_cg} WITH_METADATA) add_executable(vxBoot ${SOURCES} ${ASSETS} ${ASSETS_${FXSDK_PLATFORM}}) target_compile_options(vxBoot PRIVATE -Wall -Wextra -Os -DVXBOOT_VERSION="${PROJECT_VERSION}") target_include_directories(vxBoot PRIVATE include/) if("${FXSDK_PLATFORM_LONG}" STREQUAL fx9860G) target_link_libraries(vxBoot -lgintrace-fx Gint::Gint) generate_g1a(TARGET vxBoot OUTPUT "vxBoot.g1a" NAME "vxBoot" ICON assets-fx/icon.png) elseif("${FXSDK_PLATFORM_LONG}" STREQUAL fxCG50) target_link_libraries(vxBoot -lgintrace-cg Gint::Gint) generate_g3a(TARGET vxBoot OUTPUT "vxBoot.g3a" NAME "vxBoot" ICONS assets-cg/icon-uns.png assets-cg/icon-sel.png) endif()