cmake/Modules/FindDoxygen.cmake
author Tero Marttila <terom@fixme.fi>
Wed, 01 May 2013 00:11:39 +0300
changeset 66 fdd7f995af6c
parent 62 07c14d83c698
permissions -rw-r--r--
MIT license
62
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
#
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
# This module looks for Doxygen executable 
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
# and the Graphviz dot executable 
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
# which could be used to generate html 
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
# and graphical documentaton from source code. 
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
# 
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
# It will set the following variables:
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
#
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
#  DOXYGEN_FOUND
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
#  DOXYGEN_EXECUTABLE
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
#
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
#  DOXYGEN_DOT_FOUND
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
#  DOXYGEN_DOT_EXECUTABLE
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
#  DOXYGEN_DOT_EXECUTABLE_PATH
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
#
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
# deprecated variables:
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
#  DOXYGEN
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
#  DOT
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
#
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
# see:
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
#  www.doxygen.org
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
#  www.research.att.com/sw/tools/graphviz/
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
#
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
# adapted from:
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
#  www.mip.informatik.uni-kiel.de/~jw/cmake/CMakeModules/FindDoxygen.cmake
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
FIND_PROGRAM (DOXYGEN_EXECUTABLE
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
    NAMES doxygen
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    29
    DOC "Path to doxygen binary"
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    30
    PATHS $ENV{DOXYGEN_HOME}
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    31
)
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    32
#MESSAGE(STATUS "DBG DOXYGEN_EXECUTABLE=${DOXYGEN_EXECUTABLE}")
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    33
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    34
FIND_PROGRAM (DOXYGEN_DOT_EXECUTABLE
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    35
    NAMES dot
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    36
    DOC "Path to dot binary from Graphiz (for doxygen)"
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    37
    PATHS $ENV{DOT_HOME}
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    38
)
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    39
#MESSAGE(STATUS "DBG DOXYGEN_DOT_EXECUTABLE=${DOXYGEN_DOT_EXECUTABLE}")
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    40
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    41
IF (DOXYGEN_EXECUTABLE)
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    42
    SET (DOXYGEN_FOUND TRUE)
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    43
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    44
    MESSAGE (STATUS "Found Doxygen at ${DOXYGEN_EXECUTABLE}")
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    45
ENDIF (DOXYGEN_EXECUTABLE)
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    46
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    47
IF (DOXYGEN_DOT_EXECUTABLE)
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    48
    SET (DOXYGEN_DOT_FOUND TRUE)  
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    49
    
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    50
    MESSAGE (STATUS "Found Dot at ${DOXYGEN_DOT_EXECUTABLE}")
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    51
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    52
    # the directory of dot is required in doxygen.config: DOT_PATH
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    53
    GET_FILENAME_COMPONENT (DOXYGEN_DOT_EXECUTABLE_PATH ${DOXYGEN_DOT_EXECUTABLE} PATH)
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    54
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    55
ENDIF (DOXYGEN_DOT_EXECUTABLE)
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    56
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    57
# hide
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    58
MARK_AS_ADVANCED (
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    59
    DOXYGEN_EXECUTABLE
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    60
    DOXYGEN_DOT_EXECUTABLE
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    61
    DPXYGEN_DOT_EXECUTABLE_DIR
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    62
    DOXYGEN
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    63
    DOT
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    64
)
07c14d83c698 `make doc` support
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    65