1. 23 May, 2017 1 commit
    • Alex Turbov's avatar
      Improve Doxygen support · 59ffabfe
      Alex Turbov authored
      Except Graphviz's `dot` Doxygen may use few other utilities like
      `mscgen` (Message Sequence Chart) and `dia` (Diagram Editor).
      
      Now this module allows to manage Doxygen settings from `CMakeLists.txt`
      and forget about `Doxyfile`s. Also it provides a helper function
      to add a target to generate documentation: `doxygen_add_docs`.
      
      Implement code review notes:
      
      - Introduce `COMPONENTS` to find: `dot`, `mscgen` and `dia`;
      - Deprecate variables `DOXYGEN_SKIP_DOT`, `DOXYGEN_EXECUTABLE`,
        `DOXYGEN_DOT_EXECUTABLE`, `DOXYGEN_DOT_FOUND` in favour of
        `doxygen_add_docs ` usage instead;
      - Properly handle paths to found tools in Windows;
      - Prevent adding a custom target if Doxygen was not really found;
      - Introduce exported (executable) targets for found components.
      
      Co-Author: Craig Scott <craig.scott@crascit.com>
      59ffabfe