summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt41
1 files changed, 41 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..a4ab8df
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,41 @@
+# 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(pong)
+
+include(GenerateG1A)
+include(GenerateG3A)
+include(Fxconv)
+find_package(Gint 2.1 REQUIRED)
+
+set(SOURCES
+ src/main.c
+ # ...
+)
+# Shared assets, fx-9860G-only assets and fx-CG-50-only assets
+set(ASSETS
+ # ...
+)
+set(ASSETS_fx
+ assets-fx/example.png
+ # ...
+)
+set(ASSETS_cg
+ assets-cg/example.png
+ # ...
+)
+
+fxconv_declare_assets(${ASSETS} ${ASSETS_fx} ${ASSETS_cg} WITH_METADATA)
+
+add_executable(breakout ${SOURCES} ${ASSETS} ${ASSETS_${FXSDK_PLATFORM}})
+target_compile_options(breakout PRIVATE -Wall -Wextra -Os)
+target_link_libraries(breakout Gint::Gint)
+
+if("${FXSDK_PLATFORM_LONG}" STREQUAL fx9860G)
+ generate_g1a(TARGET breakout OUTPUT "pong.g1a"
+ NAME "pong" ICON assets-fx/icon.png)
+elseif("${FXSDK_PLATFORM_LONG}" STREQUAL fxCG50)
+ generate_g3a(TARGET breakout OUTPUT "pong.g3a"
+ NAME "pong" ICONS assets-cg/icon-uns.png assets-cg/icon-sel.png)
+endif()