Commit Graph

54 Commits

Author SHA1 Message Date
Jeremy Rifkin
43b0ed1b21
Add version macros header 2024-12-21 15:41:13 -06:00
Jeremy Rifkin
ddec65195d
Bump to libdwarf 0.11.1 2024-12-03 23:11:25 -06:00
Jeremy Rifkin
d43318aa92
Add cmake export set, fixes #189 2024-11-15 17:14:08 -06:00
Jeremy Rifkin
04b85a0dfa
Refactor auto-config logic out of the main CMakeLists.txt 2024-11-03 18:42:36 -06:00
Vittorio Romeo
0ddbbf43cb
Improve compilation times on Windows (#172)
Thank you for the very useful library!

Few improvements:
- Better header hygiene
- Isolate `windows.h` to `.cpp` whenever possible
- Use `WIN32_LEAN_AND_MEAN`
- Remove unused headers

Tested on Windows with 
```
cmake .. -DCMAKE_BUILD_TYPE=Debug -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=1 
  -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-ftime-trace -Wall -Wextra -Wpedantic 
  -Wno-ignored-attributes" -DCMAKE_COLOR_DIAGNOSTICS=1 -DCPPTRACE_BUILD_TESTING=1 
  -DCPPTRACE_BUILD_BENCHMARKING=0
```

There's a lot more that can be improved if you are interested.

---------

Co-authored-by: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com>
2024-10-02 10:55:13 -05:00
Jeremy Rifkin
4ed90c1585
Switch away from FetchContent_Populated, #171 2024-09-13 00:42:17 -05:00
Jeremy Rifkin
f9ab949a9e
Bump hard_max_frames to 400 2024-09-12 23:12:11 -05:00
Jeremy Rifkin
7fdbbfdf67
Fix compilation on ios (#167)
This aims to address #163
2024-09-04 17:22:32 -05:00
Jeremy Rifkin
3b0eb54797
Implement a system for preventing redundant tracing during search, and other various improvements for the from_current system (#159) 2024-08-20 23:10:17 -05:00
Jeremy Rifkin
3e131ce8c6
Experiment with some benchmarking 2024-08-18 18:59:50 -05:00
Jeremy Rifkin
d64a935fb4
Bump to libdwarf 0.11.0 2024-08-18 14:11:16 -05:00
Jeremy Rifkin
5558210cbe
Bump zstd to 1.5.6, #150 2024-08-18 11:20:21 -05:00
Jeremy
aae6091395
Add a flag to disable the inclusion of <format> and the provision for std::formatter specializations 2024-07-12 17:22:58 -05:00
Jeremy
dbeb12b71d
Fix zstd/libdwarf setting placement, they need to not just be top-level 2024-07-12 16:59:27 -05:00
Jeremy Rifkin
7497bf2a6f
Unit test more thoroughly and rework matrix ci system (#147) 2024-07-12 00:59:22 -05:00
Jeremy Rifkin
7a9ed920d5
Add unit tests to CI (#140) 2024-06-19 20:33:32 -05:00
Jeremy
4456623391
Fix dladdr1 and dl_find_object tests 2024-06-11 22:22:52 -05:00
Jeremy
9d1c592f0c
Remove CPPTRACE_CONDA_LIBDWARF_WEIRDNESS bodge and better support libdwarf via pkgconfig, resolves #131 2024-05-28 21:32:54 -05:00
Jeremy
2499fa4a67
Add option to build tests with external gtest, closes #130 2024-05-28 20:56:54 -05:00
Jeremy
7916f10278
Attempt to fallback to dladdr if dladdr1 is not available 2024-05-24 23:04:20 -05:00
Jeremy
9275f62fc5
Fix ci? 2024-05-05 15:30:24 -05:00
Jeremy
d7c19a5544
Updates for conda 2024-05-03 20:07:09 -05:00
Jeremy Rifkin
ed790ea82a
Improve zstd handling (#115)
This PR adds a Findzstd.cmake script to cpptrace's install so that
`find_dependency(zstd)` can succeed on installations that don't include
zstdConfig.cmake/zstd-config.cmake.

The reason `find_dependency(zstd)` is needed in cpptrace's config,
despite `find_dependency(zstd)` also being in libdwarf's cmake and
cpptrace not needing zstd, is that libdwarf's cmake doesn't define
`zstd::libzstd_static` / `zstd::libzstd_shared` targets.

This should fix #112.
2024-04-28 23:56:27 -05:00
Adrien Cassagne
d8e23c1e93
Add 'POSITION_INDEPENDENT_CODE ON' (also known as '-fPIE'). (#99)
First thx for these very useful lib!

I encountered some issues when linking with `libcpptrace`. Typically,
here is the error I got:
```
/usr/bin/ld: lib/cpptrace/lib/libcpptrace.a(cpptrace.cpp.o): relocation R_X86_64_32S against symbol `_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21' can not be used when making a PIE object; recompile with -fPIE
```
I just added the `POSITION_INDEPENDENT_CODE ON` flag on the targets, and
now it works like a charm :-).
2024-03-05 08:57:04 -06:00
Jeremy
60dd6b5065
Fix issues related to export directives 2024-02-07 21:40:52 -06:00
Jeremy
5232bb04fd
Use CPPTRACE_USE_EXTERNAL_ZSTD in CI 2024-02-04 14:42:05 -06:00
Jeremy
5e65ccecc0
Add external zstd option 2024-02-04 14:35:49 -06:00
Jeremy Rifkin
a65aed2752
Aquire zstd with fetchcontent for libdwarf 9 (#85) 2024-02-01 00:14:48 -06:00
Jeremy
6b87927acf
No longer try to install build/include 2024-01-29 23:31:40 -06:00
Jeremy
58837d7069
Fix cpptrace-config-cmake issue 2024-01-29 22:18:15 -06:00
Jeremy
3d74da8df1
Turn on -Werror for CI pipelines 2024-01-14 23:42:15 -06:00
Jeremy
5d64a98d08
Handle libdwarf's sporadic header placement better 2024-01-14 03:11:33 -06:00
Jeremy
ca76080968
Updates to better support external libdwarf, because nothing about how libdwarf's cmake is setup is consistent 2024-01-13 01:31:10 -06:00
Jeremy
728ec2cb40
Add another link for vcpkg 2023-11-21 22:44:13 -06:00
Jeremy
a106bc4680
Use libdwarf::libdwarf on conan 2023-11-21 15:17:38 -06:00
Jeremy
92c3b63fc0
Install headers to the normal place for now 2023-11-21 12:08:53 -06:00
Jeremy
24e64ab385
Check for _dl_find_object support 2023-11-19 23:17:11 -06:00
Jeremy
15572b029d
Bump hard max frames from 100 to 200 2023-11-15 12:47:36 -05:00
Jeremy
37a3ea7978
Adjust indentation 2023-11-15 00:36:02 -05:00
Jeremy
bb487d3e56
Conditionally find_dependency(libdwarf) 2023-11-15 00:34:45 -05:00
Jeremy
b28cb54ced
Rename demo/test options to CPPTRACE_BUILD_TESTING 2023-11-13 10:44:50 -05:00
Jeremy Rifkin
5541ec5519
Add libunwind back-end (#62) 2023-11-12 17:15:59 -05:00
Jeremy Rifkin
e717930f5d
Unbundle libdwarf (#58)
Pending #57
2023-11-06 13:04:58 -05:00
Jeremy Rifkin
98368fb417
CMake improvements (#57) 2023-11-06 12:12:07 -05:00
Jeremy
05c3f7160b
Add specialized terminate handler and add error handling info to the README. Also updated demo. 2023-10-07 17:34:49 -04:00
Jeremy
ab630c052b
Update has_stackwalk 2023-10-05 09:55:07 -04:00
Jeremy
b690d3805d
Add stackwalk64 check/fallback 2023-10-04 15:44:39 -04:00
Jeremy
640aeadf91
Remove full tracing options 2023-09-18 14:37:27 -04:00
Jeremy Rifkin
9d52dc24e2
Auto config improvements (#20) 2023-07-23 23:59:34 -04:00
Jeremy Rifkin
73925368cc
Libgcc unwind backend (#11) 2023-07-20 01:14:38 -04:00