1 # CMake configuration for dyninstAPI directory
6 ${PROJECT_SOURCE_DIR}/proccontrol/h
20 src/BPatch_collections.C
21 src/BPatch_sourceBlock.C
22 src/BPatch_basicBlock.C
23 src/BPatch_basicBlockLoop.C
25 src/BPatch_loopTreeNode.C
26 src/BPatch_flowGraph.C
28 src/BPatch_parRegion.C
29 src/BPatch_statement.C
30 src/BPatch_addressSpace.C
31 src/BPatch_binaryEdit.C
32 src/BPatch_memoryAccess.C
55 src/BPatch_instruction.C
59 src/hybridInstrumentation.C
60 src/hybridOverwrites.C
66 src/Relocation/CodeMover.C
67 src/Relocation/CFG/RelocGraph.C
68 src/Relocation/CFG/RelocBlock.C
69 src/Relocation/CFG/RelocEdge.C
70 src/Relocation/CFG/RelocTarget.C
71 src/Relocation/Springboard.C
72 src/Relocation/Widgets/ASTWidget.C
73 src/Relocation/Widgets/CFWidget.C
74 src/Relocation/Widgets/CallbackWidget.C
75 src/Relocation/Widgets/InsnWidget.C
76 src/Relocation/Widgets/InstWidget.C
77 src/Relocation/Widgets/PCWidget.C
78 src/Relocation/Widgets/RelDataWidget.C
79 src/Relocation/Widgets/StackModWidget.C
80 src/Relocation/Transformers/Transformer.C
81 src/Relocation/Transformers/Instrumenter.C
82 src/Relocation/Transformers/Modification.C
83 src/Relocation/Transformers/Movement-adhoc.C
84 src/Relocation/Transformers/Movement-analysis.C
85 src/Relocation/CodeTracker.C
86 src/Relocation/CodeBuffer.C
87 src/Relocation/patchapi_debug.C
88 src/Relocation/DynObject.C
89 src/Relocation/DynAddrSpace.C
90 src/Relocation/DynPointMaker.C
91 src/Relocation/DynCFGMaker.C
92 src/Relocation/DynInstrumenter.C
95 src/BPatch_memoryAccessAdapter.C
98 # This is just .. messy. Sorry.
100 get_directory_property(local_comp_defs COMPILE_DEFINITIONS)
101 list (FIND local_comp_defs cap_stack_mods cap_stack_mods_found)
102 if (cap_stack_mods_found GREATER -1)
103 set (SRC_LIST ${SRC_LIST}
104 src/StackMod/OffsetVector.C
105 src/StackMod/StackAccess.C
106 src/StackMod/StackLocation.C
107 src/StackMod/StackMod.C
108 src/StackMod/StackModExpr.C
109 src/StackMod/StackModChecker.C
114 if (PLATFORM MATCHES i386 OR PLATFORM MATCHES amd64 OR PLATFORM MATCHES x86_64)
115 set (SRC_LIST ${SRC_LIST}
116 src/RegisterConversion-x86.C
117 src/Relocation/Widgets/CFWidget-x86.C
126 elseif (PLATFORM MATCHES ppc)
127 set (SRC_LIST ${SRC_LIST}
131 src/RegisterConversion-ppc.C
133 src/Relocation/Widgets/CFWidget-ppc.C
135 elseif (PLATFORM MATCHES aarch64)
136 set (SRC_LIST ${SRC_LIST}
138 src/codegen-aarch64.C
140 src/RegisterConversion-aarch64.C
141 src/stackwalk-aarch64.C
142 src/Relocation/Widgets/CFWidget-aarch64.C
146 if (PLATFORM MATCHES freebsd)
147 set (SRC_LIST ${SRC_LIST}
151 src/syscallNotification.C
152 src/syscall-freebsd.C
154 elseif (PLATFORM MATCHES linux OR PLATFORM MATCHES bgq)
155 set (SRC_LIST ${SRC_LIST}
159 src/syscallNotification.C
162 if (PLATFORM MATCHES i386 OR PLATFORM MATCHES x86_64)
163 set (SRC_LIST ${SRC_LIST} src/linux-x86.C)
164 elseif (PLATFORM MATCHES ppc)
165 set (SRC_LIST ${SRC_LIST} src/linux-power.C)
166 elseif (PLATFORM MATCHES aarch64)
167 set (SRC_LIST ${SRC_LIST} src/linux-aarch64.C)
169 elseif(PLATFORM MATCHES windows OR PLATFORM MATCHES nt)
170 set (SRC_LIST ${SRC_LIST}
171 src/hybridCallbacks.C
172 src/hybridInstrumentation.C
173 src/hybridOverwrites.C
177 src/MemoryEmulator/memEmulator.C
178 src/MemoryEmulator/memEmulatorTransformer.C
179 src/MemoryEmulator/memEmulatorWidget.C
180 src/Relocation/DynAddrSpace.C
181 src/Relocation/DynCFGMaker.C
182 src/Relocation/DynInstrumenter.C
183 src/Relocation/DynObject.C
184 src/Relocation/DynPointMaker.C
188 set_source_files_properties(${SRC_LIST} PROPERTIES LANGUAGE CXX)
189 add_definitions(-DBPATCH_DLL_BUILD)
190 if (PLATFORM MATCHES i386 AND UNIX)
191 set (SRC_LIST ${SRC_LIST} src/cpuid-x86.S)
192 set_source_files_properties(src/cpuid-x86.S PROPERTIES LANGUAGE C)
195 dyninst_library(dyninstAPI common instructionAPI stackwalk pcontrol patchAPI parseAPI symtabAPI)
198 # Boost auto-links on Windows; don't double-link
199 target_link_private_libraries(dyninstAPI ${Boost_LIBRARIES})
200 target_link_private_libraries (dyninstAPI pthread)
202 target_link_private_libraries(dyninstAPI dbghelp WS2_32 imagehlp)
206 install(SCRIPT "${RT_BINARY_DIR}/cmake_install.cmake")