tools: Update make_cppdocs.bat for Doxygen support (see issue #3384)

This commit is contained in:
Marshall Greenblatt 2022-09-01 14:53:26 -04:00
parent 77582a01b5
commit 14c0f74707
2 changed files with 42 additions and 14 deletions

View File

@ -1,18 +1,40 @@
@echo off
:: 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.
set RC=
setlocal
if "%1"=="" (
set CPPDOC_EXE="C:\Program Files (x86)\richfeit\CppDoc\CppDoc.exe"
set CPPDOC_REV="XXX"
) else (
set CPPDOC_EXE="C:\Program Files (x86)\richfeit\CppDoc\cppdoc_cmd.exe"
set CPPDOC_REV="%1"
:: Check if DOXYGEN_EXE is already provided via the environment.
if exist "%DOXYGEN_EXE%" goto found_exe
set DOXYGEN_EXE="C:\Program Files\doxygen\bin\doxygen.exe"
if not exist %DOXYGEN_EXE% (
echo ERROR: Please install Doxygen from https://doxygen.nl/ 1>&2
set ERRORLEVEL=1
goto end
)
if not exist %CPPDOC_EXE% (
echo ERROR: Please install CppDoc from http://www.cppdoc.com/
) else (
%CPPDOC_EXE% -overwrite -title="CEF3 C++ API Docs - Revision %CPPDOC_REV%" -footer="<center><a href="https://bitbucket.org/chromiumembedded/cef" target="_top">Chromium Embedded Framework (CEF)</a> Copyright &copy 2016 Marshall A. Greenblatt</center>" -namespace-as-project -comment-format="///;//;///" -classdir=projects -module="cppdoc-standard" -extensions=h -languages="c=cpp,cc=cpp,cpp=cpp,cs=csharp,cxx=cpp,h=cpp,hpp=cpp,hxx=cpp,java=java" -D"OS_WIN" -D"USING_CEF_SHARED" -D"__cplusplus" -D"CEF_STRING_TYPE_UTF16" -enable-author=false -enable-deprecations=true -enable-since=true -enable-version=false -file-links-for-globals=false -generate-deprecations-list=false -generate-hierarchy=true -header-background-dark="#ccccff" -header-background-light="#eeeeff" -include-private=false -include-protected=true -index-file-base=index -overview-html=overview.html -reduce-summary-font=true -selected-text-background=navy -selected-text-foreground=white -separate-index-pages=false -show-cppdoc-version=false -show-timestamp=false -summary-html=project.html -suppress-details=false -suppress-frames-links=false -table-background=white -wrap-long-lines=false ..\include #capi "..\docs\index.html"
)
:found_exe
endlocal
:: Environment variables inserted into the Doxyfile via `$(VAR_NAME)` syntax.
for /F %%i in ('python.bat %~dp0\cef_version.py current') do set PROJECT_NUMBER=%%i
:: Run from the top-level CEF directory so that relative paths resolve correctly.
set CURRENT_PATH="%CD%"
cd "%~dp0\.."
%DOXYGEN_EXE% Doxyfile
cd "%CURRENT_PATH%"
:end
endlocal & set RC=%ERRORLEVEL%
goto omega
:returncode
exit /B %RC%
:omega
call :returncode %RC%

View File

@ -1004,15 +1004,21 @@ if platform == 'windows':
if not options.nodocs:
# generate doc files
os.popen('make_cppdocs.bat ' + cef_rev)
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')
src_dir = os.path.join(cef_dir, 'docs', 'html')
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':
framework_name = 'Chromium Embedded Framework'