Merge branch 'master' into VEX
[dyninst.git] / instructionAPI / CMakeLists.txt
1 # CMake configuration for instructionAPI directory
2
3 include_directories (
4     ${PROJECT_SOURCE_DIR}/instructionAPI/src
5   )
6
7
8 set (SRC_LIST
9      src/Instruction.C 
10      src/InstructionAST.C 
11      src/Operation.C 
12      src/Operand.C 
13      src/Register.C 
14      src/Expression.C 
15      src/BinaryFunction.C 
16      src/InstructionCategories.C 
17      src/Immediate.C 
18      src/InstructionDecoder.C 
19      src/InstructionDecoder-x86.C
20      src/InstructionDecoder-power.C 
21      src/InstructionDecoder-aarch64.C 
22      src/InstructionDecoderImpl.C
23   )
24 SET_SOURCE_FILES_PROPERTIES(${SRC_LIST} PROPERTIES LANGUAGE CXX)
25
26 # Shave 3 minute off of the time it takes to compile this file by falling back to not tracking
27 # variables by default, rather then waiting until the variable tracking limit
28 # is reached.
29 if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
30 set_source_files_properties(src/InstructionDecoder-aarch64.C PROPERTIES COMPILE_FLAGS
31     -fno-var-tracking-assignments)
32 endif()
33
34 ADD_DEFINITIONS(-DINSTRUCTION_LIB)
35
36 dyninst_library(instructionAPI common)
37
38 if(UNIX)
39   target_link_private_libraries(instructionAPI ${Boost_LIBRARIES})
40 endif()