tools: Add make_cppdocs.sh for Linux/MacOS (see issue #3385)
The make_distrib script will now generate Doxygen docs by default if the doxygen command-line tool is installed. Run with `--no-docs` (`--no-distrib-docs` with automate-git.py) to disable docs generation.
This commit is contained in:
parent
fa2464e843
commit
8645e88e0e
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Copyright (c) 2022 The Chromium Embedded Framework Authors. All rights
|
||||||
|
# reserved. Use of this source code is governed by a BSD-style license
|
||||||
|
# that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
if ! command -v doxygen &> /dev/null
|
||||||
|
then
|
||||||
|
echo "ERROR: Please install Doxygen" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Determine the absolute path to the script directory.
|
||||||
|
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||||
|
|
||||||
|
# Determine the top-level CEF directory.
|
||||||
|
CEF_DIR="${SCRIPT_DIR}/.."
|
||||||
|
|
||||||
|
# Environment variables inserted into the Doxyfile via `$(VAR_NAME)` syntax.
|
||||||
|
export PROJECT_NUMBER=$(python3 ${SCRIPT_DIR}/cef_version.py current)
|
||||||
|
|
||||||
|
# Generate documentation in the docs/html directory.
|
||||||
|
# Run from the top-level CEF directory so that relative paths resolve correctly.
|
||||||
|
( cd ${CEF_DIR} && doxygen Doxyfile )
|
||||||
|
|
||||||
|
# Write a docs/index.html file.
|
||||||
|
echo "<html><head><meta http-equiv=\"refresh\" content=\"0;URL='html/index.html'\"/></head></html>" > ${CEF_DIR}/docs/index.html
|
||||||
|
|
|
@ -856,6 +856,26 @@ if mode == 'standard':
|
||||||
# transfer Doxyfile
|
# transfer Doxyfile
|
||||||
transfer_doxyfile(output_dir, options.quiet)
|
transfer_doxyfile(output_dir, options.quiet)
|
||||||
|
|
||||||
|
if not options.nodocs:
|
||||||
|
# generate doc files
|
||||||
|
sys.stdout.write("Generating docs...\n")
|
||||||
|
result = exec_cmd(
|
||||||
|
os.path.join('tools', 'make_cppdocs.%s' %
|
||||||
|
('bat' if platform == 'windows' else 'sh')), cef_dir)
|
||||||
|
if (len(result['err']) > 0):
|
||||||
|
sys.stdout.write(result['err'])
|
||||||
|
sys.stdout.write(result['out'])
|
||||||
|
|
||||||
|
src_dir = os.path.join(cef_dir, 'docs')
|
||||||
|
if path_exists(src_dir):
|
||||||
|
# create the docs output directory
|
||||||
|
docs_output_dir = create_output_dir(output_dir_base + '_docs',
|
||||||
|
options.outputdir)
|
||||||
|
# transfer contents
|
||||||
|
copy_dir(src_dir, docs_output_dir, options.quiet)
|
||||||
|
else:
|
||||||
|
sys.stdout.write("ERROR: No docs generated.\n")
|
||||||
|
|
||||||
if platform == 'windows':
|
if platform == 'windows':
|
||||||
libcef_dll = 'libcef.dll'
|
libcef_dll = 'libcef.dll'
|
||||||
libcef_dll_lib = '%s.lib' % libcef_dll
|
libcef_dll_lib = '%s.lib' % libcef_dll
|
||||||
|
@ -1016,24 +1036,6 @@ if platform == 'windows':
|
||||||
transfer_gypi_files(cef_dir, cef_paths2['ceftests_sources_resources_win'], \
|
transfer_gypi_files(cef_dir, cef_paths2['ceftests_sources_resources_win'], \
|
||||||
'tests/ceftests/', ceftests_dir, options.quiet)
|
'tests/ceftests/', ceftests_dir, options.quiet)
|
||||||
|
|
||||||
if not options.nodocs:
|
|
||||||
# generate doc files
|
|
||||||
sys.stdout.write("Generating docs...\n")
|
|
||||||
result = exec_cmd(os.path.join('tools', 'make_cppdocs.bat'), cef_dir)
|
|
||||||
if (len(result['err']) > 0):
|
|
||||||
sys.stdout.write(result['err'])
|
|
||||||
sys.stdout.write(result['out'])
|
|
||||||
|
|
||||||
src_dir = os.path.join(cef_dir, 'docs')
|
|
||||||
if path_exists(src_dir):
|
|
||||||
# create the docs output directory
|
|
||||||
docs_output_dir = create_output_dir(output_dir_base + '_docs',
|
|
||||||
options.outputdir)
|
|
||||||
# transfer contents
|
|
||||||
copy_dir(src_dir, docs_output_dir, options.quiet)
|
|
||||||
else:
|
|
||||||
sys.stdout.write("ERROR: No docs generated.\n")
|
|
||||||
|
|
||||||
elif platform == 'mac':
|
elif platform == 'mac':
|
||||||
framework_name = 'Chromium Embedded Framework'
|
framework_name = 'Chromium Embedded Framework'
|
||||||
framework_dsym = '%s.dSYM' % framework_name
|
framework_dsym = '%s.dSYM' % framework_name
|
||||||
|
|
Loading…
Reference in New Issue