CMake fixes for building/installing components separately.
[dyninst.git] / stackwalk / CMakeLists.txt
1 # CMake configuration for proccontrol directory
2
3 include_directories (
4   ${PROJECT_SOURCE_DIR}/proccontrol/h
5   ${PROJECT_SOURCE_DIR}/elf/h
6   ${PROJECT_SOURCE_DIR}/dwarf/h
7   src
8   h
9   )
10
11 set (SRC_LIST
12     src/frame.C 
13     src/framestepper.C 
14     src/swk_errors.C 
15     src/symlookup.C 
16     src/walker.C 
17     src/procstate.C 
18     src/steppergroup.C 
19     src/libstate.C 
20     src/sw_c.C 
21     src/sw_pcontrol.C  
22 )
23
24 if (PLATFORM MATCHES freebsd)
25 set (SRC_LIST ${SRC_LIST}
26      src/freebsd-swk.C 
27      src/x86-swk.C
28      src/symtab-swk.C 
29      src/dbginfo-stepper.C 
30      src/x86-wanderer.C 
31      src/linuxbsd-swk.C
32      src/linuxbsd-x86-swk.C 
33      src/freebsd-x86-swk.C
34 )
35 elseif (PLATFORM MATCHES linux OR PLATFORM MATCHES freebsd)
36     set (SRC_LIST ${SRC_LIST}
37         src/symtab-swk.C 
38         src/linuxbsd-swk.C 
39         src/linux-swk.C
40     )
41     if (PLATFORM MATCHES ppc)
42         set (SRC_LIST ${SRC_LIST}
43             src/linux-ppc-swk.C 
44             src/ppc-swk.C
45         )
46
47     elseif (PLATFORM MATCHES i386 OR PLATFORM MATCHES x86_64)
48         set (SRC_LIST ${SRC_LIST}
49             src/dbginfo-stepper.C 
50             src/linux-x86-swk.C 
51             src/x86-wanderer.C 
52             src/linuxbsd-x86-swk.C 
53             src/x86-swk.C 
54         )
55     endif()
56 elseif (PLATFORM MATCHES bgq)
57     set (SRC_LIST ${SRC_LIST}
58         src/ppc-swk.C 
59         src/symtab-swk.C 
60         src/linuxbsd-swk.C
61         src/bluegeneq-swk.C
62     )
63 endif()
64 if (PLATFORM MATCHES nt OR PLATFORM MATCHES windows)
65     set (SRC_LIST ${SRC_LIST}
66         src/x86-wanderer.C 
67         src/x86-swk.C
68         src/win-x86-swk.C
69         src/symtab-swk.C
70     )
71 endif()
72
73 if (SW_ANALYSIS_STEPPER)
74     set (SRC_LIST ${SRC_LIST}
75         src/analysis_stepper.C
76         src/callchecker-IAPI.C
77     )
78 else ()
79     set (SRC_LIST ${SRC_LIST}
80         src/callchecker.C
81     )
82 endif()
83
84 SET_SOURCE_FILES_PROPERTIES(${SRC_LIST} PROPERTIES LANGUAGE CXX)
85
86 ADD_DEFINITIONS(-DSTACKWALKER_EXPORTS)
87
88 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FORCE_FRAME_POINTER}")
89 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FORCE_FRAME_POINTER}")
90
91 set(DEPS common instructionAPI pcontrol)
92 if (UNIX)
93 set (DEPS ${DEPS} dynDwarf dynElf)
94 endif()
95
96 set (DEPS ${DEPS} ${SYMREADER})
97
98 if (SW_ANALYSIS_STEPPER)
99 set (DEPS ${DEPS} parseAPI)
100 endif()
101
102
103 dyninst_library(stackwalk ${DEPS})
104