~rabbits/uxn-playdate

ab55046b4adc99125813aab3650ff6ccebf431a4 — Devine Lu Linvega 10 days ago 46b15d0
Added cmake rules
3 files changed, 46 insertions(+), 9 deletions(-)

M .gitignore
A CMakeLists.txt
M build.sh
M .gitignore => .gitignore +1 -0
@@ 1,5 1,6 @@
/build/
/Varvara.pdx/
varvara.pdx/
/Source/pdex.bin
/Source/pdex.so
/Source/boot.rom

A CMakeLists.txt => CMakeLists.txt +40 -0
@@ 0,0 1,40 @@
cmake_minimum_required(VERSION 3.14)
set(CMAKE_C_STANDARD 11)

set(ENVSDK $ENV{PLAYDATE_SDK_PATH})

if (NOT ${ENVSDK} STREQUAL "")
	# Convert path from Windows
	file(TO_CMAKE_PATH ${ENVSDK} SDK)
else()
	execute_process(
			COMMAND bash -c "egrep '^\\s*SDKRoot' $HOME/.Playdate/config"
			COMMAND head -n 1
			COMMAND cut -c9-
			OUTPUT_VARIABLE SDK
			OUTPUT_STRIP_TRAILING_WHITESPACE
	)
endif()

if (NOT EXISTS ${SDK})
	message(FATAL_ERROR "SDK Path not found; set ENV value PLAYDATE_SDK_PATH")
	return()
endif()

set(CMAKE_CONFIGURATION_TYPES "Debug;Release")
set(CMAKE_XCODE_GENERATE_SCHEME TRUE)

# Game Name Customization
set(PLAYDATE_GAME_NAME varvara)
set(PLAYDATE_GAME_DEVICE varvara_DEVICE)

project(${PLAYDATE_GAME_NAME} C ASM)

if (TOOLCHAIN STREQUAL "armgcc")
	add_executable(${PLAYDATE_GAME_DEVICE} src/main.c src/boot.c src/uxn.c src/devices/apu.c src/devices/ppu.c)
else()
	add_library(${PLAYDATE_GAME_NAME} SHARED src/main.c src/boot.c src/uxn.c src/devices/apu.c src/devices/ppu.c )
endif()

include(${SDK}/C_API/buildsupport/playdate_game.cmake)


M build.sh => build.sh +5 -9
@@ 1,14 1,10 @@
#!/bin/sh -e

export PLAYDATE_SDK_PATH="/home/neauoire/Documents/playdate/PlaydateSDK-1.13.1"
TARGET="etc/wireworld.tal"

rm -rf bin
mkdir bin
make clean
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make

cp ~/Git/oquonie/bin/result.rom etc/boot.rom
# cp ~/roms/catclock.rom etc/boot.rom 

clang-format -i src/main.c
clang-format -i src/devices/ppu.c
clang-format -i src/devices/ppu.h