-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
62 lines (54 loc) · 1.14 KB
/
CMakeLists.txt
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
cmake_minimum_required(VERSION 3.24)
enable_language(CXX)
project(LockLifter VERSION 1.0.0)
find_package(LIEF REQUIRED)
find_package(QBDI REQUIRED)
find_package(QBDL REQUIRED)
find_package(spdlog REQUIRED)
find_package(LLVM REQUIRED)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(lock-lifter src/main.cpp)
include_directories(SYSTEM ${LLVM_INCLUDE_DIRS})
target_link_libraries(lock-lifter PRIVATE
LIEF::LIEF
spdlog::spdlog
QBDL::QBDL
${QBDI_STATIC_LIBRARY}
)
target_include_directories(lock-lifter PUBLIC
${QBDI_INCLUDE_DIR}
)
target_link_libraries(lock-lifter
PUBLIC
LLVMSupport
LLVMCore
LLVMCodeGen
LLVMAsmPrinter
LLVMBinaryFormat
LLVMAnalysis
LLVMMCDisassembler
LLVMMCJIT
LLVMTarget
LLVMAsmParser
PUBLIC
LLVMAArch64CodeGen
LLVMAArch64AsmParser
LLVMAArch64Disassembler
LLVMAArch64Desc
LLVMAArch64Info
LLVMAArch64Utils
PUBLIC
LLVMX86CodeGen
LLVMX86AsmParser
LLVMX86Disassembler
LLVMX86Desc
LLVMX86Info
PUBLIC
LLVMARMCodeGen
LLVMARMAsmParser
LLVMARMDisassembler
LLVMARMDesc
LLVMARMInfo
LLVMARMUtils
)