0022827: Make non-CPP source files (CDLs, headers) to appear in MS VS project files...
[occt.git] / adm / cmake / doxygen.cmake
1 # doxygen
2
3 if (NOT DEFINED 3RDPARTY_DOXYGEN_EXECUTABLE)
4   set (3RDPARTY_DOXYGEN_EXECUTABLE "" CACHE FILEPATH "The Path to the doxygen command")
5 endif()
6
7 if (NOT DEFINED 3RDPARTY_DOXYGEN_DOT_EXECUTABLE)
8   set (3RDPARTY_DOXYGEN_DOT_EXECUTABLE "" CACHE FILEPATH "The path to the dot program used by doxygen")
9 endif()
10
11 if (NOT DEFINED 3RDPARTY_DOXYGEN_SKIP_DOT_EXECUTABLE)
12   set (3RDPARTY_DOXYGEN_SKIP_DOT_EXECUTABLE OFF CACHE BOOL "Skip trying to find Dot")
13 endif()
14
15 if (3RDPARTY_DOXYGEN_SKIP_DOT_EXECUTABLE)
16   OCCT_CHECK_AND_UNSET (3RDPARTY_DOXYGEN_DOT_EXECUTABLE)
17 endif()
18
19 if (NOT 3RDPARTY_DOXYGEN_EXECUTABLE OR (NOT 3RDPARTY_DOXYGEN_SKIP_DOT_EXECUTABLE AND NOT 3RDPARTY_DOXYGEN_DOT_EXECUTABLE))
20
21   set (DOXYGEN_SKIP_DOT ${3RDPARTY_DOXYGEN_SKIP_DOT_EXECUTABLE})
22   find_package (Doxygen)
23   
24   if (NOT 3RDPARTY_DOXYGEN_EXECUTABLE AND DOXYGEN_EXECUTABLE)
25     set (3RDPARTY_DOXYGEN_EXECUTABLE "${DOXYGEN_EXECUTABLE}" CACHE FILEPATH "The Path to the doxygen command" FORCE)
26   endif()
27   
28   if (NOT 3RDPARTY_DOXYGEN_SKIP_DOT_EXECUTABLE AND NOT 3RDPARTY_DOXYGEN_DOT_EXECUTABLE AND DOXYGEN_DOT_EXECUTABLE)
29     set (3RDPARTY_DOXYGEN_DOT_EXECUTABLE "${DOXYGEN_DOT_EXECUTABLE}" CACHE FILEPATH "The path to the dot program used by doxygen" FORCE)
30   endif()
31 endif()
32
33 if (NOT 3RDPARTY_DOXYGEN_EXECUTABLE OR NOT EXISTS "${3RDPARTY_DOXYGEN_EXECUTABLE}")
34   list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_DOXYGEN_EXECUTABLE)
35 endif()
36
37 if (NOT 3RDPARTY_DOXYGEN_SKIP_DOT_EXECUTABLE)
38   if (NOT 3RDPARTY_DOXYGEN_DOT_EXECUTABLE OR NOT EXISTS "${3RDPARTY_DOXYGEN_DOT_EXECUTABLE}")
39     list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_DOXYGEN_DOT_EXECUTABLE)
40   endif()
41 endif()
42
43 # unset all redundant variables
44 OCCT_CHECK_AND_UNSET (DOXYGEN_SKIP_DOT)
45 OCCT_CHECK_AND_UNSET (DOXYGEN_EXECUTABLE)
46 OCCT_CHECK_AND_UNSET (DOXYGEN_DOT_EXECUTABLE)