Move dynutil/h to common/h; move common/h to common/src. Update CMakeLists.txt
[dyninst.git] / stackwalk / CMakeLists.txt
1 # CMake configuration for proccontrol directory
2
3 include_directories (
4     ${PROJECT_SOURCE_DIR}/proccontrol/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/dbginfo-stepper.C 
35      src/linuxbsd-swk.C 
36      src/linux-swk.C
37 )
38 if (PLATFORM MATCHES ppc)
39 set (SRC_LIST ${SRC_LIST}
40      src/linux-ppc-swk.C 
41      src/ppc-swk.C
42 )
43 elseif (PLATFORM MATCHES i386 OR PLATFORM MATCHES x86_64)
44 set (SRC_LIST ${SRC_LIST}
45      src/linux-x86-swk.C 
46      src/x86-wanderer.C 
47      src/linuxbsd-x86-swk.C 
48      src/x86-swk.C 
49 )
50 endif()
51 elseif (PLATFORM MATCHES bgq)
52 set (SRC_LIST ${SRC_LIST}
53     src/ppc-swk.C 
54     src/symtab-swk.C 
55     src/linuxbsd-swk.C
56     src/bluegeneq-swk.C
57 )
58 endif()
59
60
61 if (SW_ANALYSIS_STEPPER)
62 set (SRC_LIST ${SRC_LIST}
63      src/analysis_stepper.C
64      src/callchecker-IAPI.C
65   )
66 else ()
67 set (SRC_LIST ${SRC_LIST}
68      src/callchecker.C
69   )
70 endif()
71
72
73 add_library (stackwalker ${SRC_LIST})
74
75 target_link_libraries (stackwalker pcontrol)
76
77 if (UNIX)
78 target_link_libraries (stackwalker ${LIBELF_LIBRARIES})
79 target_link_libraries (stackwalker ${LIBDWARF_LIBRARIES})
80 endif()
81
82 if (LIGHTWEIGHT_SYMTAB)
83 target_link_libraries(stackwalker symLite)
84 else()
85 target_link_libraries(stackwalker symtabAPI)
86 endif()
87
88 if (SW_ANALYSIS_STEPPER)
89 target_link_libraries(stackwalker parseAPI)
90 endif()
91
92 FILE (GLOB headers "h/*.h")
93 set_target_properties (stackwalker PROPERTIES PUBLIC_HEADER "${headers}")
94
95 INSTALL (TARGETS stackwalker
96         EXPORT dyninst
97         LIBRARY DESTINATION ${INSTALL_LIB_DIR}
98         PUBLIC_HEADER DESTINATION ${INSTALL_INCLUDE_DIR})