-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
1,989 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
FIND_PACKAGE(Doxygen) | ||
|
||
IF (DOXYGEN_FOUND) | ||
|
||
# click+jump in Emacs and Visual Studio (for doxy.config) (jw) | ||
IF (CMAKE_BUILD_TOOL MATCHES "(msdev|devenv)") | ||
SET(DOXY_WARN_FORMAT "\"$file($line) : $text \"") | ||
ELSE (CMAKE_BUILD_TOOL MATCHES "(msdev|devenv)") | ||
SET(DOXY_WARN_FORMAT "\"$file:$line: $text \"") | ||
ENDIF (CMAKE_BUILD_TOOL MATCHES "(msdev|devenv)") | ||
|
||
# we need latex for doxygen because of the formulas | ||
FIND_PACKAGE(LATEX) | ||
IF (NOT LATEX_COMPILER) | ||
MESSAGE(STATUS "latex command LATEX_COMPILER not found but usually required. You will probably get warnings and user interaction on doxy run.") | ||
ENDIF (NOT LATEX_COMPILER) | ||
IF (NOT MAKEINDEX_COMPILER) | ||
MESSAGE(STATUS "makeindex command MAKEINDEX_COMPILER not found but usually required.") | ||
ENDIF (NOT MAKEINDEX_COMPILER) | ||
IF (NOT DVIPS_CONVERTER) | ||
MESSAGE(STATUS "dvips command DVIPS_CONVERTER not found but usually required.") | ||
ENDIF (NOT DVIPS_CONVERTER) | ||
|
||
IF (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doc/doxy.config.in") | ||
MESSAGE(STATUS "configured ${CMAKE_CURRENT_SOURCE_DIR}/doc/doxy.config.in --> ${CMAKE_CURRENT_BINARY_DIR}/doxy.config") | ||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/doc/doxy.config.in | ||
${CMAKE_CURRENT_BINARY_DIR}/doxy.config | ||
@ONLY ) | ||
# use (configured) doxy.config from (out of place) BUILD tree: | ||
SET(DOXY_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/doxy.config") | ||
ELSE (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doc/doxy.config.in") | ||
# use static hand-edited doxy.config from SOURCE tree: | ||
SET(DOXY_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/doc/doxy.config") | ||
IF (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doc/doxy.config") | ||
MESSAGE(STATUS "WARNING: using existing ${CMAKE_CURRENT_SOURCE_DIR}/doc/doxy.config instead of configuring from doxy.config.in file.") | ||
ELSE (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doc/doxy.config") | ||
IF (EXISTS "${CMAKE_MODULE_PATH}/doc/doxy.config.in") | ||
# using template doxy.config.in | ||
MESSAGE(STATUS "configured ${CMAKE_CMAKE_MODULE_PATH}/doc/doxy.config.in --> ${CMAKE_CURRENT_BINARY_DIR}/doc/doxy.config") | ||
CONFIGURE_FILE(${CMAKE_MODULE_PATH}/doc/doxy.config.in | ||
${CMAKE_CURRENT_BINARY_DIR}/doxy.config | ||
@ONLY ) | ||
SET(DOXY_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/doxy.config") | ||
ELSE (EXISTS "${CMAKE_MODULE_PATH}/doc/doxy.config.in") | ||
# failed completely... | ||
MESSAGE(SEND_ERROR "Please create ${CMAKE_CURRENT_SOURCE_DIR}/doc/doxy.config.in (or doxy.config as fallback)") | ||
ENDIF(EXISTS "${CMAKE_MODULE_PATH}/doc/doxy.config.in") | ||
|
||
ENDIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doc/doxy.config") | ||
ENDIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doc/doxy.config.in") | ||
|
||
|
||
ADD_CUSTOM_TARGET(doc ${DOXYGEN_EXECUTABLE} ${DOXY_CONFIG}) | ||
|
||
# ADD_CUSTOM_TARGET(doc) | ||
|
||
# create a windows help .chm file using hhc.exe | ||
# HTMLHelp DLL must be in path! | ||
# fallback: use hhw.exe interactively | ||
IF (WIN32) | ||
FIND_PACKAGE(HTMLHelp) | ||
IF (HTML_HELP_COMPILER) | ||
SET (TMP "${CMAKE_CURRENT_BINARY_DIR}\\Doc\\html\\index.hhp") | ||
STRING(REGEX REPLACE "[/]" "\\\\" HHP_FILE ${TMP} ) | ||
# MESSAGE(SEND_ERROR "DBG HHP_FILE=${HHP_FILE}") | ||
ADD_CUSTOM_TARGET(winhelp ${HTML_HELP_COMPILER} ${HHP_FILE}) | ||
ADD_DEPENDENCIES (winhelp doc) | ||
|
||
IF (NOT TARGET_DOC_SKIP_INSTALL) | ||
# install windows help? | ||
# determine useful name for output file | ||
# should be project and version unique to allow installing | ||
# multiple projects into one global directory | ||
IF (EXISTS "${PROJECT_BINARY_DIR}/Doc/html/index.chm") | ||
IF (PROJECT_NAME) | ||
SET(OUT "${PROJECT_NAME}") | ||
ELSE (PROJECT_NAME) | ||
SET(OUT "Documentation") # default | ||
ENDIF(PROJECT_NAME) | ||
IF (${PROJECT_NAME}_VERSION_MAJOR) | ||
SET(OUT "${OUT}-${${PROJECT_NAME}_VERSION_MAJOR}") | ||
IF (${PROJECT_NAME}_VERSION_MINOR) | ||
SET(OUT "${OUT}.${${PROJECT_NAME}_VERSION_MINOR}") | ||
IF (${PROJECT_NAME}_VERSION_PATCH) | ||
SET(OUT "${OUT}.${${PROJECT_NAME}_VERSION_PATCH}") | ||
ENDIF(${PROJECT_NAME}_VERSION_PATCH) | ||
ENDIF(${PROJECT_NAME}_VERSION_MINOR) | ||
ENDIF(${PROJECT_NAME}_VERSION_MAJOR) | ||
# keep suffix | ||
SET(OUT "${OUT}.chm") | ||
|
||
#MESSAGE("DBG ${PROJECT_BINARY_DIR}/Doc/html/index.chm \n${OUT}") | ||
# create target used by install and package commands | ||
INSTALL(FILES "${PROJECT_BINARY_DIR}/Doc/html/index.chm" | ||
DESTINATION "doc" | ||
RENAME "${OUT}" | ||
) | ||
ENDIF(EXISTS "${PROJECT_BINARY_DIR}/Doc/html/index.chm") | ||
ENDIF(NOT TARGET_DOC_SKIP_INSTALL) | ||
|
||
ENDIF(HTML_HELP_COMPILER) | ||
# MESSAGE(SEND_ERROR "HTML_HELP_COMPILER=${HTML_HELP_COMPILER}") | ||
ENDIF (WIN32) | ||
ENDIF(DOXYGEN_FOUND) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# Generate doc only if Doxygen is present. | ||
set( PACKAGE ${PROJECT_NAME} ) | ||
set( VERSION ${PROJECT_VERSION} ) | ||
set( DOC_DIR ${PROJECT_SOURCE_DIR}/doc ) | ||
set( top_srcdir ${PROJECT_SOURCE_DIR} ) | ||
set( top_bindir ${PROJECT_BINARY_DIR} ) | ||
set( HAVE_DOT YES ) | ||
find_program(DOT_EXE dot) | ||
if ( DOT_EXE ) | ||
message (STATUS "dot found: ${DOT_EXE}. Installing doc in ${INSTALL_DOC_PATH}") | ||
else ( DOT_EXE ) | ||
message( WARNING "Note: dot program not found in environment. If you wish to use it in doxygen, you should add its path to the variable PATH." ) | ||
message( STATUS "disabling dot." ) | ||
set( HAVE_DOT NO ) | ||
endif ( DOT_EXE ) | ||
if (NOT EXISTS ${PROJECT_SOURCE_DIR}/doc/html) | ||
file(MAKE_DIRECTORY ${PROJECT_SOURCE_DIR}/doc/html) | ||
endif (NOT EXISTS ${PROJECT_SOURCE_DIR}/doc/html) | ||
|
||
## Installation target | ||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/doc/html DESTINATION ${INSTALL_DOC_PATH}) | ||
|
Oops, something went wrong.