From 8e4ad3dfcb8d8928af1f4bf8d06fd875276a146c Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Sun, 6 Dec 2015 18:45:34 +0300 Subject: [PATCH] Property sheets, configuration simplified MemLeak build fixed --- .gitignore | 3 - Utilities/Thread.cpp | 81 ++++------- asmjitsrc/asmjit.vcxproj | 1 - rpcs3/D3D12GSRender.vcxproj | 157 ++------------------- rpcs3/D3D12GSRender.vcxproj.user | 4 + rpcs3/Emu/Memory/vm_var.h | 24 +++- rpcs3/Emu/SysCalls/Modules.h | 2 + rpcs3/GLGSRender.vcxproj.user | 4 + rpcs3/emucore.vcxproj | 235 +++++-------------------------- rpcs3/rpcs3.vcxproj | 215 +++------------------------- rpcs3/stdafx_gui.h | 4 + rpcs3_debug.props | 19 +++ rpcs3_default.props | 29 ++++ rpcs3_llvm.props | 17 +++ rpcs3_memleak.props | 12 ++ rpcs3_release.props | 21 +++ 16 files changed, 226 insertions(+), 602 deletions(-) create mode 100644 rpcs3/D3D12GSRender.vcxproj.user create mode 100644 rpcs3/GLGSRender.vcxproj.user create mode 100644 rpcs3_debug.props create mode 100644 rpcs3_default.props create mode 100644 rpcs3_llvm.props create mode 100644 rpcs3_memleak.props create mode 100644 rpcs3_release.props diff --git a/.gitignore b/.gitignore index b40d5b4a15..c680e78a72 100644 --- a/.gitignore +++ b/.gitignore @@ -73,9 +73,6 @@ x64/* rpcs3/x64/* rpcs3-tests/x64/* -.DS_Store -rpcs3/Emu/SysCalls/Modules/prx_*.h - # cmake Makefile *CMakeFiles* diff --git a/Utilities/Thread.cpp b/Utilities/Thread.cpp index 9d19e679ae..01c68e785f 100644 --- a/Utilities/Thread.cpp +++ b/Utilities/Thread.cpp @@ -532,50 +532,32 @@ uint64_t* darwin_x64reg(x64_context *context, int reg) auto *state = &context->uc_mcontext->__ss; switch(reg) { - case 0: // RAX - return &state->__rax; - case 1: // RCX - return &state->__rcx; - case 2: // RDX - return &state->__rdx; - case 3: // RBX - return &state->__rbx; - case 4: // RSP - return &state->__rsp; - case 5: // RBP - return &state->__rbp; - case 6: // RSI - return &state->__rsi; - case 7: // RDI - return &state->__rdi; - case 8: // R8 - return &state->__r8; - case 9: // R9 - return &state->__r9; - case 10: // R10 - return &state->__r10; - case 11: // R11 - return &state->__r11; - case 12: // R12 - return &state->__r12; - case 13: // R13 - return &state->__r13; - case 14: // R14 - return &state->__r14; - case 15: // R15 - return &state->__r15; - case 16: // RIP - return &state->__rip; - default: // FAIL - assert(0); + case 0: return &state->__rax; + case 1: return &state->__rcx; + case 2: return &state->__rdx; + case 3: return &state->__rbx; + case 4: return &state->__rsp; + case 5: return &state->__rbp; + case 6: return &state->__rsi; + case 7: return &state->__rdi; + case 8: return &state->__r8; + case 9: return &state->__r9; + case 10: return &state->__r10; + case 11: return &state->__r11; + case 12: return &state->__r12; + case 13: return &state->__r13; + case 14: return &state->__r14; + case 15: return &state->__r15; + case 16: return &state->__rip; + default: + LOG_ERROR(GENERAL, "Invalid register index: %d", reg); + return nullptr; } } #else -typedef decltype(REG_RIP) reg_table_t; - -static const reg_table_t reg_table[17] = +static const decltype(REG_RAX) reg_table[] = { REG_RAX, REG_RCX, REG_RDX, REG_RBX, REG_RSP, REG_RBP, REG_RSI, REG_RDI, REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15, REG_RIP @@ -1139,14 +1121,16 @@ void _se_translator(unsigned int u, EXCEPTION_POINTERS* pExp) const u64 addr64 = (u64)pExp->ExceptionRecord->ExceptionInformation[1] - (u64)vm::base(0); const bool is_writing = pExp->ExceptionRecord->ExceptionInformation[0] != 0; - if (u == EXCEPTION_ACCESS_VIOLATION && (u32)addr64 == addr64) + if (u == EXCEPTION_ACCESS_VIOLATION) { - throw EXCEPTION("Access violation %s location 0x%llx", is_writing ? "writing" : "reading", addr64); + if ((u32)addr64 == addr64) + { + throw EXCEPTION("Access violation %s location 0x%llx", is_writing ? "writing" : "reading", addr64); + } + + std::printf("Access violation %s location %p at %p\n", is_writing ? "writing" : "reading", (void*)pExp->ExceptionRecord->ExceptionInformation[1], pExp->ExceptionRecord->ExceptionAddress); + std::abort(); } - - __debugbreak(); // if it reached there, there should probably be a possibility to check the callstack - - throw EXCEPTION("Fatal error occured %s location %p at %p", is_writing ? "writing" : "reading", pExp->ExceptionRecord->ExceptionInformation[1], pExp->ExceptionRecord->ExceptionAddress); } const PVOID exception_handler = (atexit([]{ RemoveVectoredExceptionHandler(exception_handler); }), AddVectoredExceptionHandler(1, [](PEXCEPTION_POINTERS pExp) -> LONG @@ -1195,7 +1179,8 @@ void signal_handler(int sig, siginfo_t* info, void* uct) } // else some fatal error - exit(EXIT_FAILURE); + std::printf("Access violation %s location %p at %p\n", is_writing ? "writing" : "reading", info->si_addr, RIP((ucontext_t*)uct)); + std::abort(); } const int sigaction_result = []() -> int @@ -1219,10 +1204,6 @@ void thread_ctrl::initialize() { SetCurrentThreadDebugName(g_tls_this_thread->m_name().c_str()); -#if defined(_MSC_VER) - _set_se_translator(_se_translator); // not essential, disable if necessary -#endif - #ifdef _WIN32 if (!exception_handler || !exception_filter) #else diff --git a/asmjitsrc/asmjit.vcxproj b/asmjitsrc/asmjit.vcxproj index 57f9086c35..4b73e029f5 100644 --- a/asmjitsrc/asmjit.vcxproj +++ b/asmjitsrc/asmjit.vcxproj @@ -81,7 +81,6 @@ StaticLibrary false v140 - true Unicode diff --git a/rpcs3/D3D12GSRender.vcxproj b/rpcs3/D3D12GSRender.vcxproj index df5813dd6a..d1c7dcd40f 100644 --- a/rpcs3/D3D12GSRender.vcxproj +++ b/rpcs3/D3D12GSRender.vcxproj @@ -28,170 +28,39 @@ 8.1 - + StaticLibrary - true - v140 Unicode - - - StaticLibrary - true v140 - Unicode - - - StaticLibrary - true - v140 - Unicode - - - StaticLibrary - false - v140 - false - Unicode - - - StaticLibrary - false - v140 - false - Unicode - + + + + + - + + - + + - + - + + - - $(VC_IncludePath);$(WindowsSDK_IncludePath);..\minidx12\Include;$(IncludePath) - - - $(VC_IncludePath);$(WindowsSDK_IncludePath);..\minidx12\Include;$(IncludePath) - - - $(VC_IncludePath);$(WindowsSDK_IncludePath);..\minidx12\Include;$(IncludePath) - - - $(VC_IncludePath);$(WindowsSDK_IncludePath);..\minidx12\Include;$(IncludePath) - - - $(VC_IncludePath);$(WindowsSDK_IncludePath);..\minidx12\Include;$(IncludePath) - - - - Level3 - Disabled - false - Use - stdafx.h - .;.. - $(Platform)\$(Configuration).pch - $(Platform)\$(Configuration).pdb - true - Async - - - true - - - - - Level3 - Disabled - false - Use - stdafx.h - .;.. - $(Platform)\$(Configuration).pch - $(Platform)\$(Configuration).pdb - true - Async - _UNICODE;UNICODE;MSVC_CRT_MEMLEAK_DETECTION;%(PreprocessorDefinitions) - - - true - - - - - Level3 - Disabled - false - Use - stdafx.h - .;.. - $(Platform)\$(Configuration).pch - $(Platform)\$(Configuration).pdb - true - Async - _UNICODE;UNICODE;LLVM_AVAILABLE;%(PreprocessorDefinitions) - - - true - - - - - Level3 - MaxSpeed - true - true - false - Use - stdafx.h - .;.. - $(Platform)\$(Configuration).pch - $(Platform)\$(Configuration).pdb - true - Async - - - true - true - true - - - - - Level3 - MaxSpeed - true - true - false - Use - stdafx.h - .;.. - $(Platform)\$(Configuration).pch - $(Platform)\$(Configuration).pdb - true - Async - _UNICODE;UNICODE;LLVM_AVAILABLE;%(PreprocessorDefinitions) - - - true - true - true - - diff --git a/rpcs3/D3D12GSRender.vcxproj.user b/rpcs3/D3D12GSRender.vcxproj.user new file mode 100644 index 0000000000..abe8dd8961 --- /dev/null +++ b/rpcs3/D3D12GSRender.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/rpcs3/Emu/Memory/vm_var.h b/rpcs3/Emu/Memory/vm_var.h index 5c0b3d0949..1c1a1a32a4 100644 --- a/rpcs3/Emu/Memory/vm_var.h +++ b/rpcs3/Emu/Memory/vm_var.h @@ -101,11 +101,13 @@ namespace vm using pointer = _ptr_base; public: + // Call the constructor with specified arguments template::value>> _var_base(Args&&... args) : pointer(A::alloc(sizeof32(T), alignof32(T)), vm::addr) { - // Call the constructor with specified arguments +#include "restore_new.h" new(pointer::get_ptr()) T(std::forward(args)...); +#include "define_new_memleakdetect.h" } _var_base(const _var_base&) = delete; // Delete copy/move constructors and copy/move operators @@ -131,20 +133,24 @@ namespace vm u32 m_count; public: + // Call the default constructor for each element _var_base(u32 count) : pointer(A::alloc(sizeof32(T) * count, alignof32(T)), vm::addr) , m_count(count) { - // Call the default constructor for each element +#include "restore_new.h" new(pointer::get_ptr()) T[count](); +#include "define_new_memleakdetect.h" } + // Call the constructor for each element using [it, it + count) template _var_base(u32 count, T2 it) : pointer(A::alloc(sizeof32(T) * count, alignof32(T)), vm::addr) , m_count(count) { - // Initialize each element using iterator - std::uninitialized_copy_n(it, count, const_cast*>(pointer::get_ptr())); +#include "restore_new.h" + for (u32 i = 0; i < m_count; i++, it++) new(pointer::get_ptr() + i) T(*it); +#include "define_new_memleakdetect.h" } _var_base(const _var_base&) = delete; // Delete copy/move constructors and copy/move operators @@ -180,18 +186,22 @@ namespace vm using pointer = _ptr_base; public: + // Call the default constructor for each element _var_base() : pointer(A::alloc(sizeof32(T) * N, alignof32(T)), vm::addr) { - // Call the default constructor for each element +#include "restore_new.h" new(pointer::get_ptr()) T[N](); +#include "define_new_memleakdetect.h" } + // Call the constructor for each element using array template _var_base(const T2(&array)[N]) : pointer(A::alloc(sizeof32(T) * N, alignof32(T)), vm::addr) { - // Copy the array - std::uninitialized_copy_n(array + 0, N, const_cast*>(pointer::get_ptr())); +#include "restore_new.h" + for (u32 i = 0; i < N; i++) new(pointer::get_ptr() + i) T(array[i]); +#include "define_new_memleakdetect.h" } _var_base(const _var_base&) = delete; // Delete copy/move constructors and copy/move operators diff --git a/rpcs3/Emu/SysCalls/Modules.h b/rpcs3/Emu/SysCalls/Modules.h index eb16f7d4dc..37904b8252 100644 --- a/rpcs3/Emu/SysCalls/Modules.h +++ b/rpcs3/Emu/SysCalls/Modules.h @@ -116,7 +116,9 @@ public: //static_assert(std::is_trivially_copy_assignable::value, "Module<> instance must be trivially copy-assignable"); // Allocate module instance and call the default constructor +#include "restore_new.h" new(vm::base(m_addr = vm::alloc(sizeof(T), vm::main))) T(); +#include "define_new_memleakdetect.h" }; } diff --git a/rpcs3/GLGSRender.vcxproj.user b/rpcs3/GLGSRender.vcxproj.user new file mode 100644 index 0000000000..abe8dd8961 --- /dev/null +++ b/rpcs3/GLGSRender.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj index 3f277b113c..0244653ea0 100644 --- a/rpcs3/emucore.vcxproj +++ b/rpcs3/emucore.vcxproj @@ -22,6 +22,42 @@ x64 + + {C4A10229-4712-4BD2-B63E-50D93C67A038} + emucore + 8.1 + + + + StaticLibrary + v140 + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -323,11 +359,7 @@ - - true - true - true - + Create Create @@ -633,200 +665,7 @@ - - {C4A10229-4712-4BD2-B63E-50D93C67A038} - emucore - 8.1 - - - - StaticLibrary - true - v140 - Unicode - - - StaticLibrary - true - v140 - Unicode - - - StaticLibrary - true - v140 - Unicode - - - StaticLibrary - false - v140 - false - Unicode - - - StaticLibrary - false - v140 - false - Unicode - - - - - - - - - - - - - - - - - - - - - .\;..\;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include;$(UniversalCRT_IncludePath);..\minidx9\Include;..\minidx12\Include - $(Platform)\$(Configuration)\emucore\ - $(UniversalCRT_LibraryPath_x64);$(LibraryPath) - $(ExcludePath) - - - .\;..\;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include;$(UniversalCRT_IncludePath);..\minidx9\Include;..\minidx12\Include - $(Platform)\$(Configuration)\emucore\ - $(UniversalCRT_LibraryPath_x64);$(LibraryPath) - $(ExcludePath) - - - .\;..\;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include;$(UniversalCRT_IncludePath);..\minidx9\Include;..\minidx12\Include - $(Platform)\$(Configuration)\emucore\ - $(UniversalCRT_LibraryPath_x64);$(LibraryPath) - $(ExcludePath) - - - .\;..\;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include;$(UniversalCRT_IncludePath);..\minidx9\Include;..\minidx12\Include - $(Platform)\$(Configuration)\emucore\ - $(UniversalCRT_LibraryPath_x64);$(LibraryPath) - $(ExcludePath) - - - .\;..\;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include;$(UniversalCRT_IncludePath);..\minidx9\Include;..\minidx12\Include - $(Platform)\$(Configuration)\emucore\ - $(UniversalCRT_LibraryPath_x64);$(LibraryPath) - $(ExcludePath) - - - - Level3 - Disabled - false - Use - _UNICODE;UNICODE;%(PreprocessorDefinitions) - stdafx.h - Async - true - ../glm - false - $(Platform)\$(Configuration).pch - $(Platform)\$(Configuration).pdb - - - true - - - - - Level3 - Disabled - false - Use - _UNICODE;UNICODE;LLVM_AVAILABLE;%(PreprocessorDefinitions) - stdafx.h - Async - true - ../glm - $(Platform)\$(Configuration).pch - $(Platform)\$(Configuration).pdb - - - true - - - ..\llvm_build\Debug\lib - LLVMMCJIT.lib;LLVMRuntimeDyld.lib;LLVMVectorize.lib;LLVMX86CodeGen.lib;LLVMX86Disassembler.lib;LLVMExecutionEngine.lib;LLVMAsmPrinter.lib;LLVMSelectionDAG.lib;LLVMCodeGen.lib;LLVMScalarOpts.lib;LLVMInstCombine.lib;LLVMTransformUtils.lib;LLVMipa.lib;LLVMAnalysis.lib;LLVMTarget.lib;LLVMX86Desc.lib;LLVMX86AsmPrinter.lib;LLVMObject.lib;LLVMMCParser.lib;LLVMBitReader.lib;LLVMCore.lib;LLVMX86Utils.lib;LLVMMC.lib;LLVMX86Info.lib;LLVMSupport.lib;LLVMMCDisassembler.lib - - - - - Level2 - Disabled - false - Use - _UNICODE;UNICODE;MSVC_CRT_MEMLEAK_DETECTION;%(PreprocessorDefinitions);DX12_SUPPORT - stdafx.h - Async - true - ../glm - $(Platform)\$(Configuration).pch - $(Platform)\$(Configuration).pdb - - - true - - - - - Level3 - MaxSpeed - true - true - false - Use - stdafx.h - Async - true - ../glm - _UNICODE;UNICODE;%(PreprocessorDefinitions) - $(Platform)\$(Configuration).pch - $(Platform)\$(Configuration).pdb - - - true - true - true - - - - - Level3 - MaxSpeed - true - true - false - Use - stdafx.h - Async - _UNICODE;UNICODE;LLVM_AVAILABLE;%(PreprocessorDefinitions) - true - ../glm - $(Platform)\$(Configuration).pch - $(Platform)\$(Configuration).pdb - - - true - true - true - - - ..\llvm_build\Release\lib - LLVMMCJIT.lib;LLVMRuntimeDyld.lib;LLVMVectorize.lib;LLVMX86CodeGen.lib;LLVMX86Disassembler.lib;LLVMExecutionEngine.lib;LLVMAsmPrinter.lib;LLVMSelectionDAG.lib;LLVMCodeGen.lib;LLVMScalarOpts.lib;LLVMInstCombine.lib;LLVMTransformUtils.lib;LLVMipa.lib;LLVMAnalysis.lib;LLVMTarget.lib;LLVMX86Desc.lib;LLVMX86AsmPrinter.lib;LLVMObject.lib;LLVMMCParser.lib;LLVMBitReader.lib;LLVMCore.lib;LLVMX86Utils.lib;LLVMMC.lib;LLVMX86Info.lib;LLVMSupport.lib;LLVMMCDisassembler.lib - - diff --git a/rpcs3/rpcs3.vcxproj b/rpcs3/rpcs3.vcxproj index 7434256cc3..f90df00552 100644 --- a/rpcs3/rpcs3.vcxproj +++ b/rpcs3/rpcs3.vcxproj @@ -29,57 +29,35 @@ 8.1 - + Application - true - Unicode v140 - - - Application - true Unicode - v140 - - - Application - true - Unicode - v140 - - - Application - false - false - Unicode - v140 - false - - - Application - false - false - Unicode - v140 - false - + + - - + + - + + - - + + + + + + - + + @@ -116,29 +94,7 @@ false false - - - Level3 - Disabled - ProgramDatabase - Use - ..\wxWidgets\include\msvc;..\glm - Async - stdafx.h - $(Platform)\$(Configuration).pch - _UNICODE;UNICODE;%(PreprocessorDefinitions) - $(Platform)\$(Configuration).pdb - - - true - wxmsw31ud_adv.lib;wxbase31ud.lib;wxmsw31ud_core.lib;wxmsw31ud_aui.lib;wxtiffd.lib;wxjpegd.lib;wxpngd.lib;wxzlibd.lib;odbc32.lib;odbccp32.lib;comctl32.lib;ws2_32.lib;shlwapi.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;%(AdditionalDependencies) - %(IgnoreSpecificDefaultLibraries) - true - ..\wxWidgets\lib\vc_x64_lib;..\ffmpeg\Windows\x86_64\lib;..\OpenAL\libs\Win64 - 0x200000000 - true - false - + %windir%\sysnative\cmd.exe /c "$(SolutionDir)\Utilities\git-version-gen.cmd" Updating git-version.h @@ -147,145 +103,6 @@ false - - - Level3 - Disabled - ProgramDatabase - Use - ..\wxWidgets\include\msvc;..\glm - Async - stdafx.h - $(Platform)\$(Configuration).pch - _UNICODE;UNICODE;LLVM_AVAILABLE;%(PreprocessorDefinitions) - $(Platform)\$(Configuration).pdb - - - true - wxmsw31ud_adv.lib;wxbase31ud.lib;wxmsw31ud_core.lib;wxmsw31ud_aui.lib;wxtiffd.lib;wxjpegd.lib;wxpngd.lib;wxzlibd.lib;odbc32.lib;odbccp32.lib;comctl32.lib;ws2_32.lib;shlwapi.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;%(AdditionalDependencies) - %(IgnoreSpecificDefaultLibraries) - true - ..\wxWidgets\lib\vc_x64_lib;..\ffmpeg\Windows\x86_64\lib;..\OpenAL\libs\Win64 - 0x200000000 - true - false - - - %windir%\sysnative\cmd.exe /c "$(SolutionDir)\Utilities\git-version-gen.cmd" - Updating git-version.h - - - false - - - - - Level3 - Disabled - ProgramDatabase - Use - ..\wxWidgets\include\msvc;..\glm - _UNICODE;UNICODE;MSVC_CRT_MEMLEAK_DETECTION;%(PreprocessorDefinitions) - Async - stdafx.h - $(Platform)\$(Configuration).pch - $(Platform)\$(Configuration).pdb - - - true - wxmsw31ud_adv.lib;wxbase31ud.lib;wxmsw31ud_core.lib;wxmsw31ud_aui.lib;wxtiffd.lib;wxjpegd.lib;wxpngd.lib;wxzlibd.lib;odbc32.lib;odbccp32.lib;comctl32.lib;ws2_32.lib;shlwapi.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;%(AdditionalDependencies) - %(IgnoreSpecificDefaultLibraries) - true - ..\wxWidgets\lib\vc_x64_lib;..\ffmpeg\Windows\x86_64\lib;..\OpenAL\libs\Win64 - 0x200000000 - true - false - - - %windir%\sysnative\cmd.exe /c "$(SolutionDir)\Utilities\git-version-gen.cmd" - Updating git-version.h - - - false - - - - - Level3 - Full - true - true - ..\wxWidgets\include\msvc;..\glm - MultiThreadedDLL - false - Use - Speed - Async - false - true - stdafx.h - $(Platform)\$(Configuration).pch - $(Platform)\$(Configuration).pdb - - - Windows - true - true - true - wxmsw31u_adv.lib;wxbase31u.lib;wxmsw31u_core.lib;wxmsw31u_aui.lib;odbc32.lib;odbccp32.lib;comctl32.lib;ws2_32.lib;shlwapi.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;wxtiff.lib;wxjpeg.lib;wxpng.lib;wxzlib.lib;wxregexu.lib;wxexpat.lib;wsock32.lib;wininet.lib;%(AdditionalDependencies) - - - %(IgnoreSpecificDefaultLibraries) - true - ..\wxWidgets\lib\vc_x64_lib;..\ffmpeg\Windows\x86_64\lib;..\OpenAL\libs\Win64 - 0x200000000 - true - false - - - %windir%\sysnative\cmd.exe /c "$(SolutionDir)\Utilities\git-version-gen.cmd" - Updating git-version.h - - - - - Level3 - Full - true - true - ..\wxWidgets\include\msvc;..\glm - MultiThreadedDLL - false - Use - Speed - Async - false - true - stdafx.h - $(Platform)\$(Configuration).pch - $(Platform)\$(Configuration).pdb - _UNICODE;UNICODE;LLVM_AVAILABLE;%(PreprocessorDefinitions) - - - Windows - true - true - true - wxmsw31u_adv.lib;wxbase31u.lib;wxmsw31u_core.lib;wxmsw31u_aui.lib;odbc32.lib;odbccp32.lib;comctl32.lib;ws2_32.lib;shlwapi.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;wxtiff.lib;wxjpeg.lib;wxpng.lib;wxzlib.lib;wxregexu.lib;wxexpat.lib;wsock32.lib;wininet.lib;%(AdditionalDependencies) - - - %(IgnoreSpecificDefaultLibraries) - true - ..\wxWidgets\lib\vc_x64_lib;..\ffmpeg\Windows\x86_64\lib;..\OpenAL\libs\Win64 - 0x200000000 - true - false - - - %windir%\sysnative\cmd.exe /c "$(SolutionDir)\Utilities\git-version-gen.cmd" - Updating git-version.h - - diff --git a/rpcs3/stdafx_gui.h b/rpcs3/stdafx_gui.h index 083c9525c1..c005be3999 100644 --- a/rpcs3/stdafx_gui.h +++ b/rpcs3/stdafx_gui.h @@ -1,5 +1,7 @@ #pragma once +#include "restore_new.h" + #ifndef QT_UI #ifdef _MSC_VER #pragma warning(push, 0) @@ -30,3 +32,5 @@ #pragma warning(pop) #endif #endif + +#include "define_new_memleakdetect.h" diff --git a/rpcs3_debug.props b/rpcs3_debug.props new file mode 100644 index 0000000000..64d1781b74 --- /dev/null +++ b/rpcs3_debug.props @@ -0,0 +1,19 @@ + + + + + + true + + + + + Disabled + MultiThreadedDebugDLL + + + wxmsw31ud_adv.lib;wxbase31ud.lib;wxmsw31ud_core.lib;wxmsw31ud_aui.lib;wxtiffd.lib;wxjpegd.lib;wxpngd.lib;wxzlibd.lib;%(AdditionalDependencies) + + + + \ No newline at end of file diff --git a/rpcs3_default.props b/rpcs3_default.props new file mode 100644 index 0000000000..85f925671c --- /dev/null +++ b/rpcs3_default.props @@ -0,0 +1,29 @@ + + + + + + + + true + .\;..\;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include;$(UniversalCRT_IncludePath);..\minidx9\Include;..\minidx12\Include;..\glm + Level3 + false + true + Use + $(Platform)\$(Configuration).pch + $(Platform)\$(Configuration).pdb + /FS %(AdditionalOptions) + + + Windows + true + odbc32.lib;odbccp32.lib;comctl32.lib;ws2_32.lib;shlwapi.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;%(AdditionalDependencies) + true + ..\wxWidgets\lib\vc_x64_lib;..\ffmpeg\Windows\x86_64\lib;..\OpenAL\libs\Win64 + 0x10000 + false + + + + \ No newline at end of file diff --git a/rpcs3_llvm.props b/rpcs3_llvm.props new file mode 100644 index 0000000000..cd5c07532a --- /dev/null +++ b/rpcs3_llvm.props @@ -0,0 +1,17 @@ + + + + + + + + LLVM_AVAILABLE;%(PreprocessorDefinitions) + + + ..\llvm_build\Debug\lib + ..\llvm_build\Release\lib + LLVMMCJIT.lib;LLVMRuntimeDyld.lib;LLVMVectorize.lib;LLVMX86CodeGen.lib;LLVMX86Disassembler.lib;LLVMExecutionEngine.lib;LLVMAsmPrinter.lib;LLVMSelectionDAG.lib;LLVMCodeGen.lib;LLVMScalarOpts.lib;LLVMInstCombine.lib;LLVMTransformUtils.lib;LLVMipa.lib;LLVMAnalysis.lib;LLVMTarget.lib;LLVMX86Desc.lib;LLVMX86AsmPrinter.lib;LLVMObject.lib;LLVMMCParser.lib;LLVMBitReader.lib;LLVMCore.lib;LLVMX86Utils.lib;LLVMMC.lib;LLVMX86Info.lib;LLVMSupport.lib;LLVMMCDisassembler.lib + + + + \ No newline at end of file diff --git a/rpcs3_memleak.props b/rpcs3_memleak.props new file mode 100644 index 0000000000..f26f6fc5b7 --- /dev/null +++ b/rpcs3_memleak.props @@ -0,0 +1,12 @@ + + + + + + + + MSVC_CRT_MEMLEAK_DETECTION;%(PreprocessorDefinitions) + + + + \ No newline at end of file diff --git a/rpcs3_release.props b/rpcs3_release.props new file mode 100644 index 0000000000..73dcfcf2be --- /dev/null +++ b/rpcs3_release.props @@ -0,0 +1,21 @@ + + + + + + + + Full + true + true + Speed + MultiThreadedDLL + + + wxmsw31u_adv.lib;wxbase31u.lib;wxmsw31u_core.lib;wxmsw31u_aui.lib;wxtiff.lib;wxjpeg.lib;wxpng.lib;wxzlib.lib;%(AdditionalDependencies) + true + true + + + + \ No newline at end of file