mirror of
https://github.com/nodejs/node.git
synced 2024-11-29 07:00:59 +01:00
446beebd79
Squashed commit of ca128f7dcd28cbcfba154c8577ed54d4aa71dd02 with contributions from Mark Constable (markc@renta.net) and Daniel Gröber (darklord@darkboxed.org).
81 lines
2.9 KiB
CMake
81 lines
2.9 KiB
CMake
#
|
|
# docs
|
|
#
|
|
|
|
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/doc)
|
|
|
|
set(node_binary ${PROJECT_BINARY_DIR}/default/node)
|
|
set(doctool tools/doctool/doctool.js)
|
|
set(changelog_html ${PROJECT_BINARY_DIR}/doc/changelog.html)
|
|
|
|
file(GLOB_RECURSE doc_sources RELATIVE ${PROJECT_SOURCE_DIR} doc/*)
|
|
|
|
foreach(FILE ${doc_sources})
|
|
string(REGEX REPLACE "(.*)api_assets(.*)" "\\1api/assets\\2" OUT_FILE ${FILE})
|
|
add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/${OUT_FILE}
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PROJECT_SOURCE_DIR}/${FILE} ${PROJECT_BINARY_DIR}/${OUT_FILE}
|
|
DEPENDS ${PROJECT_SOURCE_DIR}/${FILE}
|
|
)
|
|
list(APPEND doc_sources_copy ${PROJECT_BINARY_DIR}/${OUT_FILE})
|
|
endforeach()
|
|
|
|
file(GLOB_RECURSE api_markdown RELATIVE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/doc/api/*)
|
|
|
|
foreach(file ${api_markdown})
|
|
string(REGEX REPLACE "(.*)\\.markdown" "\\1" tmp ${file})
|
|
set(api_basenames ${api_basenames} ${tmp})
|
|
endforeach()
|
|
|
|
foreach(api ${api_basenames})
|
|
set(api_html ${api_html} ${PROJECT_BINARY_DIR}/${api}.html)
|
|
add_custom_command(
|
|
OUTPUT "${PROJECT_BINARY_DIR}/${api}.html"
|
|
COMMAND ${node_binary} ${doctool} ${PROJECT_BINARY_DIR}/doc/template.html "${PROJECT_BINARY_DIR}/${api}.markdown" > "${PROJECT_BINARY_DIR}/${api}.html"
|
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
|
DEPENDS node ${doctool} ${doc_sources_copy}
|
|
VERBATIM
|
|
)
|
|
endforeach()
|
|
|
|
add_custom_target(
|
|
doc
|
|
DEPENDS node ${doc_sources_copy} ${api_html} ${changelog_html}
|
|
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
|
)
|
|
|
|
#add_custom_command(
|
|
# OUTPUT ${PROJECT_BINARY_DIR}/doc/api.html
|
|
# COMMAND ${PROJECT_BINARY_DIR}/default/node tools/ronnjs/bin/ronn.js --fragment doc/api.markdown
|
|
# | sed "s/<h2>\\\(.*\\\)<\\/h2>/<h2 id=\"\\1\">\\1<\\/h2>/g"
|
|
# | cat doc/api_header.html - doc/api_footer.html > ${PROJECT_BINARY_DIR}/doc/api.html
|
|
# WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
|
# DEPENDS node doc/api.markdown doc/api_header.html doc/api_footer.html
|
|
# VERBATIM
|
|
# )
|
|
|
|
add_custom_command(
|
|
OUTPUT ${changelog_html}
|
|
COMMAND ${node_binary} ${doctool} doc/template.html ChangeLog
|
|
| sed "s|assets/|api/assets/|g"
|
|
| sed "s|<body>|<body id=\"changelog\">|g" > ${changelog_html}
|
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
|
DEPENDS ChangeLog node ${doctool} ${doc_sources_copy}
|
|
VERBATIM
|
|
)
|
|
|
|
#add_custom_command(
|
|
# OUTPUT ${PROJECT_BINARY_DIR}/doc/changelog.html
|
|
# COMMAND cat doc/changelog_header.html ChangeLog doc/changelog_footer.html > ${PROJECT_BINARY_DIR}/doc/changelog.html
|
|
# WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
|
# DEPENDS ChangeLog doc/changelog_header.html doc/changelog_footer.html
|
|
# VERBATIM
|
|
# )
|
|
|
|
#add_custom_command(
|
|
# OUTPUT ${PROJECT_BINARY_DIR}/doc/node.1
|
|
# COMMAND ${PROJECT_BINARY_DIR}/default/node tools/ronnjs/bin/ronn.js --roff doc/api.markdown > ${PROJECT_BINARY_DIR}/doc/node.1
|
|
# WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
|
# DEPENDS node doc/api.markdown tools/ronnjs/bin/ronn.js
|
|
# VERBATIM
|
|
# )
|