git-svn-id: svn://db.shs.com.ru/pip@644 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
29
PIPDocumentation.cmake
Normal file
29
PIPDocumentation.cmake
Normal file
@@ -0,0 +1,29 @@
|
||||
macro(CONFIGURE_DOXYGEN_FILE DOXYGEN_CONFIG_FILE FILE_NAME_SUFFIX)
|
||||
if(EXISTS ${PROJECT_SOURCE_DIR}/${DOXYGEN_CONFIG_FILE})
|
||||
file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/doxyfile-${FILE_NAME_SUFFIX}")
|
||||
file(READ ${PROJECT_SOURCE_DIR}/${DOXYGEN_CONFIG_FILE} DOXYFILE_CONTENTS)
|
||||
string(REPLACE "\\\n" " " DOXYFILE_CONTENTS "${DOXYFILE_CONTENTS}")
|
||||
string(REPLACE "\n" ";" DOXYFILE_LINES "${DOXYFILE_CONTENTS}")
|
||||
foreach(LINE IN LISTS DOXYFILE_LINES)
|
||||
if(LINE STRGREATER "")
|
||||
string(REGEX MATCH "^[a-zA-Z]([^ ])+" DOXY_PARAM ${LINE})
|
||||
if(DEFINED DOXY_${DOXY_PARAM})
|
||||
STRING(REGEX REPLACE "=([^\n])+" "= ${DOXY_${DOXY_PARAM}}" LINE ${LINE})
|
||||
endif(DEFINED DOXY_${DOXY_PARAM})
|
||||
endif()
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/doxyfile-${FILE_NAME_SUFFIX} "${LINE}\n")
|
||||
endforeach()
|
||||
else()
|
||||
MESSAGE(SEND_ERROR "Doxygen configuration file '${DOXYGEN_CONFIG_FILE}' not found, can`t generate documentation")
|
||||
endif()
|
||||
endmacro(CONFIGURE_DOXYGEN_FILE)
|
||||
|
||||
|
||||
macro(ADD_DOCUMENTATION TARGET DOXYGEN_CONFIG_FILE)
|
||||
if(DOXYGEN_FOUND)
|
||||
configure_doxygen_file(${DOXYGEN_CONFIG_FILE} ${TARGET})
|
||||
add_custom_target(${TARGET} COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxyfile-${TARGET})
|
||||
else(DOXYGEN_FOUND)
|
||||
message(STATUS "Doxygen not found, can`t generate documentation")
|
||||
endif(DOXYGEN_FOUND)
|
||||
endmacro(ADD_DOCUMENTATION)
|
||||
Reference in New Issue
Block a user