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.
Theodosius/CMakeLists.txt

125 lines
3.0 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/func_split_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/func_split_pass.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)