[cmake-commits] hoffman committed FindDoxygen.cmake 1.7 1.8

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Oct 4 11:04:29 EDT 2006


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv31826

Modified Files:
	FindDoxygen.cmake 
Log Message:
BUG: fix for bug#3520 - better find doxygen


Index: FindDoxygen.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/FindDoxygen.cmake,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- FindDoxygen.cmake	28 Feb 2006 15:27:30 -0000	1.7
+++ FindDoxygen.cmake	4 Oct 2006 15:04:26 -0000	1.8
@@ -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
 # 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 
 # located in MacOS.
-FIND_PROGRAM(DOXYGEN
-  doxygen
-  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\doxygen_is1;Inno Setup: App Path]/bin"
+IF (NOT DOXYGEN_FIND_QUIETLY)
+  MESSAGE(STATUS "Looking for doxygen...")
+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/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 
 # Doxygen bundle. But the new versions place make you download Graphviz.app
 # which contains dot in its bundle.
-FIND_PROGRAM(DOT
-  dot
-  "$ENV{ProgramFiles}/ATT/Graphviz/bin"
+IF (NOT DOXYGEN_FIND_QUIETLY)
+  MESSAGE(STATUS "Looking for dot tool...")
+ENDIF (NOT DOXYGEN_FIND_QUIETLY)
+
+FIND_PROGRAM(DOXYGEN_DOT_EXECUTABLE
+  NAMES dot
+  PATHS "$ENV{ProgramFiles}/ATT/Graphviz/bin"
   "C:/Program Files/ATT/Graphviz/bin"
   [HKEY_LOCAL_MACHINE\\SOFTWARE\\ATT\\Graphviz;InstallPath]/bin
   /Applications/Graphviz.app/Contents/MacOS
   /Applications/Doxygen.app/Contents/Resources
   /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
-# so for convenience, I'll add another search for DOT_PATH.
-FIND_PATH(DOT_PATH
+# so for convenience, I'll add another search for DOXYGEN_DOT_PATH.
+FIND_PATH(DOXYGEN_DOT_PATH
   dot
   "C:/Program Files/ATT/Graphviz/bin"
   [HKEY_LOCAL_MACHINE\\SOFTWARE\\ATT\\Graphviz;InstallPath]/bin
   /Applications/Graphviz.app/Contents/MacOS
   /Applications/Doxygen.app/Contents/Resources
   /Applications/Doxygen.app/Contents/MacOS
+  /usr/bin
+  /usr/local/bin
+  DOC "Path to the Graphviz Dot tool"
 )
 
 MARK_AS_ADVANCED(
-  DOT
-  DOT_PATH
-  DOXYGEN
-)
+  DOXYGEN_FOUND,
+  DOXYGEN_EXECUTABLE,
+  DOXYGEN_DOT_FOUND,
+  DOXYGEN_DOT_EXECUTABLE,
+  DOXYGEN_DOT_PATH,
+  )



More information about the Cmake-commits mailing list