DuneModuleDependencies

Macros to extract dependencies between Dune modules by inspecting the dune.module files.

dune_check_module_version

Check whether a module version satisfies a version requirement.

dune_check_module_version(<dune-module> [REQUIRED] [QUIET] VERSION <version-requirement>)
<dune-module>

Module whose version should be checked.

REQUIRED

Treat a missing module or incompatible version as a fatal configuration error.

QUIET

Reduce reporting for optional dependency checks.

VERSION <version-requirement>

Version requirement using >=, <=, or =.

The command parses the module’s dune.module file through dune_module_information() and populates the corresponding <module>_VERSION information as part of the check.

dune_cmake_path_setup

Internal helper that updates CMAKE_MODULE_PATH according to a dependency order.

dune_cmake_path_setup(<dependencies>)
dependencies

List of dependencies in the depth-first-search order used by the DUNE dependency traversal.

The paths of all dependency projects and of the current project are inserted into CMAKE_MODULE_PATH so newer modules take precedence.

dune_create_dependency_tree

Deprecated helper that computes ALL_DEPENDENCIES from dune.module files.

Deprecated since version 2.10: Kept only for compatibility with older DUNE configurations using ALL_DEPENDENCIES.

dune_create_dependency_tree([SKIP_CMAKE_PATH_SETUP])

Create a tree of dune module dependencies by inspecting the dune.module files recursively. All of the searched dependencies are stored in a list variable named ALL_DEPENDENCIES which is the result of a depth-first search on the dependency tree. If SKIP_CMAKE_PATH_SETUP is omitted, this command additionally calls dune_cmake_path_setup() on ALL_DEPENDENCIES. It is deprecated and kept only for compatibility with older DUNE configurations.

dune_process_dependency_macros

Include dependency-specific Dune<module>Macros.cmake files for the current project and its dependencies.

dune_process_dependency_macros()

Include the corresponding Dune<module>Macros.cmake file of all dependencies if this file exists.

find_dune_package

Find and validate a DUNE dependency during dependency-tree traversal.

find_dune_package(<module> [REQUIRED] [QUIET] VERSION <version>)

Internal helper used while processing dune.module dependency lists.

dune_process_dependency_leafs

Process one level of dependency and suggestion lists while building the dependency tree.

dune_process_dependency_leafs(<modules> <versions> <is-required> <next-level-deps> <next-level-sugs>)

Internal helper used by dune_create_dependency_tree().

remove_processed_modules

Deprecated helper for pruning already processed modules from dependency lists.

Deprecated since version 2.9: Legacy helper retained for older dependency-tree logic.

remove_processed_modules(<modules> <versions> <is-required>)