Closed friendlyanon closed 3 years ago
Merging #141 (1a0eaca) into master (6b107a7) will not change coverage. The diff coverage is
n/a
.
@@ Coverage Diff @@
## master #141 +/- ##
=======================================
Coverage 96.94% 96.94%
=======================================
Files 67 67
Lines 950 950
=======================================
Hits 921 921
Misses 29 29
Impacted Files | Coverage Δ | |
---|---|---|
include/hsm/details/chain_actions.h | 100.00% <ø> (ø) |
|
include/hsm/details/collect_events.h | 100.00% <ø> (ø) |
|
include/hsm/details/collect_initial_states.h | 100.00% <ø> (ø) |
|
include/hsm/details/collect_states.h | 100.00% <ø> (ø) |
|
include/hsm/details/create_state.h | 100.00% <ø> (ø) |
|
include/hsm/details/dispatch_table.h | 100.00% <ø> (ø) |
|
include/hsm/details/fill_dispatch_table.h | 100.00% <ø> (ø) |
|
...de/hsm/details/flatten_internal_transition_table.h | 100.00% <ø> (ø) |
|
include/hsm/details/flatten_transition_table.h | 100.00% <ø> (ø) |
|
include/hsm/details/for_each.h | 100.00% <ø> (ø) |
|
... and 16 more |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 6b107a7...1a0eaca. Read the comment docs.
Hi @friendlyanon thank you for your contribution. I will start to review your PR and might come up with some question. I think it will take me a while to go through all the changes.
Resolved the conflicts by rebasing the changes on top of the target branch.
Moving the headers to include
from src/include
is the least surprising. When I see a src
or source
directory, it's reasonable to assume that a library builds artifacts, i.e. isn't header only. It's also more common to do it this way than not.
@friendlyanon thx again for your contribution. Out of curiosity: do you use the hsm somewhere?
I don't use this library yet, but as you might have seen from my recent activity on GitHub, I am the change I want to see in the world. I just want projects to utilize CMake properly, so they are trivial to consume and package.
This PR will modernize the CMake usage of this library.
Some things to note:
cmake
generator should NOT be used, you should be using at least thecmake_find_package
to generate targets that can be discovered usingCMAKE_MODULE_PATH
. The more ideal generator would becmake_find_package_multi
, but conan v2 is not yet out.CMAKE_PREFIX_PATH
and caches GTest. While GTest does not support clients using test discovery, CMake does support clients using test discovery via theGoogleTest
module, soctest
does not need-VV
verbosity level to show a proper test progression summary.To see how the above affects building the library, please see the CI workflows that have been adapted for this improved process.
This library will also provide a real relocatable CMake package for easy consumption by clients.
For the rationale behind the changes, please see my contributions to FunctionalPlus for related discussions.