2 # http://www.cmake.org/cmake/help/v3.0/policy/CMP0042.html
3 cmake_policy(SET CMP0042 NEW)
7 # use old policy to honor version set using VERSION_* variables to preserve backwards
8 # compatibility. change OLD to NEW when minimum cmake version is updated to 3.* and
9 # set VERSION using project(capstone VERSION 4.0.0).
10 # http://www.cmake.org/cmake/help/v3.0/policy/CMP0048.html
11 cmake_policy (SET CMP0048 OLD)
14 add_definitions(-DCAPSTONE_USE_SYS_DYN_MEM)
21 Source/MCRegisterInfo.c
29 Source/MCDisassembler.h
30 Source/MCFixedLenDisassembler.h
33 Source/MCRegisterInfo.h
39 Source/include/capstone/arm64.h
40 Source/include/capstone/arm.h
41 Source/include/capstone/capstone.h
42 Source/include/capstone/evm.h
43 Source/include/capstone/mips.h
44 Source/include/capstone/ppc.h
45 Source/include/capstone/x86.h
46 Source/include/capstone/sparc.h
47 Source/include/capstone/systemz.h
48 Source/include/capstone/xcore.h
49 Source/include/capstone/m68k.h
50 Source/include/capstone/tms320c64x.h
51 Source/include/capstone/m680x.h
52 Source/include/capstone/mos65xx.h
53 Source/include/capstone/platform.h
56 ## architecture support
58 add_definitions(-DCAPSTONE_HAS_ARM)
60 Source/arch/ARM/ARMDisassembler.c
61 Source/arch/ARM/ARMInstPrinter.c
62 Source/arch/ARM/ARMMapping.c
63 Source/arch/ARM/ARMModule.c
66 Source/arch/ARM/ARMAddressingModes.h
67 Source/arch/ARM/ARMBaseInfo.h
68 Source/arch/ARM/ARMDisassembler.h
69 Source/arch/ARM/ARMGenAsmWriter.inc
70 Source/arch/ARM/ARMGenDisassemblerTables.inc
71 Source/arch/ARM/ARMGenInstrInfo.inc
72 Source/arch/ARM/ARMGenRegisterInfo.inc
73 Source/arch/ARM/ARMGenSubtargetInfo.inc
74 Source/arch/ARM/ARMInstPrinter.h
75 Source/arch/ARM/ARMMapping.h
76 Source/arch/ARM/ARMMappingInsn.inc
77 Source/arch/ARM/ARMMappingInsnOp.inc
80 Source/arch/ARM/ARMAddressingModes.h
81 Source/arch/ARM/ARMBaseInfo.h
82 Source/arch/ARM/ARMDisassembler.h
83 Source/arch/ARM/ARMGenAsmWriter.inc
84 Source/arch/ARM/ARMGenDisassemblerTables.inc
85 Source/arch/ARM/ARMGenInstrInfo.inc
86 Source/arch/ARM/ARMGenRegisterInfo.inc
87 Source/arch/ARM/ARMGenSubtargetInfo.inc
88 Source/arch/ARM/ARMInstPrinter.h
89 Source/arch/ARM/ARMMapping.h
94 add_definitions(-DCAPSTONE_HAS_MIPS)
96 Source/arch/Mips/MipsDisassembler.c
97 Source/arch/Mips/MipsInstPrinter.c
98 Source/arch/Mips/MipsMapping.c
99 Source/arch/Mips/MipsModule.c
102 Source/arch/Mips/MipsDisassembler.h
103 Source/arch/Mips/MipsGenAsmWriter.inc
104 Source/arch/Mips/MipsGenDisassemblerTables.inc
105 Source/arch/Mips/MipsGenInstrInfo.inc
106 Source/arch/Mips/MipsGenRegisterInfo.inc
107 Source/arch/Mips/MipsGenSubtargetInfo.inc
108 Source/arch/Mips/MipsInstPrinter.h
109 Source/arch/Mips/MipsMapping.h
110 Source/arch/Mips/MipsMappingInsn.inc
113 Source/arch/Mips/MipsDisassembler.h
114 Source/arch/Mips/MipsGenAsmWriter.inc
115 Source/arch/Mips/MipsGenDisassemblerTables.inc
116 Source/arch/Mips/MipsGenInstrInfo.inc
117 Source/arch/Mips/MipsGenRegisterInfo.inc
118 Source/arch/Mips/MipsGenSubtargetInfo.inc
119 Source/arch/Mips/MipsInstPrinter.h
120 Source/arch/Mips/MipsMapping.h
137 set(capstone_INCLUDE_DIRECTORIES "${THIRDPARTY_DIR}/capstone/Source/include")
140 add_library(capstone STATIC ${capstone_SOURCES} ${capstone_HEADERS})
141 set_property(TARGET capstone PROPERTY OUTPUT_NAME capstone)
142 target_include_directories(capstone PRIVATE ${capstone_INCLUDE_DIRECTORIES})
144 if (COMPILER_IS_GCC_OR_CLANG)
145 WEBKIT_ADD_TARGET_C_FLAGS(capstone
147 -Wno-unused-parameter
148 -Wno-implicit-fallthrough
149 -Wno-missing-field-initializers
150 -Wno-missing-format-attribute
151 -Wno-discarded-qualifiers