CMakeLists.txt 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. #
  2. # Copyright 2017 The Abseil Authors.
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # https://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. #
  16. absl_cc_library(
  17. NAME
  18. stacktrace
  19. HDRS
  20. "stacktrace.h"
  21. "internal/stacktrace_aarch64-inl.inc"
  22. "internal/stacktrace_arm-inl.inc"
  23. "internal/stacktrace_config.h"
  24. "internal/stacktrace_emscripten-inl.inc"
  25. "internal/stacktrace_generic-inl.inc"
  26. "internal/stacktrace_powerpc-inl.inc"
  27. "internal/stacktrace_riscv-inl.inc"
  28. "internal/stacktrace_unimplemented-inl.inc"
  29. "internal/stacktrace_win32-inl.inc"
  30. "internal/stacktrace_x86-inl.inc"
  31. SRCS
  32. "stacktrace.cc"
  33. COPTS
  34. ${ABSL_DEFAULT_COPTS}
  35. DEPS
  36. absl::debugging_internal
  37. absl::config
  38. absl::core_headers
  39. PUBLIC
  40. )
  41. absl_cc_library(
  42. NAME
  43. symbolize
  44. HDRS
  45. "symbolize.h"
  46. "internal/symbolize.h"
  47. SRCS
  48. "symbolize.cc"
  49. "symbolize_darwin.inc"
  50. "symbolize_elf.inc"
  51. "symbolize_emscripten.inc"
  52. "symbolize_unimplemented.inc"
  53. "symbolize_win32.inc"
  54. COPTS
  55. ${ABSL_DEFAULT_COPTS}
  56. LINKOPTS
  57. ${ABSL_DEFAULT_LINKOPTS}
  58. $<$<BOOL:${MINGW}>:"dbghelp">
  59. DEPS
  60. absl::debugging_internal
  61. absl::demangle_internal
  62. absl::base
  63. absl::config
  64. absl::core_headers
  65. absl::dynamic_annotations
  66. absl::malloc_internal
  67. absl::raw_logging_internal
  68. absl::strings
  69. PUBLIC
  70. )
  71. absl_cc_test(
  72. NAME
  73. symbolize_test
  74. SRCS
  75. "symbolize_test.cc"
  76. COPTS
  77. ${ABSL_TEST_COPTS}
  78. $<$<BOOL:${MSVC}>:-Z7>
  79. LINKOPTS
  80. $<$<BOOL:${MSVC}>:-DEBUG>
  81. DEPS
  82. absl::stack_consumption
  83. absl::symbolize
  84. absl::base
  85. absl::config
  86. absl::core_headers
  87. absl::memory
  88. absl::raw_logging_internal
  89. absl::strings
  90. GTest::gmock
  91. )
  92. absl_cc_library(
  93. NAME
  94. examine_stack
  95. HDRS
  96. "internal/examine_stack.h"
  97. SRCS
  98. "internal/examine_stack.cc"
  99. COPTS
  100. ${ABSL_DEFAULT_COPTS}
  101. DEPS
  102. absl::stacktrace
  103. absl::symbolize
  104. absl::config
  105. absl::core_headers
  106. absl::raw_logging_internal
  107. )
  108. absl_cc_library(
  109. NAME
  110. failure_signal_handler
  111. HDRS
  112. "failure_signal_handler.h"
  113. SRCS
  114. "failure_signal_handler.cc"
  115. COPTS
  116. ${ABSL_DEFAULT_COPTS}
  117. DEPS
  118. absl::examine_stack
  119. absl::stacktrace
  120. absl::base
  121. absl::config
  122. absl::core_headers
  123. absl::errno_saver
  124. absl::raw_logging_internal
  125. PUBLIC
  126. )
  127. absl_cc_test(
  128. NAME
  129. failure_signal_handler_test
  130. SRCS
  131. "failure_signal_handler_test.cc"
  132. COPTS
  133. ${ABSL_TEST_COPTS}
  134. DEPS
  135. absl::failure_signal_handler
  136. absl::stacktrace
  137. absl::symbolize
  138. absl::strings
  139. absl::raw_logging_internal
  140. Threads::Threads
  141. GTest::gmock
  142. )
  143. absl_cc_library(
  144. NAME
  145. debugging_internal
  146. HDRS
  147. "internal/address_is_readable.h"
  148. "internal/elf_mem_image.h"
  149. "internal/vdso_support.h"
  150. SRCS
  151. "internal/address_is_readable.cc"
  152. "internal/elf_mem_image.cc"
  153. "internal/vdso_support.cc"
  154. COPTS
  155. ${ABSL_DEFAULT_COPTS}
  156. DEPS
  157. absl::core_headers
  158. absl::config
  159. absl::dynamic_annotations
  160. absl::errno_saver
  161. absl::raw_logging_internal
  162. )
  163. absl_cc_library(
  164. NAME
  165. demangle_internal
  166. HDRS
  167. "internal/demangle.h"
  168. SRCS
  169. "internal/demangle.cc"
  170. COPTS
  171. ${ABSL_DEFAULT_COPTS}
  172. DEPS
  173. absl::base
  174. absl::core_headers
  175. PUBLIC
  176. )
  177. absl_cc_test(
  178. NAME
  179. demangle_test
  180. SRCS
  181. "internal/demangle_test.cc"
  182. COPTS
  183. ${ABSL_TEST_COPTS}
  184. DEPS
  185. absl::demangle_internal
  186. absl::stack_consumption
  187. absl::config
  188. absl::core_headers
  189. absl::memory
  190. absl::raw_logging_internal
  191. GTest::gmock_main
  192. )
  193. absl_cc_library(
  194. NAME
  195. leak_check
  196. HDRS
  197. "leak_check.h"
  198. SRCS
  199. "leak_check.cc"
  200. COPTS
  201. ${ABSL_DEFAULT_COPTS}
  202. DEPS
  203. absl::config
  204. absl::core_headers
  205. PUBLIC
  206. )
  207. absl_cc_library(
  208. NAME
  209. leak_check_disable
  210. SRCS
  211. "leak_check_disable.cc"
  212. COPTS
  213. ${ABSL_DEFAULT_COPTS}
  214. PUBLIC
  215. )
  216. absl_cc_library(
  217. NAME
  218. leak_check_api_enabled_for_testing
  219. HDRS
  220. "leak_check.h"
  221. SRCS
  222. "leak_check.cc"
  223. COPTS
  224. ${ABSL_DEFAULT_COPTS}
  225. $<$<BOOL:${ABSL_HAVE_LSAN}>:-DLEAK_SANITIZER>
  226. TESTONLY
  227. )
  228. absl_cc_library(
  229. NAME
  230. leak_check_api_disabled_for_testing
  231. HDRS
  232. "leak_check.h"
  233. SRCS
  234. "leak_check.cc"
  235. COPTS
  236. ${ABSL_DEFAULT_COPTS}
  237. "-ULEAK_SANITIZER"
  238. TESTONLY
  239. )
  240. absl_cc_test(
  241. NAME
  242. leak_check_test
  243. SRCS
  244. "leak_check_test.cc"
  245. COPTS
  246. ${ABSL_TEST_COPTS}
  247. "$<$<BOOL:${ABSL_HAVE_LSAN}>:-DABSL_EXPECT_LEAK_SANITIZER>"
  248. LINKOPTS
  249. "${ABSL_LSAN_LINKOPTS}"
  250. DEPS
  251. absl::leak_check_api_enabled_for_testing
  252. absl::base
  253. GTest::gmock_main
  254. )
  255. absl_cc_test(
  256. NAME
  257. leak_check_no_lsan_test
  258. SRCS
  259. "leak_check_test.cc"
  260. COPTS
  261. ${ABSL_TEST_COPTS}
  262. "-UABSL_EXPECT_LEAK_SANITIZER"
  263. DEPS
  264. absl::leak_check_api_disabled_for_testing
  265. absl::base
  266. GTest::gmock_main
  267. )
  268. absl_cc_test(
  269. NAME
  270. disabled_leak_check_test
  271. SRCS
  272. "leak_check_fail_test.cc"
  273. COPTS
  274. ${ABSL_TEST_COPTS}
  275. LINKOPTS
  276. "${ABSL_LSAN_LINKOPTS}"
  277. DEPS
  278. absl::leak_check_api_enabled_for_testing
  279. absl::leak_check_disable
  280. absl::base
  281. absl::raw_logging_internal
  282. GTest::gmock_main
  283. )
  284. absl_cc_library(
  285. NAME
  286. stack_consumption
  287. HDRS
  288. "internal/stack_consumption.h"
  289. SRCS
  290. "internal/stack_consumption.cc"
  291. COPTS
  292. ${ABSL_DEFAULT_COPTS}
  293. DEPS
  294. absl::config
  295. absl::core_headers
  296. absl::raw_logging_internal
  297. TESTONLY
  298. )
  299. absl_cc_test(
  300. NAME
  301. stack_consumption_test
  302. SRCS
  303. "internal/stack_consumption_test.cc"
  304. COPTS
  305. ${ABSL_TEST_COPTS}
  306. DEPS
  307. absl::stack_consumption
  308. absl::core_headers
  309. absl::raw_logging_internal
  310. GTest::gmock_main
  311. )
  312. # component target
  313. absl_cc_library(
  314. NAME
  315. debugging
  316. COPTS
  317. ${ABSL_DEFAULT_COPTS}
  318. DEPS
  319. absl::stacktrace
  320. absl::leak_check
  321. PUBLIC
  322. )