Project

General

Profile

Task #3153

Task #2045: API design and language bindings

Feature #3152: Infrastructure and patterns for expressing public interfaces

Let CMake process module directories earlier to support more modern CMake idioms.

Added by Eric Irrgang about 1 month ago.

Status:
New
Priority:
Low
Assignee:
-
Category:
build system
Difficulty:
uncategorized
Close

Description

docs and share are processed before src, testing, and python_packaging. If the source directories were processed earlier, we could compartmentalize some things in module targets that currently rely on global variables or functions, and then collect resources and configuration when setting up the targets in docs and share. We could also use target dependencies more effectively in determining what information will be built and installed.

For example, rearrangement would facilitate incorporation of the current gmxapi-cppdocs target into the webpage build, and simplify the availability of automatic documentation extraction from the built Python packages.

In the latter case, the dependency is also removed if we take the approach of some other projects (notably CPython) and decouple the primary documentation from the integrated documentation. I.e. The webpage consists exclusively of static content, even if this means some redundancy with internal documentation or auto-generated API reference.

I don't think this warrants attention until after the 2020 release fork, but I wanted to create an issue now while I'm thinking about it, instead of cluttering Gerrit and Jenkins with noisy low-priority changes.

Also available in: Atom PDF