forked from _xeroxz/Theodosius
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.
122 lines
2.9 KiB
122 lines
2.9 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(Theodosius) |
|
|
|
# dependencies |
|
set(CMKR_CMAKE_FOLDER ${CMAKE_FOLDER}) |
|
if(CMAKE_FOLDER) |
|
set(CMAKE_FOLDER "${CMAKE_FOLDER}/dependencies") |
|
else() |
|
set(CMAKE_FOLDER dependencies) |
|
endif() |
|
add_subdirectory(dependencies) |
|
set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER}) |
|
|
|
# examples |
|
set(CMKR_CMAKE_FOLDER ${CMAKE_FOLDER}) |
|
if(CMAKE_FOLDER) |
|
set(CMAKE_FOLDER "${CMAKE_FOLDER}/examples") |
|
else() |
|
set(CMAKE_FOLDER examples) |
|
endif() |
|
add_subdirectory(examples) |
|
set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER}) |
|
|
|
# Target Theodosius |
|
set(CMKR_TARGET Theodosius) |
|
set(Theodosius_SOURCES "") |
|
|
|
list(APPEND Theodosius_SOURCES |
|
"include/decomp/decomp.hpp" |
|
"include/decomp/routine.hpp" |
|
"include/decomp/symbol.hpp" |
|
"include/obf/engine.hpp" |
|
"include/obf/pass.hpp" |
|
"include/obf/passes/jcc_rewrite_pass.hpp" |
|
"include/obf/passes/next_inst_pass.hpp" |
|
"include/obf/passes/reloc_transform_pass.hpp" |
|
"include/obf/transform/add_op.hpp" |
|
"include/obf/transform/gen.hpp" |
|
"include/obf/transform/operation.hpp" |
|
"include/obf/transform/rol_op.hpp" |
|
"include/obf/transform/ror_op.hpp" |
|
"include/obf/transform/sub_op.hpp" |
|
"include/obf/transform/transform.hpp" |
|
"include/obf/transform/xor_op.hpp" |
|
"include/recomp/recomp.hpp" |
|
"include/recomp/reloc.hpp" |
|
"include/recomp/symbol_table.hpp" |
|
"include/theo.hpp" |
|
"src/decomp/decomp.cpp" |
|
"src/decomp/routine.cpp" |
|
"src/decomp/symbol.cpp" |
|
"src/obf/engine.cpp" |
|
"src/obf/passes/jcc_rewrite_pass.cpp" |
|
"src/obf/passes/next_inst_pass.cpp" |
|
"src/obf/passes/reloc_transform_pass.cpp" |
|
"src/recomp/recomp.cpp" |
|
"src/recomp/symbol_table.cpp" |
|
"src/theo.cpp" |
|
) |
|
|
|
list(APPEND Theodosius_SOURCES |
|
cmake.toml |
|
) |
|
|
|
set(CMKR_SOURCES ${Theodosius_SOURCES}) |
|
add_library(Theodosius STATIC) |
|
|
|
if(Theodosius_SOURCES) |
|
target_sources(Theodosius PRIVATE ${Theodosius_SOURCES}) |
|
endif() |
|
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${Theodosius_SOURCES}) |
|
|
|
target_compile_definitions(Theodosius PUBLIC |
|
NOMINMAX |
|
) |
|
|
|
target_compile_features(Theodosius PUBLIC |
|
cxx_std_20 |
|
) |
|
|
|
target_include_directories(Theodosius PUBLIC |
|
include |
|
) |
|
|
|
target_link_libraries(Theodosius PUBLIC |
|
linux-pe |
|
spdlog |
|
xed |
|
) |
|
|
|
unset(CMKR_TARGET) |
|
unset(CMKR_SOURCES) |
|
|
|
|