Jeremy Rifkin
b724d1328c
Add very basic dwarfdump tool
2025-02-02 19:28:01 -06:00
Jeremy Rifkin
f16c36e0b6
Do a unit test without debug symbols
2025-01-28 00:48:38 -06:00
Jeremy Rifkin
f42ed3500d
Use underscores in component names instead of hyphens due to cpack, resolves #203
2025-01-04 23:16:37 -06:00
Jeremy Rifkin
d5a2043fd3
Set C++ standard for old compiler versions in check_support, fixes #200
2024-12-30 22:41:54 -06:00
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