diff options
Diffstat (limited to 'libccnx-common/documentation/CMakeLists.txt')
-rw-r--r-- | libccnx-common/documentation/CMakeLists.txt | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/libccnx-common/documentation/CMakeLists.txt b/libccnx-common/documentation/CMakeLists.txt new file mode 100644 index 00000000..9b934e03 --- /dev/null +++ b/libccnx-common/documentation/CMakeLists.txt @@ -0,0 +1,49 @@ +find_package(Doxygen) + +if(DOXYGEN_FOUND) + set(PARC_REMOTE http://githubenterprise.parc.com/CCNX/Libccnx-common) + set(GITHUB_REMOTE http://github.com/PARC/Libccnx-common) + configure_file(libccnx-stage1.doxygen.in config.doxygen @ONLY) + configure_file(libccnx-stage2.doxygen.in config2.doxygen @ONLY) + + install(DIRECTORY images/ DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/images) + install(DIRECTORY doxygen-extras/ DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/doxygen-extras) + install(DIRECTORY examples/ DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/examples) + install(FILES DoxygenLayout.xml DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + + set(HTML_PATH ${CMAKE_CURRENT_BINARY_DIR}/generated-documentation/html) + + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/documentation.tar + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/config.doxygen + COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/config2.doxygen + COMMAND tar cf documentation.tar -C ${HTML_PATH} . + COMMENT "The file documentation.tar contains the HTML website suitable to update/replace the gh-pages branch of this repository." VERBATIM ) + + add_custom_target(documentation + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/documentation.tar + WORKING_DIRECTORY ${HTML_PATH}) + + add_custom_command(OUTPUT ${HTML_PATH}/.git/config + DEPENDS documentation + WORKING_DIRECTORY ${HTML_PATH} + COMMAND git init . + COMMAND git checkout -B gh-pages + COMMAND git add . + COMMAND git commit -am 'Override all previous versions' + COMMAND git remote add parc ${PARC_REMOTE} + COMMAND git remote add github ${GITHUB_REMOTE}) + + add_custom_target(documentation-install-parc + COMMENT "Push to ${PARC_REMOTE} gh-pages" + DEPENDS ${HTML_PATH}/.git/config + WORKING_DIRECTORY ${HTML_PATH} + COMMAND git push parc gh-pages -f) + + add_custom_target(documentation-install-github + COMMENT "Push to ${GITHUB_REMOTE} gh-pages" + DEPENDS ${HTML_PATH}/.git/config + WORKING_DIRECTORY ${HTML_PATH} + COMMAND git push github gh-pages -f) + +endif(DOXYGEN_FOUND) |