forked from lthn/blockchain
Changed release build flags in CMakeLists.txt to suppress all warnings with '-w'. Updated CPackConfig.cmake to use 'message(STATUS ...)' for clearer status output and improved consistency. Removed unused COMPONENT argument from documentation install step in DocBuilder.cmake.
45 lines
No EOL
1.6 KiB
CMake
45 lines
No EOL
1.6 KiB
CMake
set(MKDOCS_SRC "${CMAKE_SOURCE_DIR}/docs")
|
||
set(MKDOCS_OUT "${CMAKE_BINARY_DIR}/../docs")
|
||
|
||
message("MKDocs src: ${MKDOCS_SRC} > ${MKDOCS_OUT}")
|
||
|
||
file(MAKE_DIRECTORY "${MKDOCS_OUT}")
|
||
|
||
add_custom_target(docs
|
||
COMMAND ${CMAKE_COMMAND} -E env PYTHONUNBUFFERED=1
|
||
mkdocs build
|
||
--clean
|
||
--site-dir "${MKDOCS_OUT}"
|
||
--config-file "${MKDOCS_SRC}/mkdocs.yml"
|
||
WORKING_DIRECTORY "${MKDOCS_SRC}"
|
||
COMMENT "Generating documentation with MkDocs"
|
||
VERBATIM
|
||
)
|
||
|
||
# Optional install step
|
||
install(DIRECTORY "${MKDOCS_OUT}/"
|
||
DESTINATION "share/doc/${PROJECT_NAME}")
|
||
|
||
add_custom_target(install-docs
|
||
DEPENDS docs
|
||
COMMAND "${CMAKE_COMMAND}" --install . --component docs
|
||
COMMENT "Installing documentation")
|
||
|
||
# Name of the target that launches the dev server
|
||
add_custom_target(
|
||
serve_docs # ← invoke with `make serve_docs`
|
||
COMMAND ${CMAKE_COMMAND} -E env PYTHONUNBUFFERED=1
|
||
# On Windows we need to run the command through the shell
|
||
# so that the `&&` operator works correctly.
|
||
${CMAKE_COMMAND} -E env
|
||
mkdocs serve
|
||
--dev-addr "127.0.0.1:8000" # optional – explicit bind address
|
||
--watch "${MKDOCS_SRC}" # watch source files for changes
|
||
--config-file "${MKDOCS_SRC}/mkdocs.yml"
|
||
WORKING_DIRECTORY "${MKDOCS_SRC}"
|
||
USES_TERMINAL # tells CMake to attach the child process to the console
|
||
COMMENT "Starting MkDocs live‑preview server (Ctrl‑C to stop)"
|
||
VERBATIM
|
||
)
|
||
|
||
add_dependencies(serve_docs docs) # ensures the static site is up‑to‑date before serving |