You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.2 KiB
103 lines
2.2 KiB
# 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()
|
|
|
|
# Regenerate CMakeLists.txt automatically in the root project
|
|
set(CMKR_ROOT_PROJECT OFF)
|
|
if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
|
set(CMKR_ROOT_PROJECT ON)
|
|
|
|
# Bootstrap cmkr
|
|
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)
|
|
endif()
|
|
|
|
# Create a configure-time dependency on cmake.toml to improve IDE support
|
|
if(CMKR_ROOT_PROJECT)
|
|
configure_file(cmake.toml cmake.toml COPYONLY)
|
|
endif()
|
|
|
|
project(perses)
|
|
|
|
# vendor
|
|
set(CMKR_CMAKE_FOLDER ${CMAKE_FOLDER})
|
|
if(CMAKE_FOLDER)
|
|
set(CMAKE_FOLDER "${CMAKE_FOLDER}/vendor")
|
|
else()
|
|
set(CMAKE_FOLDER vendor)
|
|
endif()
|
|
add_subdirectory(vendor)
|
|
set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER})
|
|
|
|
# Target perses
|
|
set(CMKR_TARGET perses)
|
|
set(perses_SOURCES "")
|
|
|
|
list(APPEND perses_SOURCES
|
|
"src/disasm.cpp"
|
|
"src/mapfileparser.cpp"
|
|
"src/mutationlight.cpp"
|
|
"src/perses.cpp"
|
|
"src/x86application.cpp"
|
|
"src/details.hpp"
|
|
"src/disasm.hpp"
|
|
"src/mapfileparser.hpp"
|
|
"src/mutationlight.hpp"
|
|
"src/perses.hpp"
|
|
"src/protectionschema.hpp"
|
|
"src/util.hpp"
|
|
"src/x86application.hpp"
|
|
"src/x86util.hpp"
|
|
)
|
|
|
|
list(APPEND perses_SOURCES
|
|
cmake.toml
|
|
)
|
|
|
|
set(CMKR_SOURCES ${perses_SOURCES})
|
|
add_executable(perses)
|
|
|
|
if(perses_SOURCES)
|
|
target_sources(perses PRIVATE ${perses_SOURCES})
|
|
endif()
|
|
|
|
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
|
|
if(NOT CMKR_VS_STARTUP_PROJECT)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT perses)
|
|
endif()
|
|
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${perses_SOURCES})
|
|
|
|
target_compile_definitions(perses PRIVATE
|
|
NOMINMAX
|
|
ZYCORE_STATIC_BUILD
|
|
ZYDIS_STATIC_BUILD
|
|
ASMJIT_STATIC
|
|
)
|
|
|
|
target_compile_features(perses PRIVATE
|
|
cxx_std_20
|
|
)
|
|
|
|
target_link_libraries(perses PRIVATE
|
|
spdlog
|
|
Zydis
|
|
asmjit
|
|
argparse
|
|
pepp
|
|
)
|
|
|
|
unset(CMKR_TARGET)
|
|
unset(CMKR_SOURCES)
|
|
|