1project(EigenDoc) 2 3set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL TRUE) 4 5project(EigenDoc) 6 7if(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) 11endif(CMAKE_COMPILER_IS_GNUCXX) 12 13option(EIGEN_INTERNAL_DOCUMENTATION "Build internal documentation" OFF) 14 15 16# Set some Doxygen flags 17set(EIGEN_DOXY_PROJECT_NAME "Eigen") 18set(EIGEN_DOXY_OUTPUT_DIRECTORY_SUFFIX "") 19set(EIGEN_DOXY_INPUT "\"${Eigen_SOURCE_DIR}/Eigen\" \"${Eigen_SOURCE_DIR}/doc\"") 20set(EIGEN_DOXY_HTML_COLORSTYLE_HUE "220") 21set(EIGEN_DOXY_TAGFILES "") 22if(EIGEN_INTERNAL_DOCUMENTATION) 23 set(EIGEN_DOXY_INTERNAL "YES") 24else(EIGEN_INTERNAL_DOCUMENTATION) 25 set(EIGEN_DOXY_INTERNAL "NO") 26endif(EIGEN_INTERNAL_DOCUMENTATION) 27 28configure_file( 29 ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in 30 ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile 31) 32 33set(EIGEN_DOXY_PROJECT_NAME "Eigen-unsupported") 34set(EIGEN_DOXY_OUTPUT_DIRECTORY_SUFFIX "/unsupported") 35set(EIGEN_DOXY_INPUT "\"${Eigen_SOURCE_DIR}/unsupported/Eigen\" \"${Eigen_SOURCE_DIR}/unsupported/doc\"") 36set(EIGEN_DOXY_HTML_COLORSTYLE_HUE "0") 37# set(EIGEN_DOXY_TAGFILES "\"${Eigen_BINARY_DIR}/doc/eigen.doxytags =../\"") 38set(EIGEN_DOXY_TAGFILES "") 39 40configure_file( 41 ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in 42 ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile-unsupported 43) 44 45configure_file( 46 ${CMAKE_CURRENT_SOURCE_DIR}/eigendoxy_header.html.in 47 ${CMAKE_CURRENT_BINARY_DIR}/eigendoxy_header.html 48) 49 50configure_file( 51 ${CMAKE_CURRENT_SOURCE_DIR}/eigendoxy_footer.html.in 52 ${CMAKE_CURRENT_BINARY_DIR}/eigendoxy_footer.html 53) 54 55configure_file( 56 ${CMAKE_CURRENT_SOURCE_DIR}/eigendoxy_layout.xml.in 57 ${CMAKE_CURRENT_BINARY_DIR}/eigendoxy_layout.xml 58) 59 60configure_file( 61 ${Eigen_SOURCE_DIR}/unsupported/doc/eigendoxy_layout.xml.in 62 ${Eigen_BINARY_DIR}/doc/unsupported/eigendoxy_layout.xml 63) 64 65set(examples_targets "") 66set(snippets_targets "") 67 68add_definitions("-DEIGEN_MAKING_DOCS") 69add_custom_target(all_examples) 70 71add_subdirectory(examples) 72add_subdirectory(special_examples) 73add_subdirectory(snippets) 74 75add_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/ 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/ 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 87add_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/ 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/ 95 WORKING_DIRECTORY ${Eigen_BINARY_DIR}/doc 96) 97 98add_dependencies(doc-eigen-prerequisites all_snippets all_examples) 99add_dependencies(doc-unsupported-prerequisites unsupported_snippets unsupported_examples) 100 101add_custom_target(doc ALL 102 COMMAND doxygen 103 COMMAND doxygen Doxyfile-unsupported 104 COMMAND ${CMAKE_COMMAND} -E copy ${Eigen_BINARY_DIR}/doc/html/group__TopicUnalignedArrayAssert.html ${Eigen_BINARY_DIR}/doc/html/TopicUnalignedArrayAssert.html 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 112add_dependencies(doc doc-eigen-prerequisites doc-unsupported-prerequisites) 113