7 changed files with 1973 additions and 45 deletions
@ -0,0 +1,60 @@
|
||||
|
||||
# Copyright (C) 2011-2012 Daniel Scharrer |
||||
# |
||||
# This software is provided 'as-is', without any express or implied |
||||
# warranty. In no event will the author(s) be held liable for any damages |
||||
# arising from the use of this software. |
||||
# |
||||
# Permission is granted to anyone to use this software for any purpose, |
||||
# including commercial applications, and to alter it and redistribute it |
||||
# freely, subject to the following restrictions: |
||||
# |
||||
# 1. The origin of this software must not be misrepresented; you must not |
||||
# claim that you wrote the original software. If you use this software |
||||
# in a product, an acknowledgment in the product documentation would be |
||||
# appreciated but is not required. |
||||
# 2. Altered source versions must be plainly marked as such, and must not be |
||||
# misrepresented as being the original software. |
||||
# 3. This notice may not be removed or altered from any source distribution. |
||||
|
||||
find_package(Doxygen) |
||||
|
||||
include(VersionString) |
||||
|
||||
# Add a target that runs Doxygen on a configured Doxyfile |
||||
# |
||||
# Parameters: |
||||
# - TARGET_NAME the name of the target to add |
||||
# - DOXYFILE_IN the raw Doxyfile |
||||
# - VERSION_FILE VERSION file to be used by version_file() |
||||
# - GIT_DIR .git directory to be used by version_file() |
||||
# - OUT_DIR Doxygen output directory |
||||
# |
||||
# For the exact syntax of config options in DOXYFILE_IN see the documentation of the |
||||
# configure_file() cmake command. |
||||
# |
||||
# Available variables are those provided by version_file() as well as |
||||
# DOXYGEN_OUTPUT_DIR, which is set to OUT_DIR. |
||||
# |
||||
function(add_doxygen_target TARGET_NAME DOXYFILE_IN VERSION_FILE GIT_DIR OUT_DIR) |
||||
|
||||
if(NOT DOXYGEN_EXECUTABLE) |
||||
return() |
||||
endif() |
||||
|
||||
set(doxyfile "${CMAKE_BINARY_DIR}/Doxyfile.${TARGET_NAME}") |
||||
set(defines "-DDOXYGEN_OUTPUT_DIR=${OUT_DIR}") |
||||
|
||||
version_file("${DOXYFILE_IN}" "${doxyfile}" "${VERSION_FILE}" "${GIT_DIR}" "${defines}") |
||||
|
||||
add_custom_target(${TARGET_NAME} |
||||
COMMAND "${CMAKE_COMMAND}" -E make_directory "${OUT_DIR}" |
||||
COMMAND ${DOXYGEN_EXECUTABLE} "${doxyfile}" |
||||
DEPENDS "${doxyfile}" |
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" |
||||
COMMENT "Building doxygen documentation." |
||||
VERBATIM |
||||
SOURCES "${DOXYFILE_IN}" |
||||
) |
||||
|
||||
endfunction(add_doxygen_target) |
||||
Loading…
Reference in new issue