# doxygen set (DOXYGEN_MINIMUM_VERSION 1.8.4) if (DO_ONLY_CHECK_FOR_DOXYGEN) message (STATUS "Info. Detecting doxygen") set (DOXYGEN_SKIP_DOT ON) find_package (Doxygen ${DOXYGEN_MINIMUM_VERSION}) set (CAN_DOXYGEN_BE_USED OFF) if (DOXYGEN_EXECUTABLE) set (CAN_DOXYGEN_BE_USED ON) message (STATUS "Info. Doxygen is found and can be used") endif() else() set (3RDPARTY_DOT_EXECUTABLE_DESCR "The path to the 'dot' tool producing layered drawings of directed graphs.\nThis tool used by doxygen") set (3RDPARTY_DOXYGEN_EXECUTABLE_DESCR "The path to the doxygen command") if (NOT DEFINED 3RDPARTY_DOXYGEN_EXECUTABLE) set (3RDPARTY_DOXYGEN_EXECUTABLE "" CACHE FILEPATH "${3RDPARTY_DOXYGEN_EXECUTABLE_DESCR}") endif() if (NOT DEFINED 3RDPARTY_DOT_EXECUTABLE) set (3RDPARTY_DOT_EXECUTABLE "" CACHE FILEPATH "${3RDPARTY_DOT_EXECUTABLE_DESCR}") endif() if (NOT DEFINED 3RDPARTY_SKIP_DOT_EXECUTABLE) set (3RDPARTY_SKIP_DOT_EXECUTABLE ON CACHE BOOL "Skip trying to find Dot") endif() if (3RDPARTY_SKIP_DOT_EXECUTABLE) OCCT_CHECK_AND_UNSET (3RDPARTY_DOT_EXECUTABLE) endif() if (NOT 3RDPARTY_DOXYGEN_EXECUTABLE OR (NOT 3RDPARTY_SKIP_DOT_EXECUTABLE AND NOT 3RDPARTY_DOT_EXECUTABLE)) set (DOXYGEN_SKIP_DOT ${3RDPARTY_SKIP_DOT_EXECUTABLE}) find_package (Doxygen ${DOXYGEN_MINIMUM_VERSION}) if (NOT 3RDPARTY_DOXYGEN_EXECUTABLE AND DOXYGEN_EXECUTABLE) set (3RDPARTY_DOXYGEN_EXECUTABLE "${DOXYGEN_EXECUTABLE}" CACHE FILEPATH "${3RDPARTY_DOXYGEN_EXECUTABLE_DESCR}" FORCE) endif() if (NOT 3RDPARTY_SKIP_DOT_EXECUTABLE AND NOT 3RDPARTY_DOT_EXECUTABLE AND DOXYGEN_DOT_EXECUTABLE) set (3RDPARTY_DOT_EXECUTABLE "${DOXYGEN_DOT_EXECUTABLE}" CACHE FILEPATH "${3RDPARTY_DOT_EXECUTABLE_DESCR}" FORCE) endif() endif() if (NOT 3RDPARTY_DOXYGEN_EXECUTABLE OR NOT EXISTS "${3RDPARTY_DOXYGEN_EXECUTABLE}") list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_DOXYGEN_EXECUTABLE) endif() if (NOT 3RDPARTY_SKIP_DOT_EXECUTABLE) if (NOT 3RDPARTY_DOT_EXECUTABLE OR NOT EXISTS "${3RDPARTY_DOT_EXECUTABLE}") list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_DOT_EXECUTABLE) endif() endif() endif() # unset all redundant variables OCCT_CHECK_AND_UNSET (DOXYGEN_SKIP_DOT) OCCT_CHECK_AND_UNSET (DOXYGEN_EXECUTABLE) OCCT_CHECK_AND_UNSET (DOXYGEN_DOT_EXECUTABLE)