aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authors1nka <s1n.pcc@gmail.com>2017-04-02 13:33:01 +0600
committers1nka <s1n.pcc@gmail.com>2017-04-02 13:33:01 +0600
commit5d13538584af11540bb762cd3e877c014436b234 (patch)
tree332df515b37bf9381ed9506cf435b60c2e756d30
parent3a61ed0a917ee3e41a62733af7433c7bde82794c (diff)
add CMake build system
-rw-r--r--.gitignore1
-rw-r--r--CMakeLists.txt49
-rw-r--r--README.md9
-rw-r--r--src/version.h.cmake (renamed from src/version.h)2
4 files changed, 60 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 5053c00..4272730 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ bin
obj
*.depend
*.layout
+src/version.h \ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..7c5c6f2
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,49 @@
+cmake_minimum_required(VERSION 2.8.11)
+
+SET(PROJECT_WX melonDS)
+PROJECT(${PROJECT_WX})
+SET(APP_VERSION 0.1)
+SET(INSTALL_PATH /usr/local/bin/)
+
+SET(VERSION ${APP_VERSION})
+
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/src/version.h.cmake
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/version.h)
+
+SET(SOURCES
+ src/wx/main.cpp
+ src/wx/EmuConfig.cpp
+ src/wx/InputConfig.cpp
+ src/ARM.cpp
+ src/ARMInterpreter.cpp
+ src/ARMInterpreter_ALU.cpp
+ src/ARMInterpreter_Branch.cpp
+ src/ARMInterpreter_LoadStore.cpp
+ src/Config.cpp
+ src/CP15.cpp
+ src/DMA.cpp
+ src/GPU.cpp
+ src/GPU2D.cpp
+ src/GPU3D.cpp
+ src/GPU3D_Soft.cpp
+ src/NDS.cpp
+ src/NDSCart.cpp
+ src/RTC.cpp
+ src/SPI.cpp
+ src/Wifi.cpp)
+
+find_package(GTK2 2.0 REQUIRED)
+include_directories(${GTK2_INCLUDE_DIRS})
+
+find_package(wxWidgets REQUIRED)
+include(${wxWidgets_USE_FILE})
+link_libraries(${wxWidgets_LIBRARIES})
+
+find_package(SDL2 REQUIRED)
+include_directories(${SDL2_INCLUDE_DIR})
+link_libraries(${SDL2_LIBRARIES})
+
+add_executable(${PROJECT_WX} ${SOURCES})
+target_link_libraries(${PROJECT_WX})
+
+install(TARGETS ${PROJECT_WX} DESTINATION ${INSTALL_PATH}) \ No newline at end of file
diff --git a/README.md b/README.md
index e528001..234b26e 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,16 @@ Note: the DS-mode firmware in the 3DS isn't bootable, it only contains the bare
As for the rest, the interface should be pretty straightforward. If you have a question, don't hesitate to ask, though!
+How to build:
+Linux:
+ * mkdir -p build
+ * cd build
+ * cmake ..
+ * make
+
+Windows:
+ * use CodeBlocks
TODO LIST
diff --git a/src/version.h b/src/version.h.cmake
index aa80b51..50656e4 100644
--- a/src/version.h
+++ b/src/version.h.cmake
@@ -19,7 +19,7 @@
#ifndef VERSION_H
#define VERSION_H
-#define MELONDS_VERSION "0.1"
+#define MELONDS_VERSION "@VERSION@"
#define MELONDS_URL "http://melonds.kuribo64.net/"