@@ -107,7 +107,7 @@ if(_recursiveFlag)
107
107
endif ()
108
108
elseif (_frecursiveFlag)
109
109
string (REGEX MATCH "-frecursive" output_test <string > "${CMAKE_Fortran_FLAGS} " )
110
- if (NOT output_test)
110
+ if (NOT output_test)
111
111
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -frecursive"
112
112
CACHE STRING "Recursive flag must be set" FORCE)
113
113
endif ()
@@ -368,8 +368,8 @@ endif()
368
368
# BLAS++ / LAPACK++
369
369
option (BLAS++ "Build BLAS++" OFF )
370
370
option (LAPACK++ "Build LAPACK++" OFF )
371
-
372
-
371
+
372
+
373
373
function (_display_cpp_implementation_msg name )
374
374
string (TOLOWER ${name} name_lc)
375
375
message (STATUS "${name} ++ enable" )
@@ -564,3 +564,69 @@ if (BLAS++)
564
564
FILES_MATCHING REGEX "\\ .(h|hh)$"
565
565
)
566
566
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