Skip to content

Commit 7199492

Browse files
authored
Merge pull request #503 from julielangou/fix-Doxygen
Doxygen stuff: Upgrade conf files, new DOCSDIR variable for make build, fix syntax errors, deployment to cmake
2 parents 4b11516 + ab165e7 commit 7199492

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+959
-487
lines changed

CMakeLists.txt

Lines changed: 69 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ if(_recursiveFlag)
107107
endif()
108108
elseif(_frecursiveFlag)
109109
string(REGEX MATCH "-frecursive" output_test <string> "${CMAKE_Fortran_FLAGS}")
110-
if(NOT output_test)
110+
if(NOT output_test)
111111
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -frecursive"
112112
CACHE STRING "Recursive flag must be set" FORCE)
113113
endif()
@@ -368,8 +368,8 @@ endif()
368368
# BLAS++ / LAPACK++
369369
option(BLAS++ "Build BLAS++" OFF)
370370
option(LAPACK++ "Build LAPACK++" OFF)
371-
372-
371+
372+
373373
function(_display_cpp_implementation_msg name)
374374
string(TOLOWER ${name} name_lc)
375375
message(STATUS "${name}++ enable")
@@ -564,3 +564,69 @@ if (BLAS++)
564564
FILES_MATCHING REGEX "\\.(h|hh)$"
565565
)
566566
endif()
567+
568+
# --------------------------------------------------
569+
# Generate MAN and/or HTML Documentation
570+
option(BUILD_HTML_DOCUMENTATION "Create and install the HTML based API
571+
documentation (requires Doxygen) - command: make html" OFF)
572+
option(BUILD_MAN_DOCUMENTATION "Create and install the MAN based documentation (requires Doxygen) - command: make man" OFF)
573+
message(STATUS "Build html documentation: ${BUILD_HTML_DOCUMENTATION}")
574+
message(STATUS "Build man documentation: ${BUILD_MAN_DOCUMENTATION}")
575+
576+
if(BUILD_HTML_DOCUMENTATION OR BUILD_MAN_DOCUMENTATION)
577+
find_package(Doxygen)
578+
if(NOT DOXYGEN_FOUND)
579+
message(WARNING "Doxygen is needed to build the documentation.")
580+
581+
else()
582+
583+
set(DOXYGEN_PROJECT_BRIEF "LAPACK: Linear Algebra PACKage")
584+
set(DOXYGEN_PROJECT_NUMBER ${LAPACK_VERSION})
585+
set(DOXYGEN_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/DOCS)
586+
set(PROJECT_LOGO ${CMAKE_CURRENT_SOURCE_DIR}/DOCS/lapack.png)
587+
set(DOXYGEN_OPTIMIZE_FOR_FORTRAN YES)
588+
set(DOXYGEN_SOURCE_BROWSER YES)
589+
set(DISTRIBUTE_GROUP_DOC YES)
590+
set(DOXYGEN_CREATE_SUBDIRS YES)
591+
set(DOXYGEN_SEPARATE_MEMBER_PAGES YES)
592+
set(DOXYGEN_EXTRACT_ALL YES)
593+
set(DOXYGEN_FILE_PATTERNS "*.f;*.c;*.h")
594+
set(DOXYGEN_RECURSIVE YES)
595+
set(DOXYGEN_GENERATE_TREEVIEW YES)
596+
set(DOXYGEN_INTERACTIVE_SVG YES)
597+
set(DOXYGEN_QUIET YES)
598+
set(DOXYGEN_WARNINGS NO)
599+
set(DOXYGEN_GENERATE_HTML NO)
600+
set(DOXYGEN_GENERATE_MAN NO)
601+
602+
603+
if (BUILD_HTML_DOCUMENTATION)
604+
set(DOXYGEN_GENERATE_HTML YES)
605+
set(DOXYGEN_HTML_OUTPUT explore-html)
606+
set(DOXYGEN_INLINE_SOURCES YES)
607+
set(DOXYGEN_CALL_GRAPH YES)
608+
set(DOXYGEN_CALLER_GRAPH YES)
609+
610+
doxygen_add_docs(
611+
html
612+
${PROJECT_SOURCE_DIR}
613+
COMMENT "Generating html LAPACK documentation (it will take some time... time to grab a coffee)"
614+
)
615+
endif()
616+
if (BUILD_MAN_DOCUMENTATION)
617+
set(DOXYGEN_GENERATE_MAN YES)
618+
set(DOXYGEN_EXCLUDE SRC/VARIANTS)
619+
set(DOXYGEN_MAN_LINKS YES)
620+
set(DOXYGEN_INLINE_SOURCES NO)
621+
set(DOXYGEN_CALL_GRAPH NO)
622+
set(DOXYGEN_CALLER_GRAPH NO)
623+
624+
doxygen_add_docs(
625+
man
626+
${PROJECT_SOURCE_DIR}
627+
COMMENT "Generating man LAPACK documentation"
628+
)
629+
endif()
630+
631+
endif()
632+
endif()

0 commit comments

Comments
 (0)