mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-03-27 14:45:13 +08:00
Additional work on building docs with CMake
This commit is contained in:
parent
861b55d7d8
commit
0909fe12e8
@ -18,20 +18,29 @@ SET(HDR_FILES_SRC doc_src/index.hdr.in doc_src/tutorial.hdr doc_src/design.hdr
|
|||||||
# These are the generated result files.
|
# These are the generated result files.
|
||||||
STRING(REPLACE ".in" "" HDR_FILES "${HDR_FILES_SRC}")
|
STRING(REPLACE ".in" "" HDR_FILES "${HDR_FILES_SRC}")
|
||||||
|
|
||||||
|
# Header files except for index.hdr
|
||||||
|
SET(HDR_FILES_NO_INDEX ${HDR_FILES})
|
||||||
|
LIST(REMOVE_ITEM HDR_FILES_NO_INDEX doc_src/index.hdr)
|
||||||
|
|
||||||
|
# Copy doc_src files
|
||||||
|
FILE(COPY ${DOC_SRC_FILES} DESTINATION doc_src)
|
||||||
|
|
||||||
# Build lexicon_filter.
|
# Build lexicon_filter.
|
||||||
ADD_CUSTOM_COMMAND(OUTPUT lexicon_filter
|
ADD_CUSTOM_COMMAND(OUTPUT lexicon_filter
|
||||||
COMMAND build_tools/build_lexicon_filter.sh
|
COMMAND build_tools/build_lexicon_filter.sh
|
||||||
share/completions/
|
${CMAKE_CURRENT_SOURCE_DIR}/share/functions/
|
||||||
share/functions/
|
${CMAKE_CURRENT_SOURCE_DIR}/share/completions/
|
||||||
< lexicon_filter.in
|
< ${CMAKE_CURRENT_SOURCE_DIR}/lexicon_filter.in
|
||||||
> ${CMAKE_CURRENT_BINARY_DIR}/lexicon_filter
|
> ${CMAKE_CURRENT_BINARY_DIR}/lexicon_filter
|
||||||
&& chmod a+x ${CMAKE_CURRENT_BINARY_DIR}/lexicon_filter
|
&& chmod a+x ${CMAKE_CURRENT_BINARY_DIR}/lexicon_filter
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
DEPENDS ${COMPLETIONS_DIR_FILES} ${FUNCTIONS_DIR_FILES}
|
DEPENDS ${FUNCTIONS_DIR_FILES} ${COMPLETIONS_DIR_FILES}
|
||||||
doc_src/commands.hdr lexicon_filter.in
|
doc_src/commands.hdr ${CMAKE_CURRENT_SOURCE_DIR}/lexicon_filter.in
|
||||||
share/functions/__fish_config_interactive.fish
|
share/functions/__fish_config_interactive.fish
|
||||||
build_tools/build_lexicon_filter.sh)
|
build_tools/build_lexicon_filter.sh)
|
||||||
|
|
||||||
|
ADD_CUSTOM_TARGET(build_lexicon_filter DEPENDS lexicon_filter)
|
||||||
|
|
||||||
#
|
#
|
||||||
# commands.dr collects documentation on all commands, functions and
|
# commands.dr collects documentation on all commands, functions and
|
||||||
# builtins
|
# builtins
|
||||||
@ -51,27 +60,42 @@ ADD_CUSTOM_COMMAND(OUTPUT doc_src/commands.hdr
|
|||||||
# file that can be parsed by Doxygen to generate the user
|
# file that can be parsed by Doxygen to generate the user
|
||||||
# documentation.
|
# documentation.
|
||||||
ADD_CUSTOM_COMMAND(OUTPUT doc.h
|
ADD_CUSTOM_COMMAND(OUTPUT doc.h
|
||||||
COMMAND cat ${HDR_FILES} > ${CMAKE_CURRENT_BINARY_DIR}/doc.h
|
COMMAND cat ${HDR_FILES} > ${CMAKE_CURRENT_BINARY_DIR}/doc.h
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
DEPENDS ${HDR_FILES})
|
DEPENDS ${HDR_FILES})
|
||||||
|
|
||||||
|
# toc.txt: $(HDR_FILES:index.hdr=index.hdr.in) build_tools/build_toc_txt.sh | show-SED
|
||||||
|
# FISH_BUILD_VERSION=${FISH_BUILD_VERSION} build_tools/build_toc_txt.sh \
|
||||||
|
# $(HDR_FILES:index.hdr=index.hdr.in) > toc.txt
|
||||||
|
# Note we would like to add doc_src/index.hdr.in as a dependency but CMake replaces this with
|
||||||
|
# doc_src/index.hdr; CMake bug?
|
||||||
|
ADD_CUSTOM_COMMAND(OUTPUT toc.txt
|
||||||
|
COMMAND env `cat ${FBVF}` ${CMAKE_CURRENT_SOURCE_DIR}/build_tools/build_toc_txt.sh
|
||||||
|
doc_src/index.hdr.in ${HDR_FILES_NO_INDEX}
|
||||||
|
> ${CMAKE_CURRENT_BINARY_DIR}/toc.txt
|
||||||
|
DEPENDS ${FBVF} ${HDR_FILES_NO_INDEX})
|
||||||
|
|
||||||
# doc_src/index.hdr: toc.txt doc_src/index.hdr.in | show-AWK
|
# doc_src/index.hdr: toc.txt doc_src/index.hdr.in | show-AWK
|
||||||
# @echo " AWK CAT $(em)$@$(sgr0)"
|
# @echo " AWK CAT $(em)$@$(sgr0)"
|
||||||
# $v cat $@.in | $(AWK) '{if ($$0 ~ /@toc@/){ system("cat toc.txt");} else{ print $$0;}}' >$@
|
# $v cat $@.in | $(AWK) '{if ($$0 ~ /@toc@/){ system("cat toc.txt");} else{ print $$0;}}' >$@
|
||||||
ADD_CUSTOM_COMMAND(OUTPUT doc_src/index.hdr
|
ADD_CUSTOM_COMMAND(OUTPUT doc_src/index.hdr
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/build_tools/build_index_hdr.sh toc.txt
|
||||||
COMMAND build_tools/build_index_hdr.sh toc.txt
|
|
||||||
< doc_src/index.hdr.in
|
< doc_src/index.hdr.in
|
||||||
> ${CMAKE_CURRENT_BINARY_DIR}/doc_src/index.hdr
|
> ${CMAKE_CURRENT_BINARY_DIR}/doc_src/index.hdr
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/toc.txt)
|
DEPENDS toc.txt)
|
||||||
|
|
||||||
ADD_CUSTOM_TARGET(doc
|
|
||||||
COMMAND env "$$(cat" "FISH-BUILD-VERSION-FILE)"
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/build_tools/build_user_doc.sh
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.user ./lexicon_filter
|
|
||||||
DEPENDS "FISH-BUILD-VERSION-FILE" Doxyfile.user ${DOC_SRC_FILES} doc.h $(HDR_FILES) lexicon_filter)
|
|
||||||
|
|
||||||
# doc: $(HDR_FILES_SRC) Doxyfile.user $(HTML_SRC) $(HELP_SRC) doc.h $(HDR_FILES) lexicon_filter
|
# doc: $(HDR_FILES_SRC) Doxyfile.user $(HTML_SRC) $(HELP_SRC) doc.h $(HDR_FILES) lexicon_filter
|
||||||
# @echo " doxygen $(em)user_doc$(sgr0)"
|
# @echo " doxygen $(em)user_doc$(sgr0)"
|
||||||
# $v (cat Doxyfile.user; echo INPUT_FILTER=./lexicon_filter; echo PROJECT_NUMBER=$(FISH_BUILD_VERSION) | $(SED) "s/-.*//") | doxygen - && touch user_doc
|
# $v (cat Doxyfile.user; echo INPUT_FILTER=./lexicon_filter; echo PROJECT_NUMBER=$(FISH_BUILD_VERSION) | $(SED) "s/-.*//") | doxygen - && touch user_doc
|
||||||
# $v rm -f $(wildcard $(addprefix ./user_doc/html/,arrow*.png bc_s.png bdwn.png closed.png doc.png folder*.png ftv2*.png nav*.png open.png splitbar.png sync_*.png tab*.* doxygen.* dynsections.js jquery.js pages.html))
|
# $v rm -f $(wildcard $(addprefix ./user_doc/html/,arrow*.png bc_s.png bdwn.png closed.png doc.png folder*.png ftv2*.png nav*.png open.png splitbar.png sync_*.png tab*.* doxygen.* dynsections.js jquery.js pages.html))
|
||||||
|
ADD_CUSTOM_TARGET(doc
|
||||||
|
COMMAND env `cat ${FBVF}`
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/build_tools/build_user_doc.sh
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.user ./lexicon_filter
|
||||||
|
DEPENDS ${FBVF} Doxyfile.user ${DOC_SRC_FILES} doc.h ${HDR_FILES} lexicon_filter)
|
||||||
|
|
||||||
|
ADD_CUSTOM_COMMAND(OUTPUT share/man/
|
||||||
|
COMMAND env `cat ${FBVF}`
|
||||||
|
INPUT_FILTER=lexicon_filter ${CMAKE_CURRENT_SOURCE_DIR}/build_tools/build_documentation.sh ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.help doc_src ./share
|
||||||
|
DEPENDS ${FBVF} ${HELP_SRC} ${CMAKE_CURRENT_BINARY_DIR}/lexicon_filter)
|
||||||
|
|
||||||
|
ADD_CUSTOM_TARGET(BUILD_MANUALS ALL DEPENDS share/man/)
|
||||||
|
@ -38,6 +38,9 @@ ADD_CUSTOM_COMMAND(OUTPUT "FISH-BUILD-VERSION-FILE"
|
|||||||
ADD_CUSTOM_TARGET("CHECK-FISH-BUILD-VERSION-FILE"
|
ADD_CUSTOM_TARGET("CHECK-FISH-BUILD-VERSION-FILE"
|
||||||
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/build_tools/git_version_gen.sh)
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/build_tools/git_version_gen.sh)
|
||||||
|
|
||||||
|
SET(FBVF "FISH-BUILD-VERSION-FILE")
|
||||||
|
|
||||||
|
|
||||||
# Set up config.h
|
# Set up config.h
|
||||||
INCLUDE(CMakeFiles/ConfigureChecks.cmake)
|
INCLUDE(CMakeFiles/ConfigureChecks.cmake)
|
||||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config_cmake.h.in
|
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config_cmake.h.in
|
||||||
|
@ -538,8 +538,8 @@ share/man: $(HELP_SRC) lexicon_filter | show-FISH_BUILD_VERSION show-SED
|
|||||||
@echo " doxygen $(em)$@$(sgr0)"
|
@echo " doxygen $(em)$@$(sgr0)"
|
||||||
$v touch share/man
|
$v touch share/man
|
||||||
-$v rm -Rf share/man/man1
|
-$v rm -Rf share/man/man1
|
||||||
$v echo "$(dim)" && PROJECT_NUMBER=`echo $(FISH_BUILD_VERSION) \
|
$v echo "$(dim)" && FISH_BUILD_VERSION=${FISH_BUILD_VERSION} INPUT_FILTER=./lexicon_filter \
|
||||||
| $(SED) "s/-.*//"` INPUT_FILTER=./lexicon_filter build_tools/build_documentation.sh Doxyfile.help ./doc_src ./share;
|
build_tools/build_documentation.sh Doxyfile.help ./doc_src ./share;
|
||||||
|
|
||||||
#
|
#
|
||||||
# The build rules for installing/uninstalling fish
|
# The build rules for installing/uninstalling fish
|
||||||
|
@ -97,8 +97,10 @@ done
|
|||||||
# Make some extra stuff to pass to doxygen
|
# Make some extra stuff to pass to doxygen
|
||||||
# Input is kept as . because we cd to the input directory beforehand
|
# Input is kept as . because we cd to the input directory beforehand
|
||||||
# This prevents doxygen from generating "documentation" for intermediate directories
|
# This prevents doxygen from generating "documentation" for intermediate directories
|
||||||
|
PROJECT_NUMBER=$(echo "$FISH_BUILD_VERSION" | env sed "s/-.*//")
|
||||||
|
echo "PROJECT_NUMBER: $FISH_BUILD_VERSION"
|
||||||
DOXYPARAMS=$(cat <<EOF
|
DOXYPARAMS=$(cat <<EOF
|
||||||
PROJECT_NUMBER=$PROJECT_NUMBER
|
PROJECT_NUMBER=${PROJECT_NUMBER}
|
||||||
INPUT_FILTER=$INPUTFILTER
|
INPUT_FILTER=$INPUTFILTER
|
||||||
INPUT=.
|
INPUT=.
|
||||||
OUTPUT_DIRECTORY=$OUTPUTDIR
|
OUTPUT_DIRECTORY=$OUTPUTDIR
|
||||||
|
Loading…
x
Reference in New Issue
Block a user