mirror of
https://github.com/N64Recomp/N64ModernRuntime.git
synced 2025-10-30 08:02:29 +00:00
Add CMakeLists
This commit is contained in:
parent
3504a4c71f
commit
b47b52f540
23 changed files with 86 additions and 22 deletions
8
CMakeLists.txt
Normal file
8
CMakeLists.txt
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
cmake_minimum_required(VERSION 3.20)
|
||||
project(N64ModernRuntime)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
||||
|
||||
add_subdirectory(librecomp)
|
||||
add_subdirectory(ultramodern)
|
||||
34
librecomp/CMakeLists.txt
Normal file
34
librecomp/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
cmake_minimum_required(VERSION 3.20)
|
||||
project(librecomp)
|
||||
|
||||
# Check for headers
|
||||
include(CheckIncludeFile)
|
||||
check_include_file("malloc.h" HAVE_MALLOC_H)
|
||||
|
||||
if(HAVE_MALLOC_H)
|
||||
add_compile_definitions(HAVE_MALLOC_H)
|
||||
endif()
|
||||
|
||||
# Define the library
|
||||
add_library(librecomp STATIC
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/ai.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/cont.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/dp.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/eep.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/euc-jp.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/flash.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/math_routines.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/overlays.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/pak.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/patch_loading.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/pi.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/print.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/recomp.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/sp.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/ultra_stubs.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/ultra_translation.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/vi.cpp")
|
||||
|
||||
target_include_directories(librecomp PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
||||
|
||||
target_link_libraries(librecomp PRIVATE ultramodern)
|
||||
|
|
@ -1,11 +1,15 @@
|
|||
#ifndef __RECOMP_H__
|
||||
#define __RECOMP_H__
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <math.h>
|
||||
#include <assert.h>
|
||||
#include <setjmp.h>
|
||||
|
||||
#ifdef HAVE_MALLOC_H
|
||||
#include <malloc.h>
|
||||
#endif
|
||||
|
||||
typedef uint64_t gpr;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include <filesystem>
|
||||
|
||||
#include "recomp.h"
|
||||
#include "../ultramodern/ultramodern.hpp"
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
#include "rt64_layer.h"
|
||||
|
||||
namespace recomp {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
#define __RECOMP_HELPERS__
|
||||
|
||||
#include "recomp.h"
|
||||
#include "../ultramodern/ultra64.h"
|
||||
#include <ultramodern/ultra64.h>
|
||||
|
||||
template<int index, typename T>
|
||||
T _arg(uint8_t* rdram, recomp_context* ctx) {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#include "recomp.h"
|
||||
#include <cstdio>
|
||||
#include <string>
|
||||
#include "../ultramodern/ultra64.h"
|
||||
#include "../ultramodern/ultramodern.hpp"
|
||||
#include <ultramodern/ultra64.h>
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
|
||||
#define VI_NTSC_CLOCK 48681812
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include "../ultramodern/ultramodern.hpp"
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
#include "recomp_helpers.h"
|
||||
|
||||
static ultramodern::input_callbacks_t input_callbacks;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#include "recomp.h"
|
||||
#include "../ultramodern/ultra64.h"
|
||||
#include <ultramodern/ultra64.h>
|
||||
|
||||
void save_write(RDRAM_ARG PTR(void) rdram_address, uint32_t offset, uint32_t count);
|
||||
void save_read(RDRAM_ARG PTR(void) rdram_address, uint32_t offset, uint32_t count);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include <array>
|
||||
#include <cassert>
|
||||
#include "../ultramodern/ultra64.h"
|
||||
#include "../ultramodern/ultramodern.hpp"
|
||||
#include <ultramodern/ultra64.h>
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
#include "recomp.h"
|
||||
|
||||
// TODO move this out into ultramodern code
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include "../ultramodern/ultramodern.hpp"
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
#include "recomp.h"
|
||||
|
||||
// TODO remove these by implementing the necessary instructions and control flow handling in the recompiler.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#include "recomp.h"
|
||||
#include "../ultramodern/ultra64.h"
|
||||
#include "../ultramodern/ultramodern.hpp"
|
||||
#include <ultramodern/ultra64.h>
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
|
||||
extern "C" void osPfsInitPak_recomp(uint8_t * rdram, recomp_context* ctx) {
|
||||
ctx->r2 = 1; // PFS_ERR_NOPACK
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@
|
|||
#include "recomp.h"
|
||||
#include "recomp_game.h"
|
||||
#include "recomp_config.h"
|
||||
#include "../ultramodern/ultra64.h"
|
||||
#include "../ultramodern/ultramodern.hpp"
|
||||
#include <ultramodern/ultra64.h>
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
|
||||
static std::vector<uint8_t> rom;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include <vector>
|
||||
|
||||
#include "../ultramodern/ultra64.h"
|
||||
#include "../ultramodern/ultramodern.hpp"
|
||||
#include <ultramodern/ultra64.h>
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
#include "recomp.h"
|
||||
#include "euc-jp.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
#include "recomp_game.h"
|
||||
#include "recomp_config.h"
|
||||
#include "xxHash/xxh3.h"
|
||||
#include "../ultramodern/ultramodern.hpp"
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
#include "../../RecompiledPatches/patches_bin.h"
|
||||
#include "mm_shader_cache.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#include <cstdio>
|
||||
#include <fstream>
|
||||
#include "../ultramodern/ultramodern.hpp"
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
#include "recomp.h"
|
||||
|
||||
extern "C" void osSpTaskLoad_recomp(uint8_t* rdram, recomp_context* ctx) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#include "../ultramodern/ultra64.h"
|
||||
#include "../ultramodern/ultramodern.hpp"
|
||||
#include <ultramodern/ultra64.h>
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
#include "recomp.h"
|
||||
|
||||
// None of these functions need to be reimplemented, so stub them out
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#include <memory>
|
||||
#include "../ultramodern/ultra64.h"
|
||||
#include "../ultramodern/ultramodern.hpp"
|
||||
#include <ultramodern/ultra64.h>
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
#include "recomp.h"
|
||||
|
||||
extern "C" void osInitialize_recomp(uint8_t * rdram, recomp_context * ctx) {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include "../ultramodern/ultramodern.hpp"
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
#include "recomp.h"
|
||||
|
||||
extern "C" void osViSetYScale_recomp(uint8_t* rdram, recomp_context * ctx) {
|
||||
|
|
|
|||
18
ultramodern/CMakeLists.txt
Normal file
18
ultramodern/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
cmake_minimum_required(VERSION 3.20)
|
||||
project(ultramodern)
|
||||
|
||||
add_library(ultramodern STATIC
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/audio.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/events.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/mesgqueue.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/misc_ultra.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/rt64_layer.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/scheduling.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/task_win32.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/threadqueue.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/threads.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/timer.cpp")
|
||||
|
||||
target_include_directories(ultramodern PUBLIC
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/include"
|
||||
"${CMAKE_SOURCE_DIR}/thirdparty/concurrentqueue")
|
||||
Loading…
Add table
Reference in a new issue