-
Notifications
You must be signed in to change notification settings - Fork 372
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
Sort out and document CMake targets #1905
Comments
I like your proposal. But I wonder if we need separate build and install targets for documentation? How about just having the The distinction between |
Here are some additional observations that result from a video call with @heplesser:
|
There seems to be a bit of confusion about the fact that no user documentation is available after
|
@jougs With the targets you propose, the typical approach for a developer who want to compile, install and test, ignoring anything to do with documentation, would then be
Correct? I think this makes sense and keeps the number of different targets in bounds. |
So the |
|
Isn't it the case that documentation is part of our source code and we should therefore treat it like a normal module? Assuming there is an agreement on that, wouldn't it makes perfect sense to control the doc build process by using CMake variables? Using CMake variables to configure the doc build would simplify the make process and create more clarity. It furthermore could be a good solution for #1775. |
I'm not and I'm not aware of anyone else doing this. |
This is partially already modified with #1959, which should be seen in this context. |
Summary of the decision made at the last hackathon:
|
Issue automatically marked stale! |
A "lean" superflag would also be appreciated: no share, no docs, no test, no help, no cruft. Just the binaries and libs 👍 |
We currently have a bunch of different
make
targets, which are partly the result of a) using CMake defaults, b) carrying over defaults from the time when the build system still used autotools, and c) custom targets (some of which have bad names for historic reasons).Current situation
all
install
install everything to directories under the
<nest_install_dir>
nest
,sli
) and helpers (nest-config
,nest-vars.sh
)install-nodoc
install
, but without running the SLI help extractorinstallcheck
run the testsuite (essentially by calling
do_tests.sh
) using the installed executables and the test files from<nest_install_dir>/share/doc/nest
doc
andfulldoc
run Doxygen to extract the C++-level user documentation in either
doc
), or infulldoc
) including class inheritance diagrams and all bling.html
run the Sphinx-based user-level documentation generation pipeline. This also runs the doc extractor that gets the model documentation snippets from the C++ files that implement them.
Proposal
There is some (well justified) confusion between what these targets actually do. A proposal for a more sane naming and task split would probably be
all
can stayinstall
would do the same as before minus running the doc-extractoruserdoc
would do whathtml
currently does, plus run the SLI doc extractordevdoc
would do whatfulldoc
currently doesinstall-userdoc
would install whatuserdoc
has producedinstall-devdoc
would install whatdevdoc
has producedThis issue is also related to #291.
The text was updated successfully, but these errors were encountered: