Brian Silverman | 72890c2 | 2015-09-19 14:37:37 -0400 | [diff] [blame] | 1 | project(EigenDoc) |
| 2 | |
| 3 | set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL TRUE) |
| 4 | |
| 5 | project(EigenDoc) |
| 6 | |
| 7 | if(CMAKE_COMPILER_IS_GNUCXX) |
| 8 | if(CMAKE_SYSTEM_NAME MATCHES Linux) |
| 9 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O1 -g1") |
| 10 | endif(CMAKE_SYSTEM_NAME MATCHES Linux) |
| 11 | endif(CMAKE_COMPILER_IS_GNUCXX) |
| 12 | |
Austin Schuh | 189376f | 2018-12-20 22:11:15 +1100 | [diff] [blame^] | 13 | option(EIGEN_INTERNAL_DOCUMENTATION "Build internal documentation" OFF) |
| 14 | |
| 15 | |
Brian Silverman | 72890c2 | 2015-09-19 14:37:37 -0400 | [diff] [blame] | 16 | # Set some Doxygen flags |
| 17 | set(EIGEN_DOXY_PROJECT_NAME "Eigen") |
| 18 | set(EIGEN_DOXY_OUTPUT_DIRECTORY_SUFFIX "") |
| 19 | set(EIGEN_DOXY_INPUT "\"${Eigen_SOURCE_DIR}/Eigen\" \"${Eigen_SOURCE_DIR}/doc\"") |
| 20 | set(EIGEN_DOXY_HTML_COLORSTYLE_HUE "220") |
| 21 | set(EIGEN_DOXY_TAGFILES "") |
Austin Schuh | 189376f | 2018-12-20 22:11:15 +1100 | [diff] [blame^] | 22 | if(EIGEN_INTERNAL_DOCUMENTATION) |
| 23 | set(EIGEN_DOXY_INTERNAL "YES") |
| 24 | else(EIGEN_INTERNAL_DOCUMENTATION) |
| 25 | set(EIGEN_DOXY_INTERNAL "NO") |
| 26 | endif(EIGEN_INTERNAL_DOCUMENTATION) |
Brian Silverman | 72890c2 | 2015-09-19 14:37:37 -0400 | [diff] [blame] | 27 | |
| 28 | configure_file( |
| 29 | ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in |
| 30 | ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile |
| 31 | ) |
| 32 | |
| 33 | set(EIGEN_DOXY_PROJECT_NAME "Eigen-unsupported") |
| 34 | set(EIGEN_DOXY_OUTPUT_DIRECTORY_SUFFIX "/unsupported") |
| 35 | set(EIGEN_DOXY_INPUT "\"${Eigen_SOURCE_DIR}/unsupported/Eigen\" \"${Eigen_SOURCE_DIR}/unsupported/doc\"") |
| 36 | set(EIGEN_DOXY_HTML_COLORSTYLE_HUE "0") |
Austin Schuh | 189376f | 2018-12-20 22:11:15 +1100 | [diff] [blame^] | 37 | set(EIGEN_DOXY_TAGFILES "\"${Eigen_BINARY_DIR}/doc/Eigen.doxytags=..\"") |
| 38 | #set(EIGEN_DOXY_TAGFILES "") |
Brian Silverman | 72890c2 | 2015-09-19 14:37:37 -0400 | [diff] [blame] | 39 | |
| 40 | configure_file( |
| 41 | ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in |
| 42 | ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile-unsupported |
| 43 | ) |
| 44 | |
| 45 | configure_file( |
| 46 | ${CMAKE_CURRENT_SOURCE_DIR}/eigendoxy_header.html.in |
| 47 | ${CMAKE_CURRENT_BINARY_DIR}/eigendoxy_header.html |
| 48 | ) |
| 49 | |
| 50 | configure_file( |
| 51 | ${CMAKE_CURRENT_SOURCE_DIR}/eigendoxy_footer.html.in |
| 52 | ${CMAKE_CURRENT_BINARY_DIR}/eigendoxy_footer.html |
| 53 | ) |
| 54 | |
| 55 | configure_file( |
| 56 | ${CMAKE_CURRENT_SOURCE_DIR}/eigendoxy_layout.xml.in |
| 57 | ${CMAKE_CURRENT_BINARY_DIR}/eigendoxy_layout.xml |
| 58 | ) |
| 59 | |
| 60 | configure_file( |
| 61 | ${Eigen_SOURCE_DIR}/unsupported/doc/eigendoxy_layout.xml.in |
| 62 | ${Eigen_BINARY_DIR}/doc/unsupported/eigendoxy_layout.xml |
| 63 | ) |
| 64 | |
| 65 | set(examples_targets "") |
| 66 | set(snippets_targets "") |
| 67 | |
| 68 | add_definitions("-DEIGEN_MAKING_DOCS") |
| 69 | add_custom_target(all_examples) |
| 70 | |
| 71 | add_subdirectory(examples) |
| 72 | add_subdirectory(special_examples) |
| 73 | add_subdirectory(snippets) |
| 74 | |
| 75 | add_custom_target( |
| 76 | doc-eigen-prerequisites |
| 77 | ALL |
| 78 | COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/html/ |
| 79 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/eigen_navtree_hacks.js ${CMAKE_CURRENT_BINARY_DIR}/html/ |
| 80 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Eigen_Silly_Professor_64x64.png ${CMAKE_CURRENT_BINARY_DIR}/html/ |
Austin Schuh | 189376f | 2018-12-20 22:11:15 +1100 | [diff] [blame^] | 81 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/ftv2pnode.png ${CMAKE_CURRENT_BINARY_DIR}/html/ |
| 82 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/ftv2node.png ${CMAKE_CURRENT_BINARY_DIR}/html/ |
Brian Silverman | 72890c2 | 2015-09-19 14:37:37 -0400 | [diff] [blame] | 83 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/AsciiQuickReference.txt ${CMAKE_CURRENT_BINARY_DIR}/html/ |
| 84 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
| 85 | ) |
| 86 | |
| 87 | add_custom_target( |
| 88 | doc-unsupported-prerequisites |
| 89 | ALL |
| 90 | COMMAND ${CMAKE_COMMAND} -E make_directory ${Eigen_BINARY_DIR}/doc/html/unsupported |
| 91 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/eigen_navtree_hacks.js ${CMAKE_CURRENT_BINARY_DIR}/html/unsupported/ |
| 92 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Eigen_Silly_Professor_64x64.png ${CMAKE_CURRENT_BINARY_DIR}/html/unsupported/ |
Austin Schuh | 189376f | 2018-12-20 22:11:15 +1100 | [diff] [blame^] | 93 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/ftv2pnode.png ${CMAKE_CURRENT_BINARY_DIR}/html/unsupported/ |
| 94 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/ftv2node.png ${CMAKE_CURRENT_BINARY_DIR}/html/unsupported/ |
Brian Silverman | 72890c2 | 2015-09-19 14:37:37 -0400 | [diff] [blame] | 95 | WORKING_DIRECTORY ${Eigen_BINARY_DIR}/doc |
| 96 | ) |
| 97 | |
| 98 | add_dependencies(doc-eigen-prerequisites all_snippets all_examples) |
| 99 | add_dependencies(doc-unsupported-prerequisites unsupported_snippets unsupported_examples) |
| 100 | |
| 101 | add_custom_target(doc ALL |
| 102 | COMMAND doxygen |
| 103 | COMMAND doxygen Doxyfile-unsupported |
Austin Schuh | 189376f | 2018-12-20 22:11:15 +1100 | [diff] [blame^] | 104 | COMMAND ${CMAKE_COMMAND} -E copy ${Eigen_BINARY_DIR}/doc/html/group__TopicUnalignedArrayAssert.html ${Eigen_BINARY_DIR}/doc/html/TopicUnalignedArrayAssert.html |
Brian Silverman | 72890c2 | 2015-09-19 14:37:37 -0400 | [diff] [blame] | 105 | COMMAND ${CMAKE_COMMAND} -E rename html eigen-doc |
| 106 | COMMAND ${CMAKE_COMMAND} -E remove eigen-doc/eigen-doc.tgz |
| 107 | COMMAND ${CMAKE_COMMAND} -E tar cfz eigen-doc.tgz eigen-doc |
| 108 | COMMAND ${CMAKE_COMMAND} -E rename eigen-doc.tgz eigen-doc/eigen-doc.tgz |
| 109 | COMMAND ${CMAKE_COMMAND} -E rename eigen-doc html |
| 110 | WORKING_DIRECTORY ${Eigen_BINARY_DIR}/doc) |
| 111 | |
| 112 | add_dependencies(doc doc-eigen-prerequisites doc-unsupported-prerequisites) |