-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
135 lines (109 loc) · 3.04 KB
/
Copy pathCMakeLists.txt
File metadata and controls
135 lines (109 loc) · 3.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# 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()
# Options
option(ZYDIS_BUILD_TOOLS OFF)
option(ZYDIS_BUILD_EXAMPLES OFF)
project(vmpfix)
include(FetchContent)
message(STATUS "Fetching argparse...")
FetchContent_Declare(
argparse
GIT_REPOSITORY
https://github.com/p-ranav/argparse.git
GIT_TAG
v2.2
)
FetchContent_MakeAvailable(argparse)
message(STATUS "Fetching linux-pe...")
FetchContent_Declare(
linux-pe
GIT_REPOSITORY
https://github.com/can1357/linux-pe.git
GIT_TAG
ce24224
)
FetchContent_MakeAvailable(linux-pe)
message(STATUS "Fetching Zydis...")
FetchContent_Declare(
Zydis
GIT_REPOSITORY
https://github.com/zyantific/zydis.git
GIT_TAG
9fc98de
)
FetchContent_MakeAvailable(Zydis)
# Blackbone/src/BlackBone
set(CMKR_CMAKE_FOLDER ${CMAKE_FOLDER})
if(CMAKE_FOLDER)
set(CMAKE_FOLDER "${CMAKE_FOLDER}/Blackbone/src/BlackBone")
else()
set(CMAKE_FOLDER "Blackbone/src/BlackBone")
endif()
add_subdirectory("Blackbone/src/BlackBone")
set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER})
target_compile_features(BlackBone PUBLIC cxx_std_17)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
link_directories(Blackbone/src/3rd_party/DIA/lib/amd64)
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
link_directories(Blackbone/src/3rd_party/DIA/lib)
endif()
target_link_libraries(BlackBone PUBLIC diaguids.lib)
target_include_directories(BlackBone PUBLIC Blackbone/src)
# Target vmpfix
set(CMKR_TARGET vmpfix)
set(vmpfix_SOURCES "")
list(APPEND vmpfix_SOURCES
"src/disasm.cpp"
"src/main.cpp"
"src/vmp_analyzer.cpp"
"include/disasm.hpp"
"include/image_desc.hpp"
"include/vmp_analyzer.hpp"
)
list(APPEND vmpfix_SOURCES
cmake.toml
)
set(CMKR_SOURCES ${vmpfix_SOURCES})
add_executable(vmpfix)
if(vmpfix_SOURCES)
target_sources(vmpfix PRIVATE ${vmpfix_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 vmpfix)
endif()
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${vmpfix_SOURCES})
target_compile_features(vmpfix PRIVATE
cxx_std_20
)
target_include_directories(vmpfix PRIVATE
include
)
target_link_libraries(vmpfix PRIVATE
BlackBone
linux-pe
Zydis
argparse
)
unset(CMKR_TARGET)
unset(CMKR_SOURCES)