0028287: CMake install does not copy pdb files in RelWithDebInfo mode
[occt.git] / adm / cmake / doxygen.cmake
CommitLineData
adc33035 1# doxygen
75378f50 2set (DOXYGEN_MINIMUM_VERSION 1.8.4)
adc33035 3
9d034c37 4if (DO_ONLY_CHECK_FOR_DOXYGEN)
5 message (STATUS "Info. Detecting doxygen")
6 set (DOXYGEN_SKIP_DOT ON)
75378f50 7 find_package (Doxygen ${DOXYGEN_MINIMUM_VERSION})
adc33035 8
9d034c37 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")
13 endif()
14else()
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")
adc33035 17
9d034c37 18 if (NOT DEFINED 3RDPARTY_DOXYGEN_EXECUTABLE)
19 set (3RDPARTY_DOXYGEN_EXECUTABLE "" CACHE FILEPATH "${3RDPARTY_DOXYGEN_EXECUTABLE_DESCR}")
20 endif()
adc33035 21
9d034c37 22 if (NOT DEFINED 3RDPARTY_DOT_EXECUTABLE)
23 set (3RDPARTY_DOT_EXECUTABLE "" CACHE FILEPATH "${3RDPARTY_DOT_EXECUTABLE_DESCR}")
24 endif()
adc33035 25
9d034c37 26 if (NOT DEFINED 3RDPARTY_SKIP_DOT_EXECUTABLE)
27 set (3RDPARTY_SKIP_DOT_EXECUTABLE ON CACHE BOOL "Skip trying to find Dot")
28 endif()
adc33035 29
9d034c37 30 if (3RDPARTY_SKIP_DOT_EXECUTABLE)
31 OCCT_CHECK_AND_UNSET (3RDPARTY_DOT_EXECUTABLE)
adc33035 32 endif()
9d034c37 33
34 if (NOT 3RDPARTY_DOXYGEN_EXECUTABLE OR (NOT 3RDPARTY_SKIP_DOT_EXECUTABLE AND NOT 3RDPARTY_DOT_EXECUTABLE))
35
36 set (DOXYGEN_SKIP_DOT ${3RDPARTY_SKIP_DOT_EXECUTABLE})
75378f50 37 find_package (Doxygen ${DOXYGEN_MINIMUM_VERSION})
9d034c37 38
39 if (NOT 3RDPARTY_DOXYGEN_EXECUTABLE AND DOXYGEN_EXECUTABLE)
40 set (3RDPARTY_DOXYGEN_EXECUTABLE "${DOXYGEN_EXECUTABLE}" CACHE FILEPATH "${3RDPARTY_DOXYGEN_EXECUTABLE_DESCR}" FORCE)
41 endif()
42
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)
45 endif()
adc33035 46 endif()
adc33035 47
9d034c37 48 if (NOT 3RDPARTY_DOXYGEN_EXECUTABLE OR NOT EXISTS "${3RDPARTY_DOXYGEN_EXECUTABLE}")
49 list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_DOXYGEN_EXECUTABLE)
50 endif()
adc33035 51
9d034c37 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)
55 endif()
adc33035 56 endif()
57endif()
58
59# unset all redundant variables
60OCCT_CHECK_AND_UNSET (DOXYGEN_SKIP_DOT)
61OCCT_CHECK_AND_UNSET (DOXYGEN_EXECUTABLE)
62OCCT_CHECK_AND_UNSET (DOXYGEN_DOT_EXECUTABLE)