12 Commits

Author SHA1 Message Date
William Woodruff
8d8daa5ccc
CHANGELOG: create skeleton (#167)
* CHANGELOG: create skeleton

* workflows/ci: pin to windows-2019 for CI builds
2022-02-25 10:23:59 -05:00
William Woodruff
1c01949da0
workflows/ci: bump msvc-dev-cmd 2022-01-31 10:00:19 -05:00
Eric Kilmer
af52e5ee8a
CI: Update setup-python action (#162)
Fixes Python 3.6 setup/download in CI
2021-12-23 15:14:56 -05:00
Eric Kilmer
94bd12ac53
Fix peaddrconv example compilation failure (#158)
Add option to build examples with main CMake.

Build examples in CI now.

Add target alias with prefix for main pe-parse library.
2021-05-19 21:56:29 -04:00
Eric Kilmer
41a08eb3ee Catch2 ASAN support with Windows MSVC
ASAN on Windows messes with exception handlers, and Catch2 doesn't
account for this. A workaround is to disable SEH on Windows with ASAN as
suggested in this reply to an existing issue
https://github.com/catchorg/Catch2/issues/898#issuecomment-841733322

CI requires some sourcing of the development tools for required paths
2021-05-19 17:40:42 -06:00
Eric Kilmer
b2d0981f2e
CI: Remove GCC 11 to fix Ubuntu 18.04 builds (#156)
Required due to issue in GHA virtual environment
https://github.com/actions/virtual-environments/issues/3376
2021-05-16 00:30:38 -04:00
Eric Kilmer
4286f109b0
Support for building with sanitizers (#149)
* Add support for building with sanitizers

* CI Enable building with ASAN+UBSAN sanitizers in Debug builds

* Add directions to README

* Better CI reporting and matrix for sanitizer runs
2021-03-15 21:50:35 -04:00
Eric Kilmer
e5ba0165ab
Add simple test and corkami test suite using Catch2 (#145)
* Add simple test and corkami test suite using Catch2

* Enable testing with CMake option '-DPEPARSE_ENABLE_TESTING=ON'.

* The simple test is extremely basic just as an example of using Catch2.

* Corkami test suite is a git submodule within assets and the tests can
be run with or without cloning it. You are able to configure CMake
without the submodule and it will warn you that the tests are not
included, and then it will pick them up automatically on next cmake
rebuild.

There are a few Corkami files which pe-parse is unable to process. They
have been added as exceptions for now (just to get this merged), but we
can open new issues to track them. This will also catch any regressions
that could prevent the successful parsing of files that have been
parse-able in the past.

* Raise C++ standard from 11 to 17 for easier filesystem handling in
tests. Also included CMake script for handling how std::filesystem is
found/linked.

* Rename directory 'test' to 'tests'.

* Update README with testing instructions.

* Catch2 is downloaded and built unless otherwise specified
(undocumented, aside from reading CMake).
2021-03-10 14:01:34 -05:00
William Woodruff
79a2333a8b
treewide: CI, cmake fixes (#132)
Massages the pe-parse build into a format that's more accomodating
for vcpkg, in preparation for imminent packaging.
2020-04-24 13:48:46 -04:00
William Woodruff
8736072cc1
pe-parser-library: Use WinAPI for UTF-16 to UTF-8 (#130)
* pe-parser-library: Use WinAPI for UTF-16 to UTF-8

If ICU isn't available and we're on C++17 or later, use
the Windows API for Unicode conversion instead of codecvt.
2020-04-14 10:20:16 -04:00
William Woodruff
1dc2c53566
Release 1.0 prep work (#113)
Co-authored-by: Eric Kilmer <eric.d.kilmer@gmail.com>
2020-03-17 13:38:56 -04:00
Paul Kehrer
5a21e22292 Github actions (#103) 2019-12-23 10:28:47 -05:00