BUG: fix for bug#3520 - better find doxygen

This commit is contained in:
Bill Hoffman 2006-10-04 11:04:26 -04:00
parent 131d8205f5
commit 7ed0532ae9
1 changed files with 57 additions and 13 deletions

View File

@ -1,41 +1,85 @@
# - this module looks for Doxygen and the path to Graphiz's dot # - This module looks for Doxygen and the path to Graphiz's dot
# Doxygen is a documentation generation tool see http://www.doxygen.org
# With the OS X GUI version, it likes to be installed to /Applications and # With the OS X GUI version, it likes to be installed to /Applications and
# it contains the doxygen executable in the bundle. In the versions I've # it contains the doxygen executable in the bundle. In the versions I've
# seen, it is located in Resources, but in general, more often binaries are # seen, it is located in Resources, but in general, more often binaries are
# located in MacOS. # located in MacOS.
FIND_PROGRAM(DOXYGEN IF (NOT DOXYGEN_FIND_QUIETLY)
doxygen MESSAGE(STATUS "Looking for doxygen...")
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\doxygen_is1;Inno Setup: App Path]/bin" ENDIF (NOT DOXYGEN_FIND_QUIETLY)
FIND_PROGRAM(DOXYGEN_EXECUTABLE
NAMES doxygen
PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\doxygen_is1;Inno Setup: App Path]/bin"
/Applications/Doxygen.app/Contents/Resources /Applications/Doxygen.app/Contents/Resources
/Applications/Doxygen.app/Contents/MacOS /Applications/Doxygen.app/Contents/MacOS
/usr/bin
/usr/local/bin
DOC "Doxygen documentation generation tool (http://www.doxygen.org)"
) )
IF (DOXYGEN_EXECUTABLE)
SET (DOXYGEN_FOUND "YES")
IF (NOT DOXYGEN_FIND_QUIETLY)
MESSAGE(STATUS "Looking for doxygen... - found ${DOXYGEN_EXECUTABLE}")
ENDIF (NOT DOXYGEN_FIND_QUIETLY)
ELSE (DOXYGEN_EXECUTABLE)
IF (NOT DOXYGEN_FIND_QUIETLY)
IF (DOXYGEN_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Looking for doxygen... - NOT found")
ELSE (DOXYGEN_FIND_REQUIRED)
MESSAGE(STATUS "Looking for doxygen... - NOT found")
ENDIF (DOXYGEN_FIND_REQUIRED)
ENDIF (NOT DOXYGEN_FIND_QUIETLY)
ENDIF (DOXYGEN_EXECUTABLE)
# In the older versions of OS X Doxygen, dot was included with the # In the older versions of OS X Doxygen, dot was included with the
# Doxygen bundle. But the new versions place make you download Graphviz.app # Doxygen bundle. But the new versions place make you download Graphviz.app
# which contains dot in its bundle. # which contains dot in its bundle.
FIND_PROGRAM(DOT IF (NOT DOXYGEN_FIND_QUIETLY)
dot MESSAGE(STATUS "Looking for dot tool...")
"$ENV{ProgramFiles}/ATT/Graphviz/bin" ENDIF (NOT DOXYGEN_FIND_QUIETLY)
FIND_PROGRAM(DOXYGEN_DOT_EXECUTABLE
NAMES dot
PATHS "$ENV{ProgramFiles}/ATT/Graphviz/bin"
"C:/Program Files/ATT/Graphviz/bin" "C:/Program Files/ATT/Graphviz/bin"
[HKEY_LOCAL_MACHINE\\SOFTWARE\\ATT\\Graphviz;InstallPath]/bin [HKEY_LOCAL_MACHINE\\SOFTWARE\\ATT\\Graphviz;InstallPath]/bin
/Applications/Graphviz.app/Contents/MacOS /Applications/Graphviz.app/Contents/MacOS
/Applications/Doxygen.app/Contents/Resources /Applications/Doxygen.app/Contents/Resources
/Applications/Doxygen.app/Contents/MacOS /Applications/Doxygen.app/Contents/MacOS
/usr/bin
/us/local/bin
DOC "Graphiz Dot tool for using Doxygen"
) )
IF (NOT DOXYGEN_FIND_QUIETLY)
IF (DOXYGEN_DOT_EXECUTABLE)
MESSAGE(STATUS "Looking for dot tool... - found ${DOXYGEN_DOT_EXECUTABLE}")
ELSE (DOXYGEN_DOT_EXECUTABLE)
MESSAGE(STATUS "Looking for dot tool... - NOT found")
ENDIF (DOXYGEN_DOT_EXECUTABLE)
ENDIF (NOT DOXYGEN_FIND_QUIETLY)
# The Doxyfile wants the path to Dot, not the entire path and executable # The Doxyfile wants the path to Dot, not the entire path and executable
# so for convenience, I'll add another search for DOT_PATH. # so for convenience, I'll add another search for DOXYGEN_DOT_PATH.
FIND_PATH(DOT_PATH FIND_PATH(DOXYGEN_DOT_PATH
dot dot
"C:/Program Files/ATT/Graphviz/bin" "C:/Program Files/ATT/Graphviz/bin"
[HKEY_LOCAL_MACHINE\\SOFTWARE\\ATT\\Graphviz;InstallPath]/bin [HKEY_LOCAL_MACHINE\\SOFTWARE\\ATT\\Graphviz;InstallPath]/bin
/Applications/Graphviz.app/Contents/MacOS /Applications/Graphviz.app/Contents/MacOS
/Applications/Doxygen.app/Contents/Resources /Applications/Doxygen.app/Contents/Resources
/Applications/Doxygen.app/Contents/MacOS /Applications/Doxygen.app/Contents/MacOS
/usr/bin
/usr/local/bin
DOC "Path to the Graphviz Dot tool"
) )
MARK_AS_ADVANCED( MARK_AS_ADVANCED(
DOT DOXYGEN_FOUND,
DOT_PATH DOXYGEN_EXECUTABLE,
DOXYGEN DOXYGEN_DOT_FOUND,
) DOXYGEN_DOT_EXECUTABLE,
DOXYGEN_DOT_PATH,
)