Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Module cmake fxn #252

Closed
wants to merge 34 commits into from
Closed

Conversation

zachcran
Copy link
Contributor

Status

  • Ready to go

Description

This PR completes and is based on PR #206, create some CMake infrastructure for automatically generating module documentation. This is intended to be used as part of the CI documentation website generation.

As part of the documentation, I included an example of how to use the planned API in a CMake project and how to generate the subsequent documentation website using Sphinx, even if it is not the top-level documentation.

TODOs

  • Fix the directory setup from erasing the executable in the process.
  • Test for ways to build the documentation when not top-level documentation with Sphinx.
    • (Found a way to do it) Document the process.
  • Finish documenting the CMake module using CMinx.
    • Verify that the documentation builds and looks alright.
  • Better generated module 'index.rst' files, issue Better generated index.rst #205. I think this should be its own PR separate from the CMake work.

wadejong and others added 30 commits November 29, 2021 21:13
Absolute hash comparisons are commented out, these can
be enabled once we can verify hash values are portable.
Unit tests that compare hashes relative to each other
are branched depending on the type info is hashed, or not.
Currently we use BPHASH_USE_TYPEID option to enable/disable
adding type name to the hash.
* starts any_result_wrapper [skip ci]

* result works, starting input [skip ci]

* back-up [skip ci]

* any_input_wrapper is unit tested [skip ci]

* pimpls are r2g
* starts any_result_wrapper [skip ci]

* result works, starting input [skip ci]

* back-up [skip ci]

* any_input_wrapper is unit tested [skip ci]

* pimpls are r2g

* back-up [skip ci]

* merge master [skip ci]

* back-up [skip ci]

* any_input/any_field r2g
* Update CMakeLists to enable unit tests for dependencies

This will not change the default behavior of not building
tests for dependencies. One needs to set these variables explicitly
in the toolchain file `set(PARALLELZONE_BUILD_TESTING ON)`, or as a
command line argument for cmake `cmake -DPARALLELZONE_BUILD_TESTING=ON`.

* Add default values, revert external dependency option
* initial attempt at clearer error messages for static_assert

* remove extra property type from tests

* cleanup verbose static_assert struct

* moved to new header under property_type/detail_
* cleaned up class description
* back-up

* back-up of the design [skip ci]

* back up of database notes [skip ci]

* clarifies fragility of hashes [skip ci]

* clarify fragility of hashes [skip ci]

* almost got a plan [skip ci]

* g2g

* Committing clang-format changes

* clarifications

* adds memcached client

Co-authored-by: Clang Robot <robot@example.com>
* back-up [skip ci]

* backing-up refactor [skip ci]

* back up for today [skip ci]

* rocksdb_pimpl documented and tested [skip ci]

* re-enables public API [skip ci]

* backup [skip ci]

* back up [skip ci]

* r2g
* back-up progress [skip ci]

* uuid lgtm
* rewrites any_input/any_result

* refactor database under cache

* remove extra files

* Committing clang-format changes

Co-authored-by: Clang Robot <robot@example.com>
* adds a runtime to module base

* add runtime to ModuleManager
* updates any_field

* adds documentation
@zachcran zachcran requested a review from ryanmrichard May 26, 2022 20:22
@zachcran
Copy link
Contributor Author

While this generation code works, I want to point out that there are quite a few (104) warnings that get thrown during the sphinx-build run when I test it in the SCF repo. All of the errors and warnings seem to stem from some form of:

  • Invalid .. comment:: directives, even though the sphinx.ext.todo is included.
  • Malformed tables.

@ryanmrichard
Copy link
Member

Does this really touch 95 files? If not can you update your local copy of master and rebase onto that?

@zachcran
Copy link
Contributor Author

I'll give that a shot. It definitely doesn't touch that many files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants