From e815f42e4c3fa96f27a79cb1122993eda6b04855 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Mon, 11 Mar 2019 02:22:47 -0500 Subject: [PATCH] add cmake support --- .gitattributes | 3 + .gitignore | 112 +------ CMakeLists.txt | 377 +++++++++++++++++++++ gen-wins-project.bat | 76 +++++ projects/cxbx/CMakeLists.txt | 175 ++++++++++ projects/debugger/README.md | 2 + projects/libtom/CMakeLists.txt | 3 + projects/libtom/crypt/CMakeLists.txt | 468 +++++++++++++++++++++++++++ projects/libtom/math/CMakeLists.txt | 172 ++++++++++ projects/vsbc/CMakeLists.txt | 40 +++ src/CxbxDebugger/CMakeLists.txt | 133 ++++++++ src/CxbxVersion.h | 4 +- src/gui/WndMain.cpp | 2 +- src/version.h.in | 3 + 14 files changed, 1460 insertions(+), 110 deletions(-) create mode 100644 CMakeLists.txt create mode 100644 gen-wins-project.bat create mode 100644 projects/cxbx/CMakeLists.txt create mode 100644 projects/debugger/README.md create mode 100644 projects/libtom/CMakeLists.txt create mode 100644 projects/libtom/crypt/CMakeLists.txt create mode 100644 projects/libtom/math/CMakeLists.txt create mode 100644 projects/vsbc/CMakeLists.txt create mode 100644 src/CxbxDebugger/CMakeLists.txt create mode 100644 src/version.h.in diff --git a/.gitattributes b/.gitattributes index cfd07fbb0..e42ecabd6 100644 --- a/.gitattributes +++ b/.gitattributes @@ -17,3 +17,6 @@ *.PDF diff=astextplain *.rtf diff=astextplain *.RTF diff=astextplain + +[Cc][Mm]ake[Ll]ists.txt text=lf +*.bat text=lf diff --git a/.gitignore b/.gitignore index 0fb3ab4f6..a04ed3866 100644 --- a/.gitignore +++ b/.gitignore @@ -1,115 +1,13 @@ -# Compiled Object files -*.slo -*.lo -*.o +# Build folders +[Bb]uild/ +[Bb]uild-*/ -# Compiled Dynamic libraries -*.so -*.dylib - -# Compiled Static libraries -*.lai -*.la -*.a - -#OS junk files -[Tt]humbs.db -*.DS_Store - -#Documentation output -doc/doxygen/html - -#Export -export - -#Visual Studio files -*.[Oo]bj -*.user +# Generated files *.aps -*.pch -*.vspscc -*.vssscc -*_i.c -*_p.c -*.ncb -*.suo -*.tlb -*.tlh -*.bak -*.ilk -*.log -*.sbr -*.sdf -*.opensdf -*.unsuccessfulbuild -obj/ -[Bb]in -build/win32/[Dd]ebug*/ -build/win32/[Rr]elease*/ -build/win32/Win32/ -build/win32/Cxbx.ChildProcessDbgSettings -Build/win32/ipch/ -Ankh.NoLoad -*.ChildProcessDbgSettings - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Visual Studio 2015/2017 cache files -.vs/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -#MonoDevelop -*.pidb -*.userprefs - -#Tooling -_ReSharper*/ -*.resharper -[Tt]est[Rr]esult* -*.sass-cache - -#Subversion files -.svn - -# Office Temp Files -~$* - -#NuGet -packages/ - -#ncrunch -*ncrunch* -*crunch*.local.xml - -# visual studio database projects -*.dbmdl #Test files -*.testsettings -src/Version.h -*.opendb -*.db +src/[Vv]ersion.h *.xbe -*.ipch -*.db-shm -*.db-wal # Last known git hash LAST_GIT_VERSION diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000..05f155aea --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,377 @@ +cmake_minimum_required (VERSION 3.8) + +# Enforce to use Windows 8.1 SDK +if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows") + set(CMAKE_SYSTEM_VERSION 8.1 CACHE TYPE INTERNAL FORCE) +endif() + +project(Cxbx-Reloaded) + +# Allow devs to disable regeneration option. +# Suppress extra stuff from generated solution +set(CMAKE_SUPPRESS_REGENERATION true) + +# Output all binary files into one folder +if(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${Cxbx-Reloaded_BINARY_DIR}/bin") +endif() + +set(SUBHOOK_TESTS OFF) +set(SUBHOOK_INSTALL OFF) +add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/import/subhook") + +add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/import/XbSymbolDatabase") + +# Not require since only include a header file +#add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/import/simpleini") + +#add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/import/SDL2") + +add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/import/cs_x86") + +# Cxbx-Reloaded projects +set(CXBXR_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}) + +add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/projects/libtom") + +find_package(Git) + +if(Git_FOUND) + message("Git found: ${GIT_EXECUTABLE}") + + execute_process( + COMMAND git describe --always --tags --first-parent + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE _GIT_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + message("Git version: " ${_GIT_VERSION}) +else() + set(_GIT_VERSION "unknown") +endif() + +# Appears to update whenever define has changed. +configure_file( + "${CXBXR_ROOT_DIR}/src/version.h.in" "${CXBXR_ROOT_DIR}/src/version.h" @ONLY + NEWLINE_STYLE LF +) + +add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/projects/vsbc") + +# Split the files into group for which project is likely +# going to be used for both header and source files. +# Then move only specific project files into their +# cmakelist file in finalize stage. +# Any of files being shared between two projects need to +# leave in parent cmakelist (here) for better sync across +# child projects. + +# Common (GUI and Emulator) +file (GLOB CXBXR_HEADER_COMMON + "${CXBXR_ROOT_DIR}/src/common/crypto/EmuDes.h" + "${CXBXR_ROOT_DIR}/src/common/crypto/EmuRsa.h" + "${CXBXR_ROOT_DIR}/src/common/crypto/EmuSha.h" + "${CXBXR_ROOT_DIR}/src/common/crypto/LibRc4.h" + "${CXBXR_ROOT_DIR}/src/common/CxbxDebugger.h" + "${CXBXR_ROOT_DIR}/src/common/EmuEEPROM.h" + "${CXBXR_ROOT_DIR}/src/common/Error.h" + "${CXBXR_ROOT_DIR}/src/common/input/InputConfig.h" + "${CXBXR_ROOT_DIR}/src/common/input/SDL2_Device.h" + "${CXBXR_ROOT_DIR}/src/common/IPCHybrid.hpp" + "${CXBXR_ROOT_DIR}/src/common/Logging.h" + "${CXBXR_ROOT_DIR}/src/common/ReservedMemory.h" + "${CXBXR_ROOT_DIR}/src/common/Settings.hpp" + "${CXBXR_ROOT_DIR}/src/common/Timer.h" + "${CXBXR_ROOT_DIR}/src/common/util/CPUID.h" + "${CXBXR_ROOT_DIR}/src/common/util/crc32c.h" + "${CXBXR_ROOT_DIR}/src/common/util/CxbxUtil.h" + "${CXBXR_ROOT_DIR}/src/common/win32/AlignPosfix1.h" + "${CXBXR_ROOT_DIR}/src/common/win32/AlignPrefix1.h" + "${CXBXR_ROOT_DIR}/src/common/win32/DInputController.h" + "${CXBXR_ROOT_DIR}/src/common/win32/EmuShared.h" + "${CXBXR_ROOT_DIR}/src/common/win32/Mutex.h" + "${CXBXR_ROOT_DIR}/src/common/win32/Threads.h" + "${CXBXR_ROOT_DIR}/src/common/win32/XBPortMapping.h" + "${CXBXR_ROOT_DIR}/src/common/xbdm/CxbxXbdm.h" + "${CXBXR_ROOT_DIR}/src/common/xbe/Xbe.h" + "${CXBXR_ROOT_DIR}/src/common/xbe/XbePrinter.h" + "${CXBXR_ROOT_DIR}/src/common/xdvdfs-tools/buffered_io.h" + "${CXBXR_ROOT_DIR}/src/common/xdvdfs-tools/xdvdfs.h" + "${CXBXR_ROOT_DIR}/src/Cxbx.h" + "${CXBXR_ROOT_DIR}/src/CxbxVersion.h" + "${CXBXR_ROOT_DIR}/src/version.h" +) + +# GUI v1 +file (GLOB CXBXR_HEADER_GUIv1 + "${CXBXR_ROOT_DIR}/src/gui/DbgConsole.h" + "${CXBXR_ROOT_DIR}/src/gui/DlgAbout.h" + "${CXBXR_ROOT_DIR}/src/gui/DlgAudioConfig.h" + "${CXBXR_ROOT_DIR}/src/gui/DlgControllerConfig.h" + "${CXBXR_ROOT_DIR}/src/gui/DlgEepromConfig.h" + "${CXBXR_ROOT_DIR}/src/gui/DlgLoggingConfig.h" + "${CXBXR_ROOT_DIR}/src/gui/DlgNetworkConfig.h" + "${CXBXR_ROOT_DIR}/src/gui/DlgVideoConfig.h" + "${CXBXR_ROOT_DIR}/src/gui/DlgXboxControllerPortMapping.h" + "${CXBXR_ROOT_DIR}/src/gui/ResCxbx.h" + "${CXBXR_ROOT_DIR}/src/gui/Wnd.h" + "${CXBXR_ROOT_DIR}/src/gui/WndMain.h" +) + +# Emulator (module) +file (GLOB CXBXR_HEADER_EMU + "${CXBXR_ROOT_DIR}/src/common/util/gloffscreen/glextensions.h" + "${CXBXR_ROOT_DIR}/src/common/util/gloffscreen/gloffscreen.h" + "${CXBXR_ROOT_DIR}/src/common/XADPCM.h" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/Direct3D9.h" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/WalkIndexBuffer.h" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/ResourceTracker.h" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbConvert.h" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbD3D8Logging.h" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbD3D8Types.h" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbPixelShader.h" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbPushBuffer.h" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbState.h" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbVertexBuffer.h" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbVertexShader.h" + "${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSound.hpp" + "${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSoundInline.hpp" + "${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSoundLogging.hpp" + "${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/XbDSoundLogging.hpp" + "${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/XbDSoundTypes.h" + "${CXBXR_ROOT_DIR}/src/core/hle/Intercept.hpp" + "${CXBXR_ROOT_DIR}/src/core/hle/Patches.hpp" + "${CXBXR_ROOT_DIR}/src/core/hle/XACTENG/XactEng.h" + "${CXBXR_ROOT_DIR}/src/core/hle/XAPI/OHCI/XInput/DInput.h" + "${CXBXR_ROOT_DIR}/src/core/hle/XAPI/OHCI/XInput/XInput.h" + "${CXBXR_ROOT_DIR}/src/core/hle/XAPI/Xapi.h" + "${CXBXR_ROOT_DIR}/src/core/hle/XGRAPHIC/XGraphic.h" + "${CXBXR_ROOT_DIR}/src/core/hle/XONLINE/XOnline.h" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlAvModes.h" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlKe.h" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlKi.h" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlLogging.h" + "${CXBXR_ROOT_DIR}/src/core/kernel/init/CxbxKrnl.h" + "${CXBXR_ROOT_DIR}/src/core/kernel/memory-manager/PhysicalMemory.h" + "${CXBXR_ROOT_DIR}/src/core/kernel/memory-manager/PoolManager.h" + "${CXBXR_ROOT_DIR}/src/core/kernel/memory-manager/VMManager.h" + "${CXBXR_ROOT_DIR}/src/core/kernel/support/Emu.h" + "${CXBXR_ROOT_DIR}/src/core/kernel/support/EmuFile.h" + "${CXBXR_ROOT_DIR}/src/core/kernel/support/EmuFS.h" + "${CXBXR_ROOT_DIR}/src/core/kernel/support/EmuNtDll.h" + "${CXBXR_ROOT_DIR}/src/core/kernel/support/EmuXTL.h" + "${CXBXR_ROOT_DIR}/src/devices/ADM1032Device.h" + "${CXBXR_ROOT_DIR}/src/devices/EEPROMDevice.h" + "${CXBXR_ROOT_DIR}/src/devices/EmuNVNet.h" + "${CXBXR_ROOT_DIR}/src/devices/LED.h" + "${CXBXR_ROOT_DIR}/src/devices/MCPXDevice.h" + "${CXBXR_ROOT_DIR}/src/devices/PCIBus.h" + "${CXBXR_ROOT_DIR}/src/devices/PCIDevice.h" + "${CXBXR_ROOT_DIR}/src/devices/SMBus.h" + "${CXBXR_ROOT_DIR}/src/devices/SMCDevice.h" + "${CXBXR_ROOT_DIR}/src/devices/SMDevice.h" + "${CXBXR_ROOT_DIR}/src/devices/usb/Hub.h" + "${CXBXR_ROOT_DIR}/src/devices/usb/OHCI.h" + "${CXBXR_ROOT_DIR}/src/devices/usb/UsbCommon.h" + "${CXBXR_ROOT_DIR}/src/devices/usb/USBDevice.h" + "${CXBXR_ROOT_DIR}/src/devices/usb/XidGamepad.h" + "${CXBXR_ROOT_DIR}/src/devices/video/nv2a.h" + "${CXBXR_ROOT_DIR}/src/devices/video/nv2a_debug.h" + "${CXBXR_ROOT_DIR}/src/devices/video/nv2a_int.h" + "${CXBXR_ROOT_DIR}/src/devices/video/nv2a_psh.h" + "${CXBXR_ROOT_DIR}/src/devices/video/nv2a_regs.h" + "${CXBXR_ROOT_DIR}/src/devices/video/nv2a_shaders.h" + "${CXBXR_ROOT_DIR}/src/devices/video/nv2a_shaders_common.h" + "${CXBXR_ROOT_DIR}/src/devices/video/nv2a_vsh.h" + "${CXBXR_ROOT_DIR}/src/devices/video/qemu-thread.h" + "${CXBXR_ROOT_DIR}/src/devices/video/queue.h" + "${CXBXR_ROOT_DIR}/src/devices/video/swizzle.h" + "${CXBXR_ROOT_DIR}/src/devices/video/vga.h" + "${CXBXR_ROOT_DIR}/src/devices/x86/EmuX86.h" + "${CXBXR_ROOT_DIR}/src/devices/Xbox.h" +) + +# Common (GUI and Emulator) +file (GLOB CXBXR_SOURCE_COMMON + "${CXBXR_ROOT_DIR}/src/common/crypto/EmuDes.cpp" + "${CXBXR_ROOT_DIR}/src/common/crypto/EmuRsa.cpp" + "${CXBXR_ROOT_DIR}/src/common/crypto/EmuSha.cpp" + "${CXBXR_ROOT_DIR}/src/common/crypto/LibRc4.cpp" + "${CXBXR_ROOT_DIR}/src/common/CxbxDebugger.cpp" + "${CXBXR_ROOT_DIR}/src/common/EmuEEPROM.cpp" + "${CXBXR_ROOT_DIR}/src/common/Error.cpp" + "${CXBXR_ROOT_DIR}/src/common/input/InputConfig.cpp" + "${CXBXR_ROOT_DIR}/src/common/input/SDL2_Device.cpp" + "${CXBXR_ROOT_DIR}/src/common/Logging.cpp" + "${CXBXR_ROOT_DIR}/src/common/Settings.cpp" + "${CXBXR_ROOT_DIR}/src/common/Timer.cpp" + "${CXBXR_ROOT_DIR}/src/common/util/crc32c.cpp" + "${CXBXR_ROOT_DIR}/src/common/util/CxbxUtil.cpp" + "${CXBXR_ROOT_DIR}/src/common/win32/DInputController.cpp" + "${CXBXR_ROOT_DIR}/src/common/win32/EmuShared.cpp" + "${CXBXR_ROOT_DIR}/src/common/win32/InlineFunc.cpp" + "${CXBXR_ROOT_DIR}/src/common/win32/IPCWindows.cpp" + "${CXBXR_ROOT_DIR}/src/common/win32/Mutex.cpp" + "${CXBXR_ROOT_DIR}/src/common/win32/Threads.cpp" + "${CXBXR_ROOT_DIR}/src/common/win32/XBPortMapping.cpp" + "${CXBXR_ROOT_DIR}/src/common/xbdm/CxbxXbdm.cpp" + "${CXBXR_ROOT_DIR}/src/common/xbe/Xbe.cpp" + "${CXBXR_ROOT_DIR}/src/common/xbe/XbePrinter.cpp" + "${CXBXR_ROOT_DIR}/src/common/xdvdfs-tools/buffered_io.cpp" + "${CXBXR_ROOT_DIR}/src/common/xdvdfs-tools/xdvdfs.cpp" + "${CXBXR_ROOT_DIR}/src/gui/DbgConsole.cpp" + "${CXBXR_ROOT_DIR}/src/HighPerformanceGraphicsEnabler.c" +) + +# GUI v1 +file (GLOB CXBXR_SOURCE_GUIv1 + "${CXBXR_ROOT_DIR}/src/gui/DlgAbout.cpp" + "${CXBXR_ROOT_DIR}/src/gui/DlgAudioConfig.cpp" + "${CXBXR_ROOT_DIR}/src/gui/DlgControllerConfig.cpp" + "${CXBXR_ROOT_DIR}/src/gui/DlgEepromConfig.cpp" + "${CXBXR_ROOT_DIR}/src/gui/DlgLoggingConfig.cpp" + "${CXBXR_ROOT_DIR}/src/gui/DlgNetworkConfig.cpp" + "${CXBXR_ROOT_DIR}/src/gui/DlgVideoConfig.cpp" + "${CXBXR_ROOT_DIR}/src/gui/DlgXboxControllerPortMapping.cpp" + "${CXBXR_ROOT_DIR}/src/gui/WinMain.cpp" + "${CXBXR_ROOT_DIR}/src/gui/Wnd.cpp" + "${CXBXR_ROOT_DIR}/src/gui/WndMain.cpp" +) + +# Emulator (module) +# TODO: Merge CXBXR_KRNL_CPP into CXBXR_SOURCE_EMU once cxbx project is removed. +file (GLOB CXBXR_KRNL_CPP + "${CXBXR_ROOT_DIR}/src/core/kernel/init/CxbxKrnl.cpp" +) +file (GLOB CXBXR_SOURCE_EMU + "${CXBXR_KRNL_CPP}" + "${CXBXR_ROOT_DIR}/HighPerformanceGraphicsEnabler.c" + "${CXBXR_ROOT_DIR}/src/common/util/gloffscreen/glextensions.cpp" + "${CXBXR_ROOT_DIR}/src/common/util/gloffscreen/gloffscreen_common.cpp" + "${CXBXR_ROOT_DIR}/src/common/util/gloffscreen/gloffscreen_wgl.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/Direct3D9.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/WalkIndexBuffer.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/ResourceTracker.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbConvert.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbD3D8Logging.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbPixelShader.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbPushBuffer.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbState.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbVertexBuffer.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbVertexShader.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSound.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSoundLogging.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/XbDSoundLogging.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/Intercept.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/Patches.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/XACTENG/XactEng.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/XAPI/OHCI/XInput/DInput.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/XAPI/OHCI/XInput/XInput.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/XAPI/Xapi.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/XGRAPHIC/XGraphic.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/XONLINE/XOnline.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnl.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlAv.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlDbg.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlEx.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlFs.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlHal.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlIo.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlKd.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlKe.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlKi.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlLogging.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlMm.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlNt.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlOb.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlPhy.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlPs.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlRtl.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlXbox.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlXc.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/EmuKrnlXe.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/exports/KernelThunk.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/memory-manager/PhysicalMemory.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/memory-manager/PoolManager.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/memory-manager/VMManager.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/support/Emu.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/support/EmuFile.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/support/EmuFS.cpp" + "${CXBXR_ROOT_DIR}/src/core/kernel/support/EmuNtDll.cpp" + "${CXBXR_ROOT_DIR}/src/devices/ADM1032Device.cpp" + "${CXBXR_ROOT_DIR}/src/devices/EEPROMDevice.cpp" + "${CXBXR_ROOT_DIR}/src/devices/EmuNVNet.cpp" + "${CXBXR_ROOT_DIR}/src/devices/MCPXDevice.cpp" + "${CXBXR_ROOT_DIR}/src/devices/PCIBus.cpp" + "${CXBXR_ROOT_DIR}/src/devices/PCIDevice.cpp" + "${CXBXR_ROOT_DIR}/src/devices/SMBus.cpp" + "${CXBXR_ROOT_DIR}/src/devices/SMCDevice.cpp" + "${CXBXR_ROOT_DIR}/src/devices/SMDevice.cpp" + "${CXBXR_ROOT_DIR}/src/devices/usb/Hub.cpp" + "${CXBXR_ROOT_DIR}/src/devices/usb/OHCI.cpp" + "${CXBXR_ROOT_DIR}/src/devices/usb/USBDevice.cpp" + "${CXBXR_ROOT_DIR}/src/devices/usb/XidGamepad.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_DEBUG.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PBUS.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PCOUNTER.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PCRTC.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PFB.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PFIFO.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PGRAPH.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PMC.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PRAMDAC.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PRAMIN.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PRMA.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PRMCIO.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PRMDIO.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PRMFB.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PRMVIO.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PSTRAPS.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PTIMER.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PTV.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PVIDEO.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_PVPE.cpp" + #"${CXBXR_ROOT_DIR}/src/devices/video/EmuNV2A_USER.cpp" + "${CXBXR_ROOT_DIR}/src/devices/video/nv2a.cpp" + "${CXBXR_ROOT_DIR}/src/devices/video/nv2a_debug.cpp" + "${CXBXR_ROOT_DIR}/src/devices/video/nv2a_psh.cpp" + "${CXBXR_ROOT_DIR}/src/devices/video/nv2a_shaders.cpp" + "${CXBXR_ROOT_DIR}/src/devices/video/nv2a_vsh.cpp" + "${CXBXR_ROOT_DIR}/src/devices/video/qemu-thread-win32.cpp" + "${CXBXR_ROOT_DIR}/src/devices/video/swizzle.cpp" + "${CXBXR_ROOT_DIR}/src/devices/x86/EmuX86.cpp" + "${CXBXR_ROOT_DIR}/src/devices/Xbox.cpp" +) + +add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/projects/cxbx") + +# Issues with compile (the same with develop branch) and +# for some reason did not put the files into virtual folder? +# Might need to put the list in the source folder for workaround fix. +#add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/projects/debugger") +add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/src/CxbxDebugger") + +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") + # Configure startup project + set_property(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}" PROPERTY VS_STARTUP_PROJECT cxbx) +endif() + +# Refuse to exclude due to install is not set to optional +#set_target_properties(cstool +# PROPERTIES EXCLUDE_FROM_ALL TRUE +#) +set_target_properties(Tests_cs_x86 + PROPERTIES EXCLUDE_FROM_ALL TRUE +) + +# Cxbx-Reloaded project with third-party libraries +set_target_properties(cxbxr-debugger cs_x86 Tests_cs_x86 capstone-shared cstool + PROPERTIES FOLDER Cxbx-Reloaded/debugger +) + +# CxbxR-Debugger project with third-party libraries +set_target_properties(cxbx subhook XbSymbolDatabase vsbc libtommath libtomcrypt + PROPERTIES FOLDER Cxbx-Reloaded +) + diff --git a/gen-wins-project.bat b/gen-wins-project.bat new file mode 100644 index 000000000..6cd4f3f7b --- /dev/null +++ b/gen-wins-project.bat @@ -0,0 +1,76 @@ +@ECHO off + +:: LICENSE: Public Domain +:: MADE BY: RadWolfie (2019) + +SETLOCAL + +IF "%1"=="" ( +GOTO :helpInfo +) +IF /I "%1"=="-h" ( +GOTO :helpInfo +) +IF /I "%1"=="-help" ( +GOTO :helpInfo +) + +IF /I "%1"=="all" ( +SET x86=1 +SET x64=1 +SET ARM=1 +SET ARM64=1 +ECHO Generating all available projects... +) +IF /I "%1"=="x86" ( +SET x86=1 +) +IF /I "%1"=="x64" ( +SET x64=1 +) +IF /I "%1"=="ARM" ( +SET ARM=1 +) +IF /I "%1"=="ARM64" ( +SET ARM64=1 +) + +IF DEFINED x86 ( +ECHO Generating x86 project... +mkdir build-x86 & pushd build-x86 +cmake -G "Visual Studio 15 2017" -A Win32 .. +popd +) +IF DEFINED x64 ( +ECHO Generating x64 project... +mkdir build-x64 & pushd build-x64 +cmake -G "Visual Studio 15 2017" -A x64 .. +popd +) +IF DEFINED ARM ( +ECHO Generating ARM project... +mkdir build-arm & pushd build-arm +cmake -G "Visual Studio 15 2017" -A ARM .. +popd +) +IF DEFINED ARM64 ( +ECHO Generating ARM64 project... +mkdir build-arm64 & pushd build-arm64 +cmake -G "Visual Studio 15 2017" -A ARM64 .. +popd +) +GOTO :end + +:helpInfo +ECHO Available options are: +ECHO - all +ECHO - x86 +ECHO - x64 +ECHO - ARM +ECHO - ARM64 +PAUSE +GOTO :end + +:end +:: Clear local variables. +ENDLOCAL diff --git a/projects/cxbx/CMakeLists.txt b/projects/cxbx/CMakeLists.txt new file mode 100644 index 000000000..83fd5e749 --- /dev/null +++ b/projects/cxbx/CMakeLists.txt @@ -0,0 +1,175 @@ +cmake_minimum_required (VERSION 3.12) +project(cxbx) + +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_STANDARD 17) + +# Suppress extra stuff from generated solution +set(CMAKE_SUPPRESS_REGENERATION true) + +include_directories( + "${CXBXR_ROOT_DIR}/src" + "${CXBXR_ROOT_DIR}/src/common" + "${CXBXR_ROOT_DIR}/src/common/Win32" + "${CXBXR_ROOT_DIR}/import/OpenXDK/include" + "${CXBXR_ROOT_DIR}/import/distorm/include" + "${CXBXR_ROOT_DIR}/import/glew-2.0.0/include" + "${CXBXR_ROOT_DIR}/import/subhook" + "${CXBXR_ROOT_DIR}/import/DirectX9/include" + "${CXBXR_ROOT_DIR}/import/XbSymbolDatabase" + "${CXBXR_ROOT_DIR}/import/simpleini" + "${CXBXR_ROOT_DIR}/import/libtommath" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers" + "${CXBXR_ROOT_DIR}/import/winpcap/Include" +) + +link_directories( + "${CXBXR_ROOT_DIR}/import/distorm/lib/Win32" + "${CXBXR_ROOT_DIR}/import/glew-2.0.0/lib/Release/Win32" + "${CXBXR_ROOT_DIR}/import/DirectX9/lib" + "${CXBXR_ROOT_DIR}/import/winpcap/Lib" +) + +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") + add_compile_definitions( + _CRT_SECURE_NO_WARNINGS + # Windows 7 minimum requirement + _WIN32_WINNT=0x0601 + + LTM_DESC + USE_LTM + LTC_NO_TEST + LTC_NO_CIPHERS + LTC_NO_HASHES + LTC_NO_MACS + LTC_NO_PRNGS + LTC_NO_MISC + LTC_NO_PROTOTYPES + ) + add_compile_options( + /EHs + /MP + /GF + /arch:SSE2 + ) +endif() + +add_compile_definitions(NOMINMAX +) + +file (GLOB RESOURCES + + "${CXBXR_ROOT_DIR}/CONTRIBUTORS" + "${CXBXR_ROOT_DIR}/COPYING" + "${CXBXR_ROOT_DIR}/README.md" + "${CXBXR_ROOT_DIR}/resource/.editorconfig" + "${CXBXR_ROOT_DIR}/resource/Cxbx.rc" + "${CXBXR_ROOT_DIR}/resource/Cxbx-R.ico" + "${CXBXR_ROOT_DIR}/resource/Logo.bmp" + "${CXBXR_ROOT_DIR}/resource/Logo-License-CC4.bmp" + "${CXBXR_ROOT_DIR}/src/.editorconfig" +) + +source_group(TREE ${CXBXR_ROOT_DIR}/src PREFIX header FILES + ${CXBXR_HEADER_GUIv1} + ${CXBXR_HEADER_COMMON} + ${CXBXR_HEADER_EMU} +) + +source_group(TREE ${CXBXR_ROOT_DIR}/src PREFIX source FILES + ${CXBXR_SOURCE_GUIv1} + ${CXBXR_SOURCE_COMMON} + ${CXBXR_SOURCE_EMU} +) + +source_group(TREE ${CXBXR_ROOT_DIR} FILES ${RESOURCES}) + +add_executable(cxbx WIN32 ${RESOURCES} + ${CXBXR_HEADER_GUIv1} + ${CXBXR_HEADER_COMMON} + ${CXBXR_HEADER_EMU} + ${CXBXR_SOURCE_GUIv1} + ${CXBXR_SOURCE_COMMON} + ${CXBXR_SOURCE_EMU} + ${CXBXR_GIT_VERSION_H} +) + +# Link and compile flags +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") + + set_target_properties(cxbx PROPERTIES + LINK_FLAGS " + /INCREMENTAL:NO + /LARGEADDRESSAWARE + /FIXED + /SAFESEH:NO + /DYNAMICBASE:NO + /BASE:0x10000 + /STACK:65536,65536 + /NODEFAULTLIB:libcmt + /DELAYLOAD:wpcap.dll + " + LINK_FLAGS_RELEASE " + /LTCG + " + ) + + # Set optimization options for release build + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} + /Zi + /Ob2 + /Oi + /Ot + /GL + + /GS- + /Gy + /Qpar + " + ) + + # disable optimization for CxbxKrnl.cpp file + set_source_files_properties( + ${CXBXR_KRNL_CPP} PROPERTIES COMPILE_FLAGS "/Od /GL-" + ) +endif() + +# Windows libraries +set(WINS_LIB + legacy_stdio_definitions + d3d9 + dinput8 + dxguid + odbc32 + odbccp32 + Shlwapi + dxerr9 + ws2_32 + dsound + winmm + ddraw + d3dx9 + dbghelp + comctl32 + XINPUT9_1_0 + Iphlpapi + wpcap +) + +target_link_libraries(cxbx + PUBLIC XbSymbolDatabase + subhook + vsbc + libtomcrypt + + ${WINS_LIB} +) + +add_dependencies(cxbx cxbxr-debugger) + +set(CXBXR_GLEW_DLL "${CXBXR_ROOT_DIR}/import/glew-2.0.0/bin/Release/Win32/glew32.dll") + +# Copy glew32.dll to build type's folder after build. +add_custom_command(TARGET cxbx POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${CXBXR_GLEW_DLL} $ +) diff --git a/projects/debugger/README.md b/projects/debugger/README.md new file mode 100644 index 000000000..ea256070d --- /dev/null +++ b/projects/debugger/README.md @@ -0,0 +1,2 @@ +Since cmake isn't able to perform virtual folder group from source_group command. +Go to /src/CxbxDebugger directory to find CMakeLists.txt file for any updates if need to. \ No newline at end of file diff --git a/projects/libtom/CMakeLists.txt b/projects/libtom/CMakeLists.txt new file mode 100644 index 000000000..f0b0124ae --- /dev/null +++ b/projects/libtom/CMakeLists.txt @@ -0,0 +1,3 @@ + +add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/crypt") +add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/math") diff --git a/projects/libtom/crypt/CMakeLists.txt b/projects/libtom/crypt/CMakeLists.txt new file mode 100644 index 000000000..d142f87dd --- /dev/null +++ b/projects/libtom/crypt/CMakeLists.txt @@ -0,0 +1,468 @@ +cmake_minimum_required (VERSION 3.8) +project(libtomcrypt) + +# Suppress extra stuff from generated solution +set(CMAKE_SUPPRESS_REGENERATION true) + +if ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC") + add_compile_definitions( + _CRT_SECURE_NO_WARNINGS + _CRT_NONSTDC_NO_DEPRECATE + ) +endif() + +add_compile_definitions( + LTM_DESC + LTC_SOURCE + LTC_NO_TEST + LTC_NO_PROTOTYPES +) + +include_directories( + "${CXBXR_ROOT_DIR}/import/libtommath" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers" +) + +file (GLOB HEADERS + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers/tomcrypt.h" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers/tomcrypt_argchk.h" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers/tomcrypt_cfg.h" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers/tomcrypt_cipher.h" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers/tomcrypt_custom.h" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers/tomcrypt_hash.h" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers/tomcrypt_mac.h" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers/tomcrypt_macros.h" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers/tomcrypt_math.h" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers/tomcrypt_misc.h" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers/tomcrypt_pk.h" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers/tomcrypt_pkcs.h" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers/tomcrypt_prng.h" +) + +file (GLOB SOURCES + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/aes/aes.c" +#EXCLUDE "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/aes/aes_tab.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/anubis.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/blowfish.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/camellia.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/cast5.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/des.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/kasumi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/khazad.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/kseed.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/multi2.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/noekeon.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/rc2.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/rc5.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/rc6.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/safer/safer.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/safer/saferp.c" +#EXCLUDE "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/safer/safer_tab.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/skipjack.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/twofish/twofish.c" +#EXCLUDE "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/twofish/twofish_tab.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/ciphers/xtea.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ccm/ccm_add_aad.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ccm/ccm_add_nonce.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ccm/ccm_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ccm/ccm_init.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ccm/ccm_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ccm/ccm_process.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ccm/ccm_reset.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ccm/ccm_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_add_aad.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_decrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_encrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_init.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_setiv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_setiv_rfc7905.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/eax/eax_addheader.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/eax/eax_decrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/eax/eax_decrypt_verify_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/eax/eax_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/eax/eax_encrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/eax/eax_encrypt_authenticate_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/eax/eax_init.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/eax/eax_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/gcm/gcm_add_aad.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/gcm/gcm_add_iv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/gcm/gcm_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/gcm/gcm_gf_mult.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/gcm/gcm_init.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/gcm/gcm_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/gcm/gcm_mult_h.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/gcm/gcm_process.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/gcm/gcm_reset.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/gcm/gcm_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb/ocb_decrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb/ocb_decrypt_verify_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb/ocb_done_decrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb/ocb_done_encrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb/ocb_encrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb/ocb_encrypt_authenticate_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb/ocb_init.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb/ocb_ntz.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb/ocb_shift_xor.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb/ocb_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb/s_ocb_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb3/ocb3_add_aad.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb3/ocb3_decrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb3/ocb3_decrypt_last.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb3/ocb3_decrypt_verify_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb3/ocb3_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb3/ocb3_encrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb3/ocb3_encrypt_authenticate_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb3/ocb3_encrypt_last.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb3/ocb3_init.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb3/ocb3_int_ntz.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb3/ocb3_int_xor_blocks.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/encauth/ocb3/ocb3_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/blake2b.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/blake2s.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/chc/chc.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/helper/hash_file.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/helper/hash_filehandle.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/helper/hash_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/helper/hash_memory_multi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/md2.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/md4.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/md5.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/rmd128.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/rmd160.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/rmd256.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/rmd320.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/sha1.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/sha2/sha224.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/sha2/sha256.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/sha2/sha384.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/sha2/sha512.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/sha2/sha512_224.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/sha2/sha512_256.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/sha3.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/sha3_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/tiger.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/whirl/whirl.c" +#EXCLUDE "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/hashes/whirl/whirltab.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/blake2/blake2bmac.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/blake2/blake2bmac_file.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/blake2/blake2bmac_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/blake2/blake2bmac_memory_multi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/blake2/blake2bmac_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/blake2/blake2smac.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/blake2/blake2smac_file.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/blake2/blake2smac_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/blake2/blake2smac_memory_multi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/blake2/blake2smac_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/f9/f9_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/f9/f9_file.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/f9/f9_init.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/f9/f9_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/f9/f9_memory_multi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/f9/f9_process.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/f9/f9_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/hmac/hmac_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/hmac/hmac_file.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/hmac/hmac_init.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/hmac/hmac_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/hmac/hmac_memory_multi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/hmac/hmac_process.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/hmac/hmac_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/omac/omac_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/omac/omac_file.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/omac/omac_init.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/omac/omac_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/omac/omac_memory_multi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/omac/omac_process.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/omac/omac_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/pelican/pelican.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/pelican/pelican_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/pelican/pelican_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/pmac/pmac_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/pmac/pmac_file.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/pmac/pmac_init.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/pmac/pmac_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/pmac/pmac_memory_multi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/pmac/pmac_ntz.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/pmac/pmac_process.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/pmac/pmac_shift_xor.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/pmac/pmac_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/poly1305/poly1305.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/poly1305/poly1305_file.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/poly1305/poly1305_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/poly1305/poly1305_memory_multi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/poly1305/poly1305_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/xcbc/xcbc_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/xcbc/xcbc_file.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/xcbc/xcbc_init.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/xcbc/xcbc_memory.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/xcbc/xcbc_memory_multi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/xcbc/xcbc_process.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/mac/xcbc/xcbc_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/math/fp/ltc_ecc_fp_mulmod.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/math/gmp_desc.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/math/ltm_desc.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/math/multi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/math/radix_to_bin.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/math/rand_bn.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/math/rand_prime.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/math/tfm_desc.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/adler32.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/base64/base64_decode.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/base64/base64_encode.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/burn_stack.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/compare_testvector.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crc32.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_argchk.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_cipher_descriptor.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_cipher_is_valid.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_constants.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_find_cipher.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_find_cipher_any.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_find_cipher_id.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_find_hash.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_find_hash_any.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_find_hash_id.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_find_hash_oid.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_find_prng.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_fsa.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_hash_descriptor.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_hash_is_valid.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_inits.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_ltc_mp_descriptor.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_prng_descriptor.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_prng_is_valid.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_prng_rng_descriptor.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_register_all_ciphers.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_register_all_hashes.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_register_all_prngs.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_register_cipher.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_register_hash.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_register_prng.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_sizes.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_unregister_cipher.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_unregister_hash.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/crypt/crypt_unregister_prng.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/error_to_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/hkdf/hkdf.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/hkdf/hkdf_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/mem_neq.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/pkcs5/pkcs_5_1.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/pkcs5/pkcs_5_2.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/pkcs5/pkcs_5_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/pk_get_oid.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/misc/zeromem.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/cbc/cbc_decrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/cbc/cbc_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/cbc/cbc_encrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/cbc/cbc_getiv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/cbc/cbc_setiv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/cbc/cbc_start.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/cfb/cfb_decrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/cfb/cfb_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/cfb/cfb_encrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/cfb/cfb_getiv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/cfb/cfb_setiv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/cfb/cfb_start.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ctr/ctr_decrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ctr/ctr_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ctr/ctr_encrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ctr/ctr_getiv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ctr/ctr_setiv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ctr/ctr_start.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ctr/ctr_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ecb/ecb_decrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ecb/ecb_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ecb/ecb_encrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ecb/ecb_start.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/f8/f8_decrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/f8/f8_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/f8/f8_encrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/f8/f8_getiv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/f8/f8_setiv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/f8/f8_start.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/f8/f8_test_mode.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/lrw/lrw_decrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/lrw/lrw_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/lrw/lrw_encrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/lrw/lrw_getiv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/lrw/lrw_process.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/lrw/lrw_setiv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/lrw/lrw_start.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/lrw/lrw_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ofb/ofb_decrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ofb/ofb_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ofb/ofb_encrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ofb/ofb_getiv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ofb/ofb_setiv.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/ofb/ofb_start.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/xts/xts_decrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/xts/xts_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/xts/xts_encrypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/xts/xts_init.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/xts/xts_mult_x.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/modes/xts/xts_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/bit/der_decode_bit_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/bit/der_decode_raw_bit_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/bit/der_encode_bit_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/bit/der_encode_raw_bit_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/bit/der_length_bit_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/boolean/der_decode_boolean.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/boolean/der_encode_boolean.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/boolean/der_length_boolean.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/choice/der_decode_choice.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/generalizedtime/der_decode_generalizedtime.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/generalizedtime/der_encode_generalizedtime.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/generalizedtime/der_length_generalizedtime.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/ia5/der_decode_ia5_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/ia5/der_encode_ia5_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/ia5/der_length_ia5_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/integer/der_decode_integer.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/integer/der_encode_integer.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/integer/der_length_integer.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/object_identifier/der_decode_object_identifier.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/object_identifier/der_encode_object_identifier.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/object_identifier/der_length_object_identifier.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/octet/der_decode_octet_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/octet/der_encode_octet_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/octet/der_length_octet_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/printable_string/der_decode_printable_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/printable_string/der_encode_printable_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/printable_string/der_length_printable_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_ex.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_flexi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_multi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/sequence/der_decode_subject_public_key_info.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/sequence/der_encode_sequence_ex.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/sequence/der_encode_sequence_multi.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/sequence/der_encode_subject_public_key_info.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/sequence/der_length_sequence.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/sequence/der_sequence_free.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/sequence/der_sequence_shrink.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/set/der_encode_set.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/set/der_encode_setof.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/short_integer/der_decode_short_integer.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/short_integer/der_encode_short_integer.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/short_integer/der_length_short_integer.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/teletex_string/der_decode_teletex_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/teletex_string/der_length_teletex_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/utctime/der_decode_utctime.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/utctime/der_encode_utctime.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/utctime/der_length_utctime.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/utf8/der_decode_utf8_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/utf8/der_encode_utf8_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/asn1/der/utf8/der_length_utf8_string.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dh/dh.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dh/dh_check_pubkey.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dh/dh_export.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dh/dh_export_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dh/dh_free.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dh/dh_generate_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dh/dh_import.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dh/dh_set.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dh/dh_set_pg_dhparam.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dh/dh_shared_secret.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_decrypt_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_encrypt_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_export.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_free.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_generate_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_generate_pqg.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_import.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_make_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_set.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_set_pqg_dsaparam.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_shared_secret.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_sign_hash.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_verify_hash.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/dsa/dsa_verify_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_ansi_x963_export.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_ansi_x963_import.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_decrypt_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_encrypt_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_export.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_free.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_get_size.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_import.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_make_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_shared_secret.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_sign_hash.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_sizes.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ecc_verify_hash.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ltc_ecc_is_valid_idx.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ltc_ecc_map.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod_timing.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ltc_ecc_points.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ltc_ecc_projective_add_point.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/ecc/ltc_ecc_projective_dbl_point.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/katja/katja_decrypt_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/katja/katja_encrypt_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/katja/katja_export.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/katja/katja_exptmod.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/katja/katja_free.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/katja/katja_import.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/katja/katja_make_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/pkcs1/pkcs_1_i2osp.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/pkcs1/pkcs_1_mgf1.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_encode.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/pkcs1/pkcs_1_os2ip.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_encode.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_decode.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_encode.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_decrypt_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_encrypt_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_export.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_exptmod.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_free.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_get_size.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_import.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_import_pkcs8.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_import_x509.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_make_key.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_set.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_sign_hash.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_sign_saltlen_get.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/pk/rsa/rsa_verify_hash.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/prngs/chacha20.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/prngs/fortuna.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/prngs/rc4.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/prngs/rng_get_bytes.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/prngs/rng_make_prng.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/prngs/sober128.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/prngs/sprng.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/prngs/yarrow.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/stream/chacha/chacha_crypt.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/stream/chacha/chacha_done.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/stream/chacha/chacha_ivctr32.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/stream/chacha/chacha_ivctr64.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/stream/chacha/chacha_keystream.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/stream/chacha/chacha_setup.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/stream/chacha/chacha_test.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/stream/rc4/rc4_stream.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/stream/rc4/rc4_test.c" +#EXCLUDE "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/stream/sober128/sober128tab.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/stream/sober128/sober128_stream.c" + "${CXBXR_ROOT_DIR}/import/libtomcrypt/src/stream/sober128/sober128_test.c" + +) + +source_group(TREE ${CXBXR_ROOT_DIR}/import/libtomcrypt/src/headers PREFIX header FILES ${HEADERS}) + +source_group(TREE ${CXBXR_ROOT_DIR}/import/libtomcrypt/src PREFIX source FILES ${SOURCES}) + +add_library(libtomcrypt ${HEADERS} ${SOURCES}) + +target_link_libraries(libtomcrypt + PUBLIC libtommath + + ${WINS_LIB} +) diff --git a/projects/libtom/math/CMakeLists.txt b/projects/libtom/math/CMakeLists.txt new file mode 100644 index 000000000..a212fc9bb --- /dev/null +++ b/projects/libtom/math/CMakeLists.txt @@ -0,0 +1,172 @@ +cmake_minimum_required (VERSION 3.8) +project(libtommath) + +# Suppress extra stuff from generated solution +set(CMAKE_SUPPRESS_REGENERATION true) + +if ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC") + add_compile_definitions( + _CRT_SECURE_NO_WARNINGS + _CRT_NONSTDC_NO_DEPRECATE + ) +endif() + + +include_directories( + "${CXBXR_ROOT_DIR}/import/libtommath" +) + +file (GLOB HEADERS + "${CXBXR_ROOT_DIR}/import/libtommath/tommath.h" + "${CXBXR_ROOT_DIR}/import/libtommath/tommath_class.h" + "${CXBXR_ROOT_DIR}/import/libtommath/tommath_private.h" + "${CXBXR_ROOT_DIR}/import/libtommath/tommath_superclass.h" +) + +file (GLOB SOURCES + "${CXBXR_ROOT_DIR}/import/libtommath/bncore.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_error.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_fast_mp_invmod.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_fast_mp_montgomery_reduce.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_fast_s_mp_mul_digs.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_fast_s_mp_mul_high_digs.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_fast_s_mp_sqr.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_2expt.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_abs.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_add.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_addmod.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_add_d.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_and.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_clamp.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_clear.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_clear_multi.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_cmp.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_cmp_d.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_cmp_mag.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_cnt_lsb.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_complement.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_copy.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_count_bits.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_div.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_div_2.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_div_2d.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_div_3.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_div_d.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_dr_is_modulus.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_dr_reduce.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_dr_setup.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_exch.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_export.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_exptmod.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_exptmod_fast.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_expt_d.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_expt_d_ex.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_exteuclid.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_fread.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_fwrite.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_gcd.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_get_bit.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_get_double.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_get_int.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_get_long.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_get_long_long.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_grow.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_import.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_init.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_init_copy.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_init_multi.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_init_set.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_init_set_int.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_init_size.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_invmod.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_invmod_slow.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_is_square.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_jacobi.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_karatsuba_mul.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_karatsuba_sqr.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_kronecker.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_lcm.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_lshd.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_mod.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_mod_2d.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_mod_d.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_montgomery_calc_normalization.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_montgomery_reduce.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_montgomery_setup.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_mul.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_mulmod.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_mul_2.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_mul_2d.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_mul_d.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_neg.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_n_root.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_n_root_ex.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_or.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_prime_fermat.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_prime_frobenius_underwood.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_prime_is_divisible.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_prime_is_prime.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_prime_miller_rabin.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_prime_next_prime.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_prime_rabin_miller_trials.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_prime_random_ex.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_prime_strong_lucas_selfridge.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_radix_size.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_radix_smap.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_rand.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_read_radix.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_read_signed_bin.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_read_unsigned_bin.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_reduce.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_reduce_2k.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_reduce_2k_l.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_reduce_2k_setup.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_reduce_2k_setup_l.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_reduce_is_2k.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_reduce_is_2k_l.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_reduce_setup.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_rshd.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_set.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_set_double.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_set_int.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_set_long.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_set_long_long.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_shrink.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_signed_bin_size.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_sqr.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_sqrmod.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_sqrt.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_sqrtmod_prime.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_sub.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_submod.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_sub_d.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_tc_and.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_tc_div_2d.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_tc_or.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_tc_xor.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_toom_mul.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_toom_sqr.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_toradix.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_toradix_n.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_to_signed_bin.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_to_signed_bin_n.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_to_unsigned_bin.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_to_unsigned_bin_n.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_unsigned_bin_size.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_xor.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_mp_zero.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_prime_tab.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_reverse.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_s_mp_add.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_s_mp_exptmod.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_s_mp_mul_digs.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_s_mp_mul_high_digs.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_s_mp_sqr.c" + "${CXBXR_ROOT_DIR}/import/libtommath/bn_s_mp_sub.c" +) + +source_group(TREE ${CXBXR_ROOT_DIR}/import/libtommath PREFIX header FILES ${HEADERS}) + +source_group(TREE ${CXBXR_ROOT_DIR}/import/libtommath PREFIX source FILES ${SOURCES}) + +add_library(libtommath ${HEADERS} ${SOURCES}) diff --git a/projects/vsbc/CMakeLists.txt b/projects/vsbc/CMakeLists.txt new file mode 100644 index 000000000..31794561c --- /dev/null +++ b/projects/vsbc/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required (VERSION 3.8) +project(vsbc) + +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_STANDARD 17) + +# Suppress extra stuff from generated solution +set(CMAKE_SUPPRESS_REGENERATION true) + +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") + add_compile_definitions(_CRT_SECURE_NO_WARNINGS + ) +endif() + +add_compile_definitions(CXBXVSBC_EXPORTS +) + +file (GLOB HEADERS + "${CXBXR_ROOT_DIR}/src/vsbc/CxbxVSBC.h" + "${CXBXR_ROOT_DIR}/src/vsbc/DlgVirtualSBCFeedback.h" + "${CXBXR_ROOT_DIR}/src/vsbc/stdafx.h" + "${CXBXR_ROOT_DIR}/src/vsbc/targetver.h" +) + +file (GLOB SOURCES + "${CXBXR_ROOT_DIR}/src/vsbc/CxbxVSBC.cpp" + "${CXBXR_ROOT_DIR}/src/vsbc/DlgVirtualSBCFeedback.cpp" + "${CXBXR_ROOT_DIR}/src/vsbc/dllmain.cpp" + "${CXBXR_ROOT_DIR}/src/vsbc/stdafx.cpp" +) + +source_group(TREE ${CXBXR_ROOT_DIR}/src/vsbc PREFIX header FILES ${HEADERS}) + +source_group(TREE ${CXBXR_ROOT_DIR}/src/vsbc PREFIX source FILES ${SOURCES}) + +add_library(vsbc SHARED ${HEADERS} ${SOURCES}) + +set_target_properties(vsbc PROPERTIES + OUTPUT_NAME CxbxVSBC +) diff --git a/src/CxbxDebugger/CMakeLists.txt b/src/CxbxDebugger/CMakeLists.txt new file mode 100644 index 000000000..6c5f1f0ce --- /dev/null +++ b/src/CxbxDebugger/CMakeLists.txt @@ -0,0 +1,133 @@ +cmake_minimum_required (VERSION 3.8) +project(cxbxr-debugger LANGUAGES CSharp) + +# Output all binary files into one folder +if(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${cxbxr-debugger_BINARY_DIR}/bin") +endif() + +include(CSharpUtilities) + +# Workaround fix since CMake is using static version "3". +add_compile_options( + /langversion:6 +) + +set(CXBXR_DEBUGGER_SRC_DIR "${CXBXR_ROOT_DIR}/src/CxbxDebugger") + +file (GLOB SOURCES + "${CXBXR_DEBUGGER_SRC_DIR}/App.config" + "${CXBXR_DEBUGGER_SRC_DIR}/Common.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Debugger/Debugger.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Debugger/DebuggerCallstack.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Debugger/DebuggerEventInterfaces.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Debugger/DebuggerInstance.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Debugger/DebuggerMessages.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Debugger/DebuggerModule.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Debugger/DebuggerProcess.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Debugger/DebuggerSymbolServer.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Debugger/DebuggerThread.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/DebuggerExtras/CheatTable.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/DebuggerExtras/CheatTableReader.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/DebuggerSymbols/DebuggerSymbolProvider.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/DebuggerSymbols/HLECache/HLECacheFile.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/DebuggerSymbols/HLECache/HLECacheProvider.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/DebuggerSymbols/HLECache/Utils/INIReader.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/DebuggerSymbols/Kernel/KernelSymbolProvider.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/DebugOutputManager.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/FileEventManager.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/FileWatchManager.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Form1.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Form1.Designer.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Form1.resx" + "${CXBXR_DEBUGGER_SRC_DIR}/PatchManager.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Program.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Properties/AssemblyInfo.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Properties/Resources.Designer.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Properties/Resources.resx" + "${CXBXR_DEBUGGER_SRC_DIR}/Properties/Settings.Designer.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Properties/Settings.settings" + "${CXBXR_DEBUGGER_SRC_DIR}/Resources/BreakpointDisable_16x_24.bmp" + "${CXBXR_DEBUGGER_SRC_DIR}/Resources/BreakpointEnable_16x_24.bmp" + "${CXBXR_DEBUGGER_SRC_DIR}/Resources/Pause_16x_24.bmp" + "${CXBXR_DEBUGGER_SRC_DIR}/Resources/Run_16x_24.bmp" + "${CXBXR_DEBUGGER_SRC_DIR}/RicherTextBox.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/ThreadHelpers.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Constants.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/CONTINUE_STATUS.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/CREATE_PROCESS_DEBUG_INFO.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/CREATE_THREAD_DEBUG_INFO.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/DEBUG_EVENT.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/DEBUG_EVENT_CODE.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/EXCEPTION_DEBUG_INFO.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/EXCEPTION_RECORD.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/EXIT_PROCESS_DEBUG_INFO.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/EXIT_THREAD_DEBUG_INFO.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/LOAD_DLL_DEBUG_INFO.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/NativeMethods.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/OUTPUT_DEBUG_STRING_INFO.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/RIP_INFO.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Debugging/UNLOAD_DLL_DEBUG_INFO.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Handles/NativeMethods.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Interop/SecurityAttributes.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Jobs/IO_COUNTERS.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Jobs/JobInformationLimitFlags.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Jobs/JobMsgInfoMessages.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Jobs/JOBOBJECTINFOCLASS.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Jobs/JOBOBJECT_ASSOCIATE_COMPLETION_PORT.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Jobs/JOBOBJECT_BASIC_LIMIT_INFORMATION.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Jobs/JOBOBJECT_EXTENDED_LIMIT_INFORMATION.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Jobs/NativeMethods.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/LastWin32ErrorException.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/NtStatus.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Processes/NativeEnums.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Processes/NativeMethods.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Processes/NativeStructs.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Processes/ProcessCreationFlags.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Processes/PROCESS_INFORMATION.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Processes/SafeProcessHandle.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Processes/SafeThreadHandle.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Processes/Startupinfo.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/UnicodeString.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Win32/Windows/NativeMethods.cs" +) + +csharp_set_windows_forms_properties( + "${CXBXR_DEBUGGER_SRC_DIR}/Form1.Designer.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Form1.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Properties/AssemblyInfo.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Properties/Resources.Designer.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Properties/Settings.Designer.cs" +) + +csharp_set_designer_cs_properties( + "${CXBXR_DEBUGGER_SRC_DIR}/Properties/Resources.Designer.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Properties/Resources.resx" + "${CXBXR_DEBUGGER_SRC_DIR}/Properties/Settings.Designer.cs" + "${CXBXR_DEBUGGER_SRC_DIR}/Properties/Settings.settings" +) + +set_source_files_properties("${CXBXR_DEBUGGER_SRC_DIR}/Form1.cs" + VS_CSHARP_SubType "Form" +) + +set_source_files_properties("${CXBXR_DEBUGGER_SRC_DIR}/RicherTextBox.cs" + VS_CSHARP_SubType "Component" +) + + +source_group(TREE ${CXBXR_ROOT_DIR} FILES ${SOURCES}) + +add_executable(cxbxr-debugger WIN32 ${SOURCES} #Test WIN32 like cxbx does if doesn't need compile option set +) + +set_target_properties(cxbxr-debugger PROPERTIES + VS_DOTNET_REFERENCES + "Microsoft.CSharp;System;System.Core;System.Data;System.Data.DataSetExtensions;System.Deployment;System.Drawing;System.Windows;System.Windows.Forms;System.Xml;System.Xml.Linq;System.Net.Http" + VS_GLOBAL_ApplicationIcon "${CXBXR_ROOT_DIR}/resource/Cxbx-R.ico" + +) + +set_property(TARGET cxbxr-debugger PROPERTY DOTNET_TARGET_FRAMEWORK_VERSION "v4.5") + +target_link_libraries(cxbxr-debugger cs_x86) diff --git a/src/CxbxVersion.h b/src/CxbxVersion.h index 630fcd7b1..e04b32b3c 100644 --- a/src/CxbxVersion.h +++ b/src/CxbxVersion.h @@ -1,10 +1,10 @@ #pragma once -#include "Version.h" +#include "version.h" /*! version string dependent on trace flag */ #ifndef _DEBUG_TRACE #define _CXBX_VERSION _GIT_VERSION " (" __DATE__ ")" #else #define _CXBX_VERSION _GIT_VERSION "-Trace (" __DATE__ ")" -#endif \ No newline at end of file +#endif diff --git a/src/gui/WndMain.cpp b/src/gui/WndMain.cpp index 452ef3f9d..4045bc020 100644 --- a/src/gui/WndMain.cpp +++ b/src/gui/WndMain.cpp @@ -2233,7 +2233,7 @@ void WndMain::StartEmulation(HWND hwndParent, DebuggerState LocalDebuggerState / DebuggerMonitorClose(); // TODO: Set a configuration variable for this. For now it will be within the same folder as Cxbx.exe - std::string szProcDbgArgsBuffer = "CxbxDebugger.exe " + szProcArgsBuffer; + std::string szProcDbgArgsBuffer = "cxbxr-debugger.exe " + szProcArgsBuffer; if (!XTL::CxbxExec(szProcDbgArgsBuffer, &m_hDebuggerProc, true)) { MessageBox(m_hwnd, "Failed to start emulation with the debugger.\n\nYou will need to build CxbxDebugger manually.", "Cxbx-Reloaded", MB_ICONSTOP | MB_OK); diff --git a/src/version.h.in b/src/version.h.in new file mode 100644 index 000000000..ea81b51d4 --- /dev/null +++ b/src/version.h.in @@ -0,0 +1,3 @@ +#pragma once + +#cmakedefine _GIT_VERSION "@_GIT_VERSION@"