From 186b09e73a75360060812c02ba99d5ef6324cc54 Mon Sep 17 00:00:00 2001 From: timoreo Date: Fri, 30 Dec 2022 20:09:11 +0100 Subject: [PATCH] Inital CMake porting commit --- .gitignore | 3 +- CMakeLists.txt | 6 ++ Makefile | 134 ---------------------------------------- source/matrixclient.cpp | 2 - 4 files changed, 7 insertions(+), 138 deletions(-) create mode 100644 CMakeLists.txt delete mode 100644 Makefile diff --git a/.gitignore b/.gitignore index a76bc14..bf797c5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -build -lib +cmake-build-debug \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..8945e70 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,6 @@ +set(CMAKE_TOOLCHAIN_FILE /opt/devkitpro/cmake/3DS.cmake) +cmake_minimum_required(VERSION 3.24) +project(matrix-3ds-sdk) + +add_library(matrix-3ds-sdk source/matrixclient.cpp source/memorystore.cpp source/util.cpp) +target_include_directories(matrix-3ds-sdk PUBLIC source include /opt/devkitpro/portlibs/3ds/include/) \ No newline at end of file diff --git a/Makefile b/Makefile deleted file mode 100644 index a1b17e7..0000000 --- a/Makefile +++ /dev/null @@ -1,134 +0,0 @@ -#--------------------------------------------------------------------------------- -.SUFFIXES: -#--------------------------------------------------------------------------------- - -ifeq ($(strip $(DEVKITARM)),) -$(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") -endif - -include $(DEVKITARM)/3ds_rules - -#--------------------------------------------------------------------------------- -# TARGET is the name of the output -# BUILD is the directory where object files & intermediate files will be placed -# SOURCES is a list of directories containing source code -# DATA is a list of directories containing data files -# INCLUDES is a list of directories containing header files -#--------------------------------------------------------------------------------- -TARGET := $(shell basename $(CURDIR)) -BUILD := build -SOURCES := source -DATA := data -INCLUDES := include - -#--------------------------------------------------------------------------------- -# options for code generation -#--------------------------------------------------------------------------------- -ARCH := -march=armv6k -mtune=mpcore -mfloat-abi=hard -mtp=soft - -CFLAGS := -g -Wall -O2 -mword-relocations \ - -fomit-frame-pointer -ffunction-sections \ - $(ARCH) - -CFLAGS += $(INCLUDE) -DARM11 -D_3DS -CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions - -ASFLAGS := -g $(ARCH) - -#--------------------------------------------------------------------------------- -# list of directories containing libraries, this must be the top level containing -# include and lib -#--------------------------------------------------------------------------------- -LIBDIRS := $(CTRULIB) $(DEVKITPRO)/portlibs/3ds - -#--------------------------------------------------------------------------------- -# no real need to edit anything past this point unless you need to add additional -# rules for different file extensions -#--------------------------------------------------------------------------------- -ifneq ($(BUILD),$(notdir $(CURDIR))) -#--------------------------------------------------------------------------------- - -export OUTPUT := $(CURDIR)/lib/lib$(TARGET).a - -export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ - $(foreach dir,$(DATA),$(CURDIR)/$(dir)) - -export DEPSDIR := $(CURDIR)/$(BUILD) - -CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) -CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) -SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) -BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) - -#--------------------------------------------------------------------------------- -# use CXX for linking C++ projects, CC for standard C -#--------------------------------------------------------------------------------- -ifeq ($(strip $(CPPFILES)),) -#--------------------------------------------------------------------------------- - export LD := $(CC) -#--------------------------------------------------------------------------------- -else -#--------------------------------------------------------------------------------- - export LD := $(CXX) -#--------------------------------------------------------------------------------- -endif -#--------------------------------------------------------------------------------- - -export OFILES := $(addsuffix .o,$(BINFILES)) \ - $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) - -export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ - $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ - -I$(CURDIR)/$(BUILD) - -.PHONY: $(BUILD) clean all - -#--------------------------------------------------------------------------------- - - -all: $(BUILD) - -ifeq ($(OS),Windows_NT) -install: - @cp -rf lib/* $(DEVKITPRO)/portlibs/3ds/lib/ - @cp -rf include/* $(DEVKITPRO)/portlibs/3ds/include/ -else -install: - @sudo cp -rf lib/* $(DEVKITPRO)/portlibs/3ds/lib/ - @sudo cp -rf include/* $(DEVKITPRO)/portlibs/3ds/include/ -endif - -lib: - @[ -d $@ ] || mkdir -p $@ - -$(BUILD): lib - @[ -d $@ ] || mkdir -p $@ - @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile - -#--------------------------------------------------------------------------------- -clean: - @echo clean ... - @rm -fr $(BUILD) lib - -#--------------------------------------------------------------------------------- -else - -DEPENDS := $(OFILES:.o=.d) - -#--------------------------------------------------------------------------------- -# main targets -#--------------------------------------------------------------------------------- -$(OUTPUT) : $(OFILES) - -#--------------------------------------------------------------------------------- -%.bin.o : %.bin -#--------------------------------------------------------------------------------- - @echo $(notdir $<) - @$(bin2o) - - --include $(DEPENDS) - -#--------------------------------------------------------------------------------------- -endif -#--------------------------------------------------------------------------------------- diff --git a/source/matrixclient.cpp b/source/matrixclient.cpp index cef51b6..6fec3ea 100644 --- a/source/matrixclient.cpp +++ b/source/matrixclient.cpp @@ -18,8 +18,6 @@ #define SOC_BUFFERSIZE 0x100000 #define SYNC_TIMEOUT 10000 -#define DEBUG 0 - #if DEBUG #define D #else