# This file is automatically generated from cmake.toml - DO NOT EDIT # See https://github.com/build-cpp/cmkr for more information cmake_minimum_required(VERSION 3.15) if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR) message(FATAL_ERROR "In-tree builds are not supported. Run CMake from a separate directory: cmake -B build") endif() # Enable support for MSVC_RUNTIME_LIBRARY cmake_policy(SET CMP0091 NEW) set(CMKR_ROOT_PROJECT OFF) if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) set(CMKR_ROOT_PROJECT ON) # Bootstrap cmkr and automatically regenerate CMakeLists.txt include(cmkr.cmake OPTIONAL RESULT_VARIABLE CMKR_INCLUDE_RESULT) if(CMKR_INCLUDE_RESULT) cmkr() endif() # Enable folder support set_property(GLOBAL PROPERTY USE_FOLDERS ON) # Create a configure-time dependency on cmake.toml to improve IDE support set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS cmake.toml) if(NOT DEFINED CMAKE_MSVC_RUNTIME_LIBRARY) set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") endif() endif() # Options option(TITANENGINE_RESOURCES "" ON) project(TitanEngine LANGUAGES C CXX ) # Target: distorm set(distorm_SOURCES cmake.toml "distorm/include/distorm.h" "distorm/include/mnemonics.h" "distorm/src/distorm.c" ) add_library(distorm STATIC) target_sources(distorm PRIVATE ${distorm_SOURCES}) source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${distorm_SOURCES}) target_include_directories(distorm PUBLIC "distorm/include" ) # Target: scylla_wrapper set(scylla_wrapper_SOURCES cmake.toml "scylla_wrapper/ApiReader.cpp" "scylla_wrapper/ApiReader.h" "scylla_wrapper/Architecture.cpp" "scylla_wrapper/Architecture.h" "scylla_wrapper/DeviceNameResolver.cpp" "scylla_wrapper/DeviceNameResolver.h" "scylla_wrapper/IATReferenceScan.cpp" "scylla_wrapper/IATReferenceScan.h" "scylla_wrapper/IATSearch.cpp" "scylla_wrapper/IATSearch.h" "scylla_wrapper/ImportRebuilder.cpp" "scylla_wrapper/ImportRebuilder.h" "scylla_wrapper/NativeWinApi.cpp" "scylla_wrapper/NativeWinApi.h" "scylla_wrapper/PeParser.cpp" "scylla_wrapper/PeParser.h" "scylla_wrapper/ProcessAccessHelp.cpp" "scylla_wrapper/ProcessAccessHelp.h" "scylla_wrapper/ProcessLister.cpp" "scylla_wrapper/ProcessLister.h" "scylla_wrapper/StringConversion.cpp" "scylla_wrapper/StringConversion.h" "scylla_wrapper/SystemInformation.cpp" "scylla_wrapper/SystemInformation.h" "scylla_wrapper/Thunks.cpp" "scylla_wrapper/Thunks.h" "scylla_wrapper/include/scylla_wrapper.h" "scylla_wrapper/mnemonics.h" "scylla_wrapper/scylla_wrapper.cpp" "scylla_wrapper/stdafx.cpp" "scylla_wrapper/stdafx.h" "scylla_wrapper/targetver.h" ) add_library(scylla_wrapper STATIC) target_sources(scylla_wrapper PRIVATE ${scylla_wrapper_SOURCES}) source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${scylla_wrapper_SOURCES}) target_compile_features(scylla_wrapper PUBLIC cxx_std_11 ) target_include_directories(scylla_wrapper PUBLIC "scylla_wrapper/include" ) if(NOT TARGET distorm) message(FATAL_ERROR "Target \"distorm\" referenced by \"scylla_wrapper\" does not exist!") endif() target_link_libraries(scylla_wrapper PUBLIC distorm ) # Target: TitanEngine set(TitanEngine_SOURCES "TitanEngine/Global.Breakpoints.cpp" "TitanEngine/Global.Breakpoints.h" "TitanEngine/Global.Debugger.cpp" "TitanEngine/Global.Debugger.h" "TitanEngine/Global.Engine.Context.cpp" "TitanEngine/Global.Engine.Context.h" "TitanEngine/Global.Engine.GUI.cpp" "TitanEngine/Global.Engine.GUI.h" "TitanEngine/Global.Engine.Hash.cpp" "TitanEngine/Global.Engine.Hash.h" "TitanEngine/Global.Engine.Hider.cpp" "TitanEngine/Global.Engine.Hider.h" "TitanEngine/Global.Engine.Hook.cpp" "TitanEngine/Global.Engine.Hook.h" "TitanEngine/Global.Engine.Importer.cpp" "TitanEngine/Global.Engine.Importer.h" "TitanEngine/Global.Engine.Simplification.cpp" "TitanEngine/Global.Engine.Simplification.h" "TitanEngine/Global.Engine.Threading.cpp" "TitanEngine/Global.Engine.Threading.h" "TitanEngine/Global.Engine.cpp" "TitanEngine/Global.Engine.h" "TitanEngine/Global.Garbage.cpp" "TitanEngine/Global.Garbage.h" "TitanEngine/Global.Handle.cpp" "TitanEngine/Global.Handle.h" "TitanEngine/Global.Helper.cpp" "TitanEngine/Global.Helper.h" "TitanEngine/Global.Injector.cpp" "TitanEngine/Global.Injector.h" "TitanEngine/Global.Librarian.cpp" "TitanEngine/Global.Librarian.h" "TitanEngine/Global.Mapping.cpp" "TitanEngine/Global.Mapping.h" "TitanEngine/Global.OEPFinder.cpp" "TitanEngine/Global.OEPFinder.h" "TitanEngine/Global.Realigner.cpp" "TitanEngine/Global.Realigner.h" "TitanEngine/Global.TLS.cpp" "TitanEngine/Global.TLS.h" "TitanEngine/Global.Threader.cpp" "TitanEngine/Global.Threader.h" "TitanEngine/LzmaDec.cpp" "TitanEngine/LzmaDec.h" "TitanEngine/LzmaTypes.h" "TitanEngine/TitanEngine.Breakpoints.cpp" "TitanEngine/TitanEngine.Debugger.Context.cpp" "TitanEngine/TitanEngine.Debugger.Control.cpp" "TitanEngine/TitanEngine.Debugger.Data.cpp" "TitanEngine/TitanEngine.Debugger.DebugLoop.cpp" "TitanEngine/TitanEngine.Debugger.Helper.cpp" "TitanEngine/TitanEngine.Debugger.Memory.cpp" "TitanEngine/TitanEngine.Debugger.cpp" "TitanEngine/TitanEngine.Disassembler.cpp" "TitanEngine/TitanEngine.Dumper.cpp" "TitanEngine/TitanEngine.Engine.Simplification.cpp" "TitanEngine/TitanEngine.Engine.cpp" "TitanEngine/TitanEngine.Exporter.cpp" "TitanEngine/TitanEngine.Handler.cpp" "TitanEngine/TitanEngine.Hider.cpp" "TitanEngine/TitanEngine.Hooks.cpp" "TitanEngine/TitanEngine.Importer.cpp" "TitanEngine/TitanEngine.Injector.cpp" "TitanEngine/TitanEngine.Librarian.cpp" "TitanEngine/TitanEngine.OEPFinder.cpp" "TitanEngine/TitanEngine.PE.Convert.cpp" "TitanEngine/TitanEngine.PE.Data.cpp" "TitanEngine/TitanEngine.PE.Fixer.cpp" "TitanEngine/TitanEngine.PE.Overlay.cpp" "TitanEngine/TitanEngine.PE.Section.cpp" "TitanEngine/TitanEngine.PE.cpp" "TitanEngine/TitanEngine.Process.cpp" "TitanEngine/TitanEngine.Realigner.cpp" "TitanEngine/TitanEngine.Relocator.cpp" "TitanEngine/TitanEngine.Resourcer.cpp" "TitanEngine/TitanEngine.Static.cpp" "TitanEngine/TitanEngine.TLS.cpp" "TitanEngine/TitanEngine.Threader.cpp" "TitanEngine/TitanEngine.Tracer.cpp" "TitanEngine/TitanEngine.TranslateName.cpp" "TitanEngine/TitanEngine.cpp" "TitanEngine/aplib.h" "TitanEngine/definitions.h" "TitanEngine/ntdll.h" "TitanEngine/resource.h" "TitanEngine/stdafx.cpp" "TitanEngine/stdafx.h" "TitanEngine/targetver.h" cmake.toml ) if(TITANENGINE_RESOURCES) # TITANENGINE_RESOURCES list(APPEND TitanEngine_SOURCES "TitanEngine/TitanEngine.rc" ) endif() add_library(TitanEngine SHARED) target_sources(TitanEngine PRIVATE ${TitanEngine_SOURCES}) source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${TitanEngine_SOURCES}) if(NOT TARGET scylla_wrapper) message(FATAL_ERROR "Target \"scylla_wrapper\" referenced by \"TitanEngine\" does not exist!") endif() target_link_libraries(TitanEngine PRIVATE scylla_wrapper Psapi.lib ) if(CMAKE_SIZEOF_VOID_P EQUAL 8) # x64 target_link_libraries(TitanEngine PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/TitanEngine/ntdll_x64.lib" ) endif() if(CMAKE_SIZEOF_VOID_P EQUAL 4) # x32 target_link_libraries(TitanEngine PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/TitanEngine/ntdll_x86.lib" ) endif()