Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -691,8 +691,11 @@ jobs:
for generator in "${generators[@]}"; do
[[ $generator = xml && $variant = multi ]] && continue
[[ $variant = multi ]] && multipage="true" || multipage="false"
# mrdocs boost.url demo
mrdocs --config="$(pwd)/boost/libs/url/doc/mrdocs.yml" "../CMakeLists.txt" --output="$(pwd)/demos/boost-url/$variant/$generator" --multipage=$multipage --generate="$generator" --log-level=debug
echo "Number of files in demos/boost-url/$variant/$generator: $(find demos/boost-url/$variant/$generator -type f | wc -l)"
# mrdocs documenting mrdocs demo
mrdocs --config="$(pwd)/docs/mrdocs.yml" "$(pwd)/CMakeLists.txt" --output="$(pwd)/demos/mrdocs/$variant/$generator" --multipage=$multipage --generate="$generator" --log-level=debug
done
done

Expand Down
33 changes: 33 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,35 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang$")
set(MRDOCS_CLANG ON)
endif()

#-------------------------------------------------
#
# Docs build
#
#-------------------------------------------------
if (MRDOCS_DOCUMENTATION_BUILD)
# Glob all header files
set(INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
file(GLOB_RECURSE HEADER_FILES_LIST "${INCLUDE_DIR}/*.hpp")

# Create a temporary source file that includes all header files
set(TEMP_CPP_FILE "${CMAKE_CURRENT_BINARY_DIR}/all_headers.cpp")
file(WRITE ${TEMP_CPP_FILE} "// This file is generated automatically by CMake\n\n")
foreach(HEADER_FILE ${HEADER_FILES_LIST})
file(APPEND ${TEMP_CPP_FILE} "#include \"${HEADER_FILE}\"\n")
endforeach()

# Create a custom target for MrDocs
add_library(mrdocs-documentation-build STATIC ${TEMP_CPP_FILE})

# Set any other target properties here
target_include_directories(mrdocs-documentation-build PRIVATE ${INCLUDE_DIR})
target_link_libraries(mrdocs-documentation-build PRIVATE an_external_library)
target_compile_definitions(mrdocs-documentation-build PRIVATE MRDOCS_STATIC_LINK)

# Don't create any other targets
return()
endif()

#-------------------------------------------------
#
# Dependencies
Expand Down Expand Up @@ -294,6 +323,10 @@ if (MRDOCS_CLANG)
)
endif ()

if (MRDOCS_DOCUMENTATION_BUILD)
return()
endif()

#-------------------------------------------------
#
# Tool
Expand Down
8 changes: 8 additions & 0 deletions bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -2355,6 +2355,14 @@ def generate_run_configs(self):
os.path.join(self.options.mrdocs_build_dir)],
"cwd": self.options.mrdocs_src_dir
})
configs.append({
"name": f"MrDocs Generate Config Info (docs)",
"script": os.path.join(self.options.mrdocs_src_dir, 'util', 'generate-config-info.py'),
"folder": "MrDocs Generate Config Info",
"args": [os.path.join(self.options.mrdocs_src_dir, 'src', 'lib', 'ConfigOptions.json'),
os.path.join(self.options.mrdocs_src_dir, 'docs', 'config-headers')],
"cwd": self.options.mrdocs_src_dir
})
configs.append({
"name": f"MrDocs Generate YAML Schema",
"script": os.path.join(self.options.mrdocs_src_dir, 'util', 'generate-yaml-schema.py'),
Expand Down
1 change: 1 addition & 0 deletions docs/config-headers/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This directory includes a version of the configuration headers meant to be used for documentation purposes. These headers are generated by CMake when building the project, but they are not included in main header files.
Loading
Loading