2 set (DOXYGEN_MINIMUM_VERSION 1.8.4)
4 if (DO_ONLY_CHECK_FOR_DOXYGEN)
5 message (STATUS "Info. Detecting doxygen")
6 set (DOXYGEN_SKIP_DOT ON)
7 find_package (Doxygen ${DOXYGEN_MINIMUM_VERSION})
9 set (CAN_DOXYGEN_BE_USED OFF)
10 if (DOXYGEN_EXECUTABLE)
11 set (CAN_DOXYGEN_BE_USED ON)
12 message (STATUS "Info. Doxygen is found and can be used")
15 set (3RDPARTY_DOT_EXECUTABLE_DESCR "The path to the 'dot' tool producing layered drawings of directed graphs.\nThis tool used by doxygen")
16 set (3RDPARTY_DOXYGEN_EXECUTABLE_DESCR "The path to the doxygen command")
18 if (NOT DEFINED 3RDPARTY_DOXYGEN_EXECUTABLE)
19 set (3RDPARTY_DOXYGEN_EXECUTABLE "" CACHE FILEPATH "${3RDPARTY_DOXYGEN_EXECUTABLE_DESCR}")
22 if (NOT DEFINED 3RDPARTY_DOT_EXECUTABLE)
23 set (3RDPARTY_DOT_EXECUTABLE "" CACHE FILEPATH "${3RDPARTY_DOT_EXECUTABLE_DESCR}")
26 if (NOT DEFINED 3RDPARTY_SKIP_DOT_EXECUTABLE)
27 set (3RDPARTY_SKIP_DOT_EXECUTABLE ON CACHE BOOL "Skip trying to find Dot")
30 if (3RDPARTY_SKIP_DOT_EXECUTABLE)
31 OCCT_CHECK_AND_UNSET (3RDPARTY_DOT_EXECUTABLE)
34 if (NOT 3RDPARTY_DOXYGEN_EXECUTABLE OR (NOT 3RDPARTY_SKIP_DOT_EXECUTABLE AND NOT 3RDPARTY_DOT_EXECUTABLE))
36 set (DOXYGEN_SKIP_DOT ${3RDPARTY_SKIP_DOT_EXECUTABLE})
37 find_package (Doxygen ${DOXYGEN_MINIMUM_VERSION})
39 if (NOT 3RDPARTY_DOXYGEN_EXECUTABLE AND DOXYGEN_EXECUTABLE)
40 set (3RDPARTY_DOXYGEN_EXECUTABLE "${DOXYGEN_EXECUTABLE}" CACHE FILEPATH "${3RDPARTY_DOXYGEN_EXECUTABLE_DESCR}" FORCE)
43 if (NOT 3RDPARTY_SKIP_DOT_EXECUTABLE AND NOT 3RDPARTY_DOT_EXECUTABLE AND DOXYGEN_DOT_EXECUTABLE)
44 set (3RDPARTY_DOT_EXECUTABLE "${DOXYGEN_DOT_EXECUTABLE}" CACHE FILEPATH "${3RDPARTY_DOT_EXECUTABLE_DESCR}" FORCE)
48 if (NOT 3RDPARTY_DOXYGEN_EXECUTABLE OR NOT EXISTS "${3RDPARTY_DOXYGEN_EXECUTABLE}")
49 list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_DOXYGEN_EXECUTABLE)
52 if (NOT 3RDPARTY_SKIP_DOT_EXECUTABLE)
53 if (NOT 3RDPARTY_DOT_EXECUTABLE OR NOT EXISTS "${3RDPARTY_DOT_EXECUTABLE}")
54 list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_DOT_EXECUTABLE)
59 # unset all redundant variables
60 OCCT_CHECK_AND_UNSET (DOXYGEN_SKIP_DOT)
61 OCCT_CHECK_AND_UNSET (DOXYGEN_EXECUTABLE)
62 OCCT_CHECK_AND_UNSET (DOXYGEN_DOT_EXECUTABLE)