Skip to content

Commit acb7b75

Browse files
committed
configure internal docs INPUT
- CMakeLists.txt: get list of subdirectories as INPUT for internal docs. - Doxyfile_internal.in: replace input list with subdirectories. - search directories recursively for headers and dox pages. - lots of files so make subdirectories. - remove protected=private macro because private tags are extracted for internal docs and the distinction is useful. Signed-off-by: Aiden Woodruff <woodra@rpi.edu>
1 parent 4fdd7ef commit acb7b75

File tree

2 files changed

+23
-115
lines changed

2 files changed

+23
-115
lines changed

CMakeLists.txt

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -122,20 +122,22 @@ if(ENABLE_FPP)
122122
endif()
123123

124124
macro(scorec_export_library target)
125-
bob_export_target(${target})
126-
install(FILES ${HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
127-
target_include_directories(${target} INTERFACE
128-
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
129-
)
130-
# Collect HEADERS for Doxygen
131-
list(TRANSFORM HEADERS
132-
PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/"
133-
OUTPUT_VARIABLE ${target}_HEADERS
134-
)
135-
list(APPEND DOXYGEN_INPUTS ${${target}_HEADERS})
136-
if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
137-
set(DOXYGEN_INPUTS "${DOXYGEN_INPUTS}" PARENT_SCOPE)
138-
endif()
125+
bob_export_target(${target})
126+
install(FILES ${HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
127+
target_include_directories(${target} INTERFACE
128+
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
129+
)
130+
# Collect HEADERS for Doxygen
131+
list(TRANSFORM HEADERS
132+
PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/"
133+
OUTPUT_VARIABLE ${target}_HEADERS
134+
)
135+
list(APPEND DOXYGEN_INPUTS ${${target}_HEADERS})
136+
if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
137+
set(DOXYGEN_INPUTS "${DOXYGEN_INPUTS}" PARENT_SCOPE)
138+
list(APPEND DOXYGEN_INTERNAL_INPUTS "${CMAKE_CURRENT_SOURCE_DIR}")
139+
set(DOXYGEN_INTERNAL_INPUTS "${DOXYGEN_INTERNAL_INPUTS}" PARENT_SCOPE)
140+
endif()
139141
endmacro(scorec_export_library)
140142

141143
if(ENABLE_SIMMETRIX)
@@ -225,6 +227,7 @@ if(DOXYGEN_FOUND)
225227
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
226228
COMMENT "Generating API documentation with Doxygen" VERBATIM
227229
)
230+
list(JOIN DOXYGEN_INTERNAL_INPUTS " \\\n" DOXYGEN_INTERNAL_INPUT)
228231
configure_file(
229232
${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile_internal.in
230233
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_internal @ONLY

Doxyfile_internal.in

Lines changed: 6 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ OUTPUT_DIRECTORY = docInternal
7979
# control the number of sub-directories.
8080
# The default value is: NO.
8181

82-
CREATE_SUBDIRS = NO
82+
CREATE_SUBDIRS = YES
8383

8484
# Controls the number of sub-directories that will be created when
8585
# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every
@@ -907,102 +907,8 @@ WARN_LOGFILE =
907907
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
908908
# Note: If this tag is empty the current directory is searched.
909909

910-
INPUT = @DOXYGEN_INPUT@ \
911-
@CMAKE_CURRENT_SOURCE_DIR@/scorec.dox \
912-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apf.dox \
913-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apf2mth.h \
914-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfArrayData.h \
915-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfArray.h \
916-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfCavityOp.h \
917-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfConvert.h \
918-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfConvertTags.h \
919-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfCoordData.h \
920-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfDynamicArray.h \
921-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfDynamicMatrix.h \
922-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfDynamicVector.h \
923-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfElement.h \
924-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfElementOf.h \
925-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfFieldData.h \
926-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfField.h \
927-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfFieldOf.h \
928-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfFile.h \
929-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfGeometry.h \
930-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apf.h \
931-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfIntegrate.h \
932-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfMatrixElement.h \
933-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfMatrixField.h \
934-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfMatrix.h \
935-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfMesh2.h \
936-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfMesh.h \
937-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfMIS.h \
938-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfMixedNumbering.h \
939-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfMixedVectorElement.h \
940-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfMixedVectorField.h \
941-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfNew.h \
942-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfNumberingClass.h \
943-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfNumbering.h \
944-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfPackedField.h \
945-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfPartition.h \
946-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfPolyBasis1D.h \
947-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfScalarElement.h \
948-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfScalarField.h \
949-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfShape.h \
950-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfTagData.h \
951-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfUserData.h \
952-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfVectorElement.h \
953-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfVectorField.h \
954-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfVector.h \
955-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfVtk.h \
956-
@CMAKE_CURRENT_SOURCE_DIR@/can/canArray.h \
957-
@CMAKE_CURRENT_SOURCE_DIR@/can/canNewArray.h \
958-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfCavityOp.h \
959-
@CMAKE_CURRENT_SOURCE_DIR@/apf/apfPartition.h \
960-
@CMAKE_CURRENT_SOURCE_DIR@/mds/apfMDS.h \
961-
@CMAKE_CURRENT_SOURCE_DIR@/ma/ma.h \
962-
@CMAKE_CURRENT_SOURCE_DIR@/ma/maInput.h \
963-
@CMAKE_CURRENT_SOURCE_DIR@/ma/maMesh.h \
964-
@CMAKE_CURRENT_SOURCE_DIR@/ma/maSolutionTransfer.h \
965-
@CMAKE_CURRENT_SOURCE_DIR@/ma/maSize.h \
966-
@CMAKE_CURRENT_SOURCE_DIR@/zoltan/apfZoltan.h \
967-
@CMAKE_CURRENT_SOURCE_DIR@/spr/spr.dox \
968-
@CMAKE_CURRENT_SOURCE_DIR@/spr/spr.h \
969-
@CMAKE_CURRENT_SOURCE_DIR@/parma/parma.dox \
970-
@CMAKE_CURRENT_SOURCE_DIR@/parma/parma.h \
971-
@CMAKE_CURRENT_SOURCE_DIR@/metis/metis.dox \
972-
@CMAKE_CURRENT_SOURCE_DIR@/metis/apfMETIS.h \
973-
@CMAKE_CURRENT_SOURCE_DIR@/phasta/phasta.dox \
974-
@CMAKE_CURRENT_SOURCE_DIR@/phasta/chef.h \
975-
@CMAKE_CURRENT_SOURCE_DIR@/phasta/chef.cc \
976-
@CMAKE_CURRENT_SOURCE_DIR@/phasta/chefStream.cc \
977-
@CMAKE_CURRENT_SOURCE_DIR@/phasta/phstream.h \
978-
@CMAKE_CURRENT_SOURCE_DIR@/phasta/phInput.h \
979-
@CMAKE_CURRENT_SOURCE_DIR@/phasta/phInput.cc \
980-
@CMAKE_CURRENT_SOURCE_DIR@/gmi/gmi.h \
981-
@CMAKE_CURRENT_SOURCE_DIR@/gmi/gmi_mesh.h \
982-
@CMAKE_CURRENT_SOURCE_DIR@/gmi/gmi_analytic.h \
983-
@CMAKE_CURRENT_SOURCE_DIR@/gmi/gmi_null.h \
984-
@CMAKE_CURRENT_SOURCE_DIR@/pcu/pcu.dox \
985-
@CMAKE_CURRENT_SOURCE_DIR@/pcu/PCU.h \
986-
@CMAKE_CURRENT_SOURCE_DIR@/pcu/PCU_C.h \
987-
@CMAKE_CURRENT_SOURCE_DIR@/pcu/pcu_io.h \
988-
@CMAKE_CURRENT_SOURCE_DIR@/pcu/pcu_util.h \
989-
@CMAKE_CURRENT_SOURCE_DIR@/pcu/pcu_defines.h \
990-
@CMAKE_CURRENT_SOURCE_DIR@/mth/mth.dox \
991-
@CMAKE_CURRENT_SOURCE_DIR@/mth/mth.h \
992-
@CMAKE_CURRENT_SOURCE_DIR@/mth/mthVector.h \
993-
@CMAKE_CURRENT_SOURCE_DIR@/mth/mthMatrix.h \
994-
@CMAKE_CURRENT_SOURCE_DIR@/mth/mthQR.h \
995-
@CMAKE_CURRENT_SOURCE_DIR@/mth/mthAD.h \
996-
@CMAKE_CURRENT_SOURCE_DIR@/crv/crv.dox \
997-
@CMAKE_CURRENT_SOURCE_DIR@/crv/crv.h \
998-
@CMAKE_CURRENT_SOURCE_DIR@/crv/crvAdapt.h \
999-
@CMAKE_CURRENT_SOURCE_DIR@/crv/crvBezier.h \
1000-
@CMAKE_CURRENT_SOURCE_DIR@/crv/crvBezierShapes.h \
1001-
@CMAKE_CURRENT_SOURCE_DIR@/crv/crvMath.h \
1002-
@CMAKE_CURRENT_SOURCE_DIR@/crv/crvQuality.h \
1003-
@CMAKE_CURRENT_SOURCE_DIR@/crv/crvShape.h \
1004-
@CMAKE_CURRENT_SOURCE_DIR@/crv/crvSnap.h \
1005-
@CMAKE_CURRENT_SOURCE_DIR@/crv/crvTables.h
910+
INPUT = @DOXYGEN_INTERNAL_INPUT@ \
911+
@CMAKE_CURRENT_SOURCE_DIR@/scorec.dox
1006912

1007913
# This tag can be used to specify the character encoding of the source files
1008914
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -1042,13 +948,13 @@ INPUT_FILE_ENCODING =
1042948
# comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd,
1043949
# *.vhdl, *.ucf, *.qsf and *.ice.
1044950

1045-
FILE_PATTERNS =
951+
FILE_PATTERNS = *.h *.dox
1046952

1047953
# The RECURSIVE tag can be used to specify whether or not subdirectories should
1048954
# be searched for input files as well.
1049955
# The default value is: NO.
1050956

1051-
RECURSIVE = NO
957+
RECURSIVE = YES
1052958

1053959
# The EXCLUDE tag can be used to specify files and/or directories that should be
1054960
# excluded from the INPUT source files. This way you can easily exclude a
@@ -2370,8 +2276,7 @@ INCLUDE_FILE_PATTERNS =
23702276
# recursively expanded use the := operator instead of the = operator.
23712277
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
23722278

2373-
PREDEFINED = protected=private \
2374-
__cplusplus
2279+
PREDEFINED = __cplusplus
23752280

23762281
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
23772282
# tag can be used to specify a list of macro names that should be expanded. The

0 commit comments

Comments
 (0)