Commit Graph

144 Commits

Author SHA1 Message Date
Jeremy Rifkin
26e009c688
Add cpptrace::from_current (#155) 2024-08-18 11:11:47 -05:00
Jeremy
90de25f1df
Bump to v0.6.3 2024-07-13 23:16:13 -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 Rifkin
7497bf2a6f
Unit test more thoroughly and rework matrix ci system (#147) 2024-07-12 00:59:22 -05:00
Jeremy
ea566778fc
Bump to v0.6.2 2024-06-19 20:41:34 -05:00
Jeremy
7543677d6f
Bump to v0.6.1 2024-06-11 22:36:32 -05:00
Jeremy
4456623391
Fix dladdr1 and dl_find_object tests 2024-06-11 22:22:52 -05:00
Jeremy
06226ee2aa
Bump to 0.6.0 2024-05-28 22:23:48 -05:00
Jeremy
1ab65a2040
Remove /Wx from msvc outside of a werror build 2024-05-28 21:55:38 -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
810b74ecaa
Refactor symbols_with_libdwarf indo separate files 2024-05-25 14:29:55 -05:00
Jeremy
583c0efdb3
Undo ee6787f0ed which pointed to a non-release libdwarf commit 2024-05-25 00:43:48 -05:00
Jeremy
7916f10278
Attempt to fallback to dladdr if dladdr1 is not available 2024-05-24 23:04:20 -05:00
Jeremy
470b0c8eb0
Only use -Wpedantic during a -Werror build 2024-05-23 22:28:02 -05:00
Jeremy Rifkin
b3836e9318
Support -Wpedantic if someone sets the flag globally while using FetchContent (#127)
Closes #107
2024-05-23 21:18:11 -05:00
Jeremy
32275cd679
Quick patch for when LIBUNWIND_LDFLAGS isn't set 2024-05-21 22:40:47 -05:00
Jeremy
10e7a5e442
Fix again 2024-05-15 20:00:53 -05:00
Jeremy
2172164478
Unbreak dev 2024-05-15 19:44:26 -05:00
Jeremy
2e1f14c7de
Add a warning flag 2024-05-12 22:02:34 -05:00
Jeremy
ee6787f0ed
Update dev to point at latest libdwarf dev commit with a pe heuristic fix 2024-05-10 12:06:56 -05:00
Jeremy
b1e3179a97
A couple quick fixes 2024-05-05 17:51:50 -05:00
Jeremy
da0aa4d5c0
Split a bunch of internal headers into .cpp/.hpp 2024-05-05 17:44:27 -05:00
Jeremy
93b1d1c76a
Add basic unittest 2024-05-04 22:34:25 -05:00
Jeremy
f8ebdd26be
Small test refactor 2024-05-04 11:52:45 -05:00
Jeremy
d7c19a5544
Updates for conda 2024-05-03 20:07:09 -05:00
Jeremy
0db934caf7
Bump to 0.5.4 2024-05-02 11:30:54 -05:00
Jeremy
14d25fd89a
Bump to v0.5.3 and update changelog 2024-04-29 23:12:53 -05:00
Jeremy
db0738332e
Bump libdwarf 2024-04-28 19:58:43 -05:00
Jeremy
c1b7be9f83
Bump to v0.5.2 2024-03-31 16:19:27 -05:00
Jeremy
b72164b39b
Bump to v0.5.1 2024-03-20 22:12:26 -05:00
Jeremy
2985cb1d6c
Merge branch 'main' into dev 2024-03-16 23:31:57 -05:00
Jeremy
c5138e2f40
Add nominmax for windows.h 2024-03-16 19:34:16 -05:00
Jeremy
9b69d200c1
Bump to v0.5.0 2024-03-16 18:03:34 -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 Rifkin
d99f1745d2
Basic source code snippet system (#98) 2024-02-28 23:29:24 -06:00
Jeremy
055e0d94cf
Use ccache if possible, at top-level 2024-02-28 22:09:54 -06:00
Jeremy
58992cbeb6
Bump to 0.4.1 2024-02-27 22:53:59 -06:00
Jeremy
d5b2646283
Merge branch 'main' into dev 2024-02-27 00:23:10 -06:00
Jeremy
b7d14bc952
Only deal with zstd if not using CPPTRACE_USE_EXTERNAL_LIBDWARF 2024-02-19 16:46:48 -06:00
Jeremy
a162423800
Update conan config to not use nested dwarf header path 2024-02-19 10:39:07 -06:00
ethanol20924
c3b38381ab
Small fix to allow for compiling with Homebrew installed Clang on Mac (#89)
When building with Clang installed with Homebrew:

```
-- The C compiler identification is Clang 17.0.6
-- The CXX compiler identification is Clang 17.0.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/homebrew/opt/llvm/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/homebrew/opt/llvm/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
```

I get the following error:

```
/opt/homebrew/opt/llvm/bin/llvm-ranlib: error: Invalid option: '-no_warning_for_no_symbols'
make[2]: *** [_deps/zstd-build/lib/libzstd.a] Error 1
make[2]: *** Deleting file `_deps/zstd-build/lib/libzstd.a'
make[1]: *** [_deps/zstd-build/lib/CMakeFiles/libzstd_static.dir/all] Error 2
make: *** [all] Error 2
```

If I instead build with AppleClang:

```
-- The C compiler identification is AppleClang 15.0.0.15000100
-- The CXX compiler identification is AppleClang 15.0.0.15000100
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
```

It works as expected.

Source of the problem is found at `CMakeLists.txt:282`:

```CMake
if(APPLE)
  SET(CMAKE_C_ARCHIVE_FINISH   "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
  SET(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
endif()
```

Changing it to check specifically for AppleClang appears to fix the
problem for me:

```CMake
if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
  SET(CMAKE_C_ARCHIVE_FINISH   "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
  SET(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
endif()
```
2024-02-16 11:28:38 -06:00
Jeremy
7fda402638
Bump to 0.4.0 2024-02-11 12:41:21 -06:00
Jeremy
bc662438f3
Small cmake adjustments 2024-02-11 11:53:33 -06:00
Jeremy
df6e02087e
Update for vcpkg 2024-02-07 22:08:45 -06:00
Jeremy
60dd6b5065
Fix issues related to export directives 2024-02-07 21:40:52 -06:00
Jeremy
adefa5c234
Bump libdwarf hashes and use the lightweight mirror 2024-02-07 21:34:41 -06:00
Jeremy
5e65ccecc0
Add external zstd option 2024-02-04 14:35:49 -06:00
Jeremy
c161293e89
Update for zstd target handling again 2024-02-04 00:17:25 -06:00
Jeremy
ab9a832a30
Try to get some updated libdwarf/zstd handling 2024-02-04 00:00:12 -06:00
Jeremy Rifkin
a65aed2752
Aquire zstd with fetchcontent for libdwarf 9 (#85) 2024-02-01 00:14:48 -06:00