Bump versions everywhere to 8.2.0
[dyninst.git] / stackwalk / CMakeLists.txt
1 # CMake configuration for proccontrol directory
2
3 include_directories (
4     ${PROJECT_SOURCE_DIR}/stackwalk/src
5   )
6
7 set (SRC_LIST
8     src/frame.C 
9     src/framestepper.C 
10     src/swk_errors.C 
11     src/symlookup.C 
12     src/walker.C 
13     src/procstate.C 
14     src/steppergroup.C 
15     src/libstate.C 
16     src/sw_c.C 
17     src/sw_pcontrol.C  
18 )
19
20 if (PLATFORM MATCHES freebsd)
21 set (SRC_LIST ${SRC_LIST}
22      src/freebsd-swk.C 
23      src/x86-swk.C
24      src/symtab-swk.C 
25      src/dbginfo-stepper.C 
26      src/x86-wanderer.C 
27      src/linuxbsd-swk.C
28      src/linuxbsd-x86-swk.C 
29      src/freebsd-x86-swk.C
30 )
31 elseif (PLATFORM MATCHES linux OR PLATFORM MATCHES freebsd)
32     set (SRC_LIST ${SRC_LIST}
33         src/symtab-swk.C 
34         src/linuxbsd-swk.C 
35         src/linux-swk.C
36     )
37     if (PLATFORM MATCHES ppc)
38         set (SRC_LIST ${SRC_LIST}
39             src/linux-ppc-swk.C 
40             src/ppc-swk.C
41         )
42
43     elseif (PLATFORM MATCHES i386 OR PLATFORM MATCHES x86_64)
44         set (SRC_LIST ${SRC_LIST}
45             src/dbginfo-stepper.C 
46             src/linux-x86-swk.C 
47             src/x86-wanderer.C 
48             src/linuxbsd-x86-swk.C 
49             src/x86-swk.C 
50         )
51     endif()
52 elseif (PLATFORM MATCHES bgq)
53     set (SRC_LIST ${SRC_LIST}
54         src/ppc-swk.C 
55         src/symtab-swk.C 
56         src/linuxbsd-swk.C
57         src/bluegeneq-swk.C
58     )
59 endif()
60 if (PLATFORM MATCHES nt OR PLATFORM MATCHES windows)
61     set (SRC_LIST ${SRC_LIST}
62         src/x86-wanderer.C 
63         src/x86-swk.C
64         src/win-x86-swk.C
65     )
66 endif()
67
68 if (SW_ANALYSIS_STEPPER)
69     set (SRC_LIST ${SRC_LIST}
70         src/analysis_stepper.C
71         src/callchecker-IAPI.C
72     )
73 else ()
74     set (SRC_LIST ${SRC_LIST}
75         src/callchecker.C
76     )
77 endif()
78
79 SET_SOURCE_FILES_PROPERTIES(${SRC_LIST} PROPERTIES LANGUAGE CXX)
80
81 ADD_DEFINITIONS(-DSTACKWALKER_EXPORTS)
82
83 add_library (stackwalk ${SRC_LIST})
84 add_library (stackwalk_static STATIC ${SRC_LIST})
85
86 target_link_libraries (stackwalk pcontrol)
87
88 if (UNIX)
89 target_link_libraries (stackwalk ${LIBELF_LIBRARIES})
90 target_link_libraries (stackwalk ${LIBDWARF_LIBRARIES})
91 endif()
92
93 if (LIGHTWEIGHT_SYMTAB)
94 target_link_libraries(stackwalk symLite)
95 else()
96 target_link_libraries(stackwalk symtabAPI)
97 endif()
98
99 if (SW_ANALYSIS_STEPPER)
100 target_link_libraries(stackwalk parseAPI)
101 endif()
102
103 FILE (GLOB headers "h/*.h")
104 set_target_properties (stackwalk stackwalk_static PROPERTIES PUBLIC_HEADER "${headers}")
105
106 INSTALL (TARGETS stackwalk stackwalk_static
107         EXPORT DyninstTargets
108         RUNTIME DESTINATION ${INSTALL_LIB_DIR}
109         LIBRARY DESTINATION ${INSTALL_LIB_DIR}
110         ARCHIVE DESTINATION ${INSTALL_LIB_DIR}
111         PUBLIC_HEADER DESTINATION ${INSTALL_INCLUDE_DIR})