Skip to content

Commit a78a2ce

Browse files
committed
build: modify add_xml_docs function to target_generate_xml_docs
1 parent deccdf8 commit a78a2ce

File tree

4 files changed

+17
-18
lines changed

4 files changed

+17
-18
lines changed

CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,9 @@ if(NOT_SUBPROJECT)
7171
catch_discover_tests(errors_test)
7272
endif()
7373

74-
# Build XML documentation
7574
if(BUILD_DOCS)
76-
include(cmake/add_xml_docs.cmake)
77-
add_xml_docs(errors_docs include/errors/error.hpp)
75+
include(cmake/GenerateDocs.cmake)
76+
target_generate_xml_docs(errors)
7877
endif()
7978

8079
if(BUILD_EXAMPLES)

cmake/GenerateDocs.cmake

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Function to generate an XML documentation of a specific target.
2+
# Arguments:
3+
# - TARGET: The target for which to generate an XML documentation.
4+
function(target_generate_xml_docs TARGET)
5+
find_package(Doxygen REQUIRED)
6+
7+
# Configure Doxygen to generate an XML documentation.
8+
set(DOXYGEN_GENERATE_HTML NO)
9+
set(DOXYGEN_GENERATE_XML YES)
10+
set(DOXYGEN_XML_OUTPUT ${TARGET}_docs)
11+
12+
get_target_property(TARGET_HEADER_SET ${TARGET} HEADER_SET)
13+
doxygen_add_docs(${TARGET}_docs ${TARGET_HEADER_SET} USE_STAMP_FILE)
14+
endfunction()

cmake/add_xml_docs.cmake

Lines changed: 0 additions & 13 deletions
This file was deleted.

components/format/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@ if(NOT_SUBPROJECT)
3939
catch_discover_tests(errors_format_test)
4040
endif()
4141

42-
# Build XML documentation
4342
if(BUILD_DOCS)
44-
add_xml_docs(errors_format_docs include/errors/format.hpp)
43+
target_generate_xml_docs(errors_format)
4544
endif()
4645
endif()

0 commit comments

Comments
 (0)