DuneModuleDependencies ---------------------- Macros to extract dependencies between Dune modules by inspecting the ``dune.module`` files. .. cmake:command:: dune_check_module_version Check whether a module version satisfies a version requirement. .. code-block:: cmake dune_check_module_version( [REQUIRED] [QUIET] VERSION ) ```` 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 using ``>=``, ``<=``, or ``=``. The command parses the module's ``dune.module`` file through :cmake:command:`dune_module_information()` and populates the corresponding ``_VERSION`` information as part of the check. .. cmake:command:: dune_cmake_path_setup Internal helper that updates ``CMAKE_MODULE_PATH`` according to a dependency order. .. dune:internal:: .. code-block:: cmake dune_cmake_path_setup() ``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. .. cmake:command:: dune_create_dependency_tree Deprecated helper that computes ``ALL_DEPENDENCIES`` from ``dune.module`` files. .. dune:internal:: .. deprecated:: 2.10 Kept only for compatibility with older DUNE configurations using ``ALL_DEPENDENCIES``. .. code-block:: cmake 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 :cmake:command:`dune_cmake_path_setup()` on ``ALL_DEPENDENCIES``. It is deprecated and kept only for compatibility with older DUNE configurations. .. cmake:command:: dune_process_dependency_macros Include dependency-specific ``DuneMacros.cmake`` files for the current project and its dependencies. .. code-block:: cmake dune_process_dependency_macros() Include the corresponding ``DuneMacros.cmake`` file of all dependencies if this file exists. .. cmake:command:: find_dune_package Find and validate a DUNE dependency during dependency-tree traversal. .. dune:internal:: .. code-block:: cmake find_dune_package( [REQUIRED] [QUIET] VERSION ) Internal helper used while processing ``dune.module`` dependency lists. .. cmake:command:: dune_process_dependency_leafs Process one level of dependency and suggestion lists while building the dependency tree. .. dune:internal:: .. code-block:: cmake dune_process_dependency_leafs( ) Internal helper used by :cmake:command:`dune_create_dependency_tree()`. .. cmake:command:: remove_processed_modules Deprecated helper for pruning already processed modules from dependency lists. .. dune:internal:: .. deprecated:: 2.9 Legacy helper retained for older dependency-tree logic. .. code-block:: cmake remove_processed_modules( )