mirror of https://github.com/x64dbg/TitanEngine
242 lines
7.1 KiB
CMake
242 lines
7.1 KiB
CMake
# 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$<$<CONFIG:Debug>: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()
|