azuray/CMakeLists.txt

44 lines
1.2 KiB
CMake

# Configure with [fxsdk build-fx] or [fxsdk build-cg], which provide the
# toolchain file and module path of the fxSDK
cmake_minimum_required(VERSION 3.15)
project(MyAddin LANGUAGES C CXX ASM)
include(GenerateG1A)
include(GenerateG3A)
include(Fxconv)
find_package(Gint 2.9 REQUIRED)
find_package(LibProf 2.4 REQUIRED)
find_package(Azur 0.1 REQUIRED)
if("${FXSDK_PLATFORM_LONG}" STREQUAL fx9860G)
message(SEND_ERROR "Azuray doesn't support fx-9860G")
endif()
set(CMAKE_CXX_STANDARD 20)
set(SOURCES
azuray/azuray.cc
azuray/physics.cc
azuray/shader_floor.cc
azuray/shader_floor.S
azuray/shader_wall.cc
azuray/shader_wall.S
azuray/texture.cc
src/main.cc)
set(ASSETS
assets/map1.txt
assets/tileset.png)
fxconv_declare_converters(src/converters.py)
fxconv_declare_assets(${ASSETS} ${ASSETS_fx} ${ASSETS_cg} WITH_METADATA)
add_executable(myaddin ${SOURCES} ${ASSETS} ${ASSETS_${FXSDK_PLATFORM}})
target_compile_options(myaddin PRIVATE
-Wall -Wextra -O3 -I "${CMAKE_CURRENT_SOURCE_DIR}/azuray")
target_link_libraries(myaddin
Azur::Azur -lnum LibProf::LibProf Gint::Gint -lstdc++)
generate_g3a(TARGET myaddin OUTPUT "Azuray.g3a"
NAME "Azuray" ICONS assets/icon-uns.png assets/icon-sel.png)