1 # CMake configuration for parseAPI directory
4 ${PROJECT_SOURCE_DIR}/parseAPI/src
17 src/InstructionAdapter.C
18 src/Parser-speculative.C
26 src/StackTamperVisitor.C
27 src/JumpTableFormatPred.C
28 src/JumpTableIndexPred.C
29 src/IndirectAnalyzer.C
30 src/IndirectASTVisitor.C
31 src/SymbolicExpression.C
32 src/BoundFactCalculator.C
35 ../dataflowAPI/src/ABI.C
41 src/ProbabilisticParser.C
45 ../dataflowAPI/src/ABI.C
46 ../dataflowAPI/src/Absloc.C
47 ../dataflowAPI/src/AbslocInterface.C
48 ../dataflowAPI/src/convertOpcodes.C
49 ../dataflowAPI/src/debug_dataflow.C
50 ../dataflowAPI/src/ExpressionConversionVisitor.C
51 ../dataflowAPI/src/InstructionCache.C
52 ../dataflowAPI/src/liveness.C
53 ../dataflowAPI/src/RegisterMap.C
54 ../dataflowAPI/src/RoseImpl.C
55 ../dataflowAPI/src/RoseInsnFactory.C
56 ../dataflowAPI/src/slicing.C
57 ../dataflowAPI/src/stackanalysis.C
58 ../dataflowAPI/src/SymbolicExpansion.C
59 ../dataflowAPI/src/SymEval.C
60 ../dataflowAPI/src/SymEvalPolicy.C
61 ../dataflowAPI/src/templates.C
62 ../dataflowAPI/src/Visitors.C
63 ../dataflowAPI/rose/ExtentMap.C
64 ../dataflowAPI/rose/rangemap.C
65 ../dataflowAPI/rose/util/Assert.C
66 ../dataflowAPI/rose/util/Message.C
67 ../dataflowAPI/rose/util/Sawyer.C
68 ../dataflowAPI/rose/util/Synchronization.C
69 ../dataflowAPI/rose/util/rose_getline.C
70 ../dataflowAPI/rose/util/SmallObject.C
71 ../dataflowAPI/rose/util/Stopwatch.C
72 ../dataflowAPI/rose/util/StringUtility.C
73 ../dataflowAPI/rose/util/Attribute.C
74 ../dataflowAPI/rose/util/Combinatorics.C
75 ../dataflowAPI/rose/util/LinearCongruentialGenerator.C
76 ../dataflowAPI/rose/semantics/BaseSemantics2.C
77 #../dataflowAPI/rose/semantics/ConcreteSemantics2.C
78 ../dataflowAPI/rose/semantics/DispatcherARM64.C
79 ../dataflowAPI/rose/semantics/DispatcherPowerpc.C
80 ../dataflowAPI/rose/semantics/RegisterParts.C
81 ../dataflowAPI/rose/semantics/Registers.C
82 #../dataflowAPI/rose/semantics/SMTSolver.C
83 ../dataflowAPI/rose/semantics/BinarySymbolicExpr.C
84 ../dataflowAPI/rose/semantics/RegisterStateGeneric.C
85 ../dataflowAPI/rose/semantics/SymEvalSemantics.C
88 # FIXME: Rose needs a bunch of warning cleanup
89 SET_SOURCE_FILES_PROPERTIES(${ROSE_SRC} PROPERTIES LANGUAGE CXX COMPILE_FLAGS -w)
90 set (SRC_LIST ${SRC_LIST}
94 if (LIGHTWEIGHT_SYMTAB)
95 set (SRC_LIST ${SRC_LIST}
96 src/SymLiteCodeSource.C
99 set (SRC_LIST ${SRC_LIST}
100 src/SymtabCodeSource.C
104 if (ENABLE_PARSE_API_GRAPHS)
105 set (SRC_LIST ${SRC_LIST}
111 ADD_DEFINITIONS(-DPARSER_LIB)
112 ADD_DEFINITIONS(-DDATAFLOW_LIB)
114 ADD_DEFINITIONS(-DROSE_UTIL_EXPORTS)
115 ADD_DEFINITIONS(-DNOMINMAX)
117 dyninst_library(parseAPI common instructionAPI ${SYMREADER})
119 target_link_private_libraries(parseAPI ${Boost_LIBRARIES} ${TBB_LIBRARIES} tbbmalloc)
122 target_link_private_libraries(parseAPI shlwapi)
124 message(STATUS "Architecture is: ${CMAKE_LIBRARY_ARCHITECTURE}")
125 FILE (GLOB headers "h/*.h")
126 FILE (GLOB dataflowheaders "../dataflowAPI/h/*.h")
127 set_target_properties (parseAPI PROPERTIES PUBLIC_HEADER "${headers};${dataflowheaders}")
130 set_target_properties (parseAPI PROPERTIES COMPILE_FLAGS ${OpenMP_CXX_FLAGS} LINK_FLAGS ${OpenMP_CXX_FLAGS})
133 if(${ENABLE_STATIC_LIBS})
134 set_target_properties (parseAPI_static PROPERTIES PUBLIC_HEADER "${headers};${dataflowheaders}")
137 install (TARGETS parseAPI
138 RUNTIME DESTINATION ${INSTALL_LIB_DIR}
139 LIBRARY DESTINATION ${INSTALL_LIB_DIR}
140 ARCHIVE DESTINATION ${INSTALL_LIB_DIR}
141 PUBLIC_HEADER DESTINATION ${INSTALL_INCLUDE_DIR})