update name
|
@ -1,3 +1,3 @@
|
|||
EXCLUDE = addon cmake doc examples jquery templates testing deps/iconv_winbuild src/logos.cpp src/lodepng.cpp
|
||||
FILE_PATTERNS = *.h *.cpp *.md
|
||||
USE_MDFILE_AS_MAINPAGE = src/doxygen.md
|
||||
USE_MDFILE_AS_MAINPAGE = src/analyze.md
|
||||
|
|
|
@ -7,12 +7,12 @@
|
|||
*.orig
|
||||
|
||||
*.pro
|
||||
/packages/rpm/doxygen.spec
|
||||
/packages/rpm/analyze.spec
|
||||
*.idb
|
||||
*.pdb
|
||||
|
||||
/doxygen_docs
|
||||
/doxygen.tag
|
||||
/analyze_docs
|
||||
/analyze.tag
|
||||
/build*
|
||||
/qtools_docs
|
||||
/warnings.log
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
github: doxygen
|
||||
github: analyze
|
||||
patreon: # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: Report a bug or issue
|
||||
about: Create a report to help us improve doxygen
|
||||
about: Create a report to help us improve analyze
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
@ -15,16 +15,16 @@ If useful, add screenshots to help explain your problem.
|
|||
|
||||
**To Reproduce**
|
||||
Attach a self contained example that allows us to reproduce the problem.
|
||||
Such an example typically exist of some source code (can be dummy code) and a doxygen configuration file used (you can strip it using `doxygen -s -u`). After you verified the example demonstrates the problem, put it in a zip (or tarball) and attach it to the bug report. Try to avoid linking to external sources, since they might disappear in the future.
|
||||
Such an example typically exist of some source code (can be dummy code) and a analyze configuration file used (you can strip it using `analyze -s -u`). After you verified the example demonstrates the problem, put it in a zip (or tarball) and attach it to the bug report. Try to avoid linking to external sources, since they might disappear in the future.
|
||||
|
||||
**Expected behavior**
|
||||
Describe what you would have expected or think is correct.
|
||||
|
||||
**Version**
|
||||
Mention the version of doxygen used (output of `doxygen --version`) and the platform on which you run doxygen (e.g. Windows 10, 64 bit). If you run doxygen under Linux please also mention the name and version of the distribution used (output of `lsb_release -a`) and mention if you compiled doxygen yourself or that you use a binary that comes with the distribution or from the doxygen website.
|
||||
Mention the version of analyze used (output of `analyze --version`) and the platform on which you run analyze (e.g. Windows 10, 64 bit). If you run analyze under Linux please also mention the name and version of the distribution used (output of `lsb_release -a`) and mention if you compiled analyze yourself or that you use a binary that comes with the distribution or from the analyze website.
|
||||
|
||||
**Stack trace**
|
||||
If you encounter a crash and can build doxygen from sources yourself with debug info (`-DCMAKE_BUILD_TYPE=Debug`), a stack trace can be very helpful (especially if it is not possible to capture the problem in a small example that can be shared).
|
||||
If you encounter a crash and can build analyze from sources yourself with debug info (`-DCMAKE_BUILD_TYPE=Debug`), a stack trace can be very helpful (especially if it is not possible to capture the problem in a small example that can be shared).
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
name: CMake Build for Doxygen
|
||||
name: CMake Build for analyze
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
|
@ -107,7 +107,7 @@ jobs:
|
|||
build_gen: "NMake Makefiles"
|
||||
}
|
||||
steps:
|
||||
- name: Checkout doxygen
|
||||
- name: Checkout analyze
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
@ -436,7 +436,7 @@ jobs:
|
|||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: "Latex documentation artifacts"
|
||||
path: build/latex/doxygen_manual.pdf
|
||||
path: build/latex/analyze_manual.pdf
|
||||
if: matrix.config.name == 'Ubuntu Latest GCC Release (Intel)'
|
||||
|
||||
- name: Generate Internal documentation
|
||||
|
@ -455,8 +455,8 @@ jobs:
|
|||
uses: peaceiris/actions-gh-pages@v4
|
||||
with:
|
||||
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
||||
external_repository: doxygen/doxygen-docs
|
||||
publish_dir: build/doxygen_docs/html
|
||||
external_repository: analyze/analyze-docs
|
||||
publish_dir: build/analyze_docs/html
|
||||
force_orphan: true
|
||||
if: ${{ github.event_name == 'push' && matrix.config.name == 'Ubuntu Latest GCC Release (Intel)' }}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
name: Coverity for doxygen
|
||||
name: Coverity for analyze
|
||||
|
||||
# Just for tests
|
||||
#on: [push, pull_request]
|
||||
|
@ -39,12 +39,12 @@ jobs:
|
|||
DEBIAN_FRONTEND: noninteractive
|
||||
|
||||
steps:
|
||||
- name: Checkout doxygen
|
||||
- name: Checkout analyze
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Download Coverity
|
||||
run: |
|
||||
wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=doxygen%2Fdoxygen" -O coverity_tool.tgz
|
||||
wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=analyze%2Fanalyze" -O coverity_tool.tgz
|
||||
mkdir cov-scan
|
||||
tar ax -f coverity_tool.tgz --strip-components=1 -C cov-scan
|
||||
env:
|
||||
|
@ -55,7 +55,7 @@ jobs:
|
|||
echo "$(pwd)/cov-scan/bin" >> $GITHUB_PATH
|
||||
echo "NPROC=$(getconf _NPROCESSORS_ONLN)" >> $GITHUB_ENV
|
||||
|
||||
- name: Configure doxygen
|
||||
- name: Configure analyze
|
||||
run: |
|
||||
mkdir build
|
||||
cmake -S . -B build -D CMAKE_BUILD_TYPE=Release -G "Unix Makefiles"
|
||||
|
@ -73,7 +73,7 @@ jobs:
|
|||
--form file=@cov-scan.tgz \
|
||||
--form version="$(git rev-parse HEAD)" \
|
||||
--form description="Automatic GHA scan" \
|
||||
'https://scan.coverity.com/builds?project=doxygen%2Fdoxygen'
|
||||
'https://scan.coverity.com/builds?project=analyze%2Fanalyze'
|
||||
env:
|
||||
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
|
||||
EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}
|
||||
|
|
|
@ -7,12 +7,12 @@
|
|||
*.orig
|
||||
|
||||
*.pro
|
||||
/packages/rpm/doxygen.spec
|
||||
/packages/rpm/analyze.spec
|
||||
*.idb
|
||||
*.pdb
|
||||
|
||||
/doxygen_docs
|
||||
/doxygen.tag
|
||||
/analyze_docs
|
||||
/analyze.tag
|
||||
/build*
|
||||
/qtools_docs
|
||||
/warnings.log
|
||||
|
|
|
@ -8,18 +8,18 @@
|
|||
# for any purpose. It is provided "as is" without express or implied warranty.
|
||||
# See the GNU General Public License for more details.
|
||||
#
|
||||
# Documents produced by Doxygen are derivative works derived from the
|
||||
# Documents produced by analyze are derivative works derived from the
|
||||
# input used in their production; they are not affected by this license.
|
||||
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
project(doxygen)
|
||||
project(analyze)
|
||||
|
||||
option("ENABLE_CLANG_TIDY" "Enable static analysis with clang-tidy" OFF)
|
||||
|
||||
option(build_wizard "Build the GUI frontend for doxygen." OFF)
|
||||
option(build_app "Example showing how to embed doxygen in an application." OFF)
|
||||
option(build_wizard "Build the GUI frontend for analyze." OFF)
|
||||
option(build_app "Example showing how to embed analyze in an application." OFF)
|
||||
option(build_parse "Parses source code and dumps the dependencies between the code elements." OFF)
|
||||
option(build_search "Build external search tools (doxysearch and doxyindexer)" OFF)
|
||||
option(build_search "Build external search tools (analzsearch and analzindexer)" OFF)
|
||||
option(build_doc "Build user manual (HTML and PDF)" OFF)
|
||||
option(build_doc_chm "Build user manual (CHM)" OFF)
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
|
@ -31,21 +31,21 @@ option(use_sys_fmt "Use system fmt library instead of the one bundled." OFF)
|
|||
option(use_sys_sqlite3 "Use system sqlite3 library instead of the one bundled." OFF)
|
||||
option(static_libclang "Link to a statically compiled version of LLVM/libclang." OFF)
|
||||
option(win_static "Link with /MT in stead of /MD on windows" OFF)
|
||||
option(enable_console "Enable that executables on Windows get the CONSOLE bit set for the doxywizard executable [development]" OFF)
|
||||
option(enable_console "Enable that executables on Windows get the CONSOLE bit set for the analzwizard executable [development]" OFF)
|
||||
option(enable_coverage "Enable coverage reporting for gcc/clang [development]" OFF)
|
||||
option(enable_tracing "Enable tracing option in release builds [development]" OFF)
|
||||
option(enable_lex_debug "Enable debugging info for lexical scanners in release builds [development]" OFF)
|
||||
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
set(force_qt CACHE INTERNAL "Forces doxywizard to build using the specified major version, this can be Qt5 or Qt6")
|
||||
set(force_qt CACHE INTERNAL "Forces analzwizard to build using the specified major version, this can be Qt5 or Qt6")
|
||||
set_property(CACHE force_qt PROPERTY STRINGS OFF Qt6 Qt5)
|
||||
|
||||
SET(enlarge_lex_buffers "262144" CACHE INTERNAL "Sets the lex input and read buffers to the specified size")
|
||||
|
||||
if(enable_coverage)
|
||||
if ("${PROJECT_BINARY_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}")
|
||||
message(FATAL_ERROR "Doxygen cannot be generated in-place, the build directory (${PROJECT_BINARY_DIR}) has to differ from the doxygen main directory (${PROJECT_SOURCE_DIR})\nPlease don't forget to remove the already created file 'CMakeCache.txt' and the directory 'CMakeFiles'!")
|
||||
message(FATAL_ERROR "analyze cannot be generated in-place, the build directory (${PROJECT_BINARY_DIR}) has to differ from the analyze main directory (${PROJECT_SOURCE_DIR})\nPlease don't forget to remove the already created file 'CMakeCache.txt' and the directory 'CMakeFiles'!")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
@ -240,7 +240,7 @@ find_program(DOT NAMES dot)
|
|||
find_package(Python REQUIRED)
|
||||
find_package(FLEX REQUIRED)
|
||||
if (FLEX_VERSION VERSION_LESS 2.5.37)
|
||||
message(SEND_ERROR "Doxygen requires at least flex version 2.5.37 (installed: ${FLEX_VERSION})")
|
||||
message(SEND_ERROR "analyze requires at least flex version 2.5.37 (installed: ${FLEX_VERSION})")
|
||||
endif()
|
||||
if (FLEX_VERSION VERSION_LESS 2.6.0)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dregister=")
|
||||
|
@ -250,7 +250,7 @@ if (FLEX_VERSION VERSION_LESS 2.6.0)
|
|||
endif()
|
||||
find_package(BISON REQUIRED)
|
||||
if (BISON_VERSION VERSION_LESS 2.7)
|
||||
message(SEND_ERROR "Doxygen requires at least bison version 2.7 (installed: ${BISON_VERSION})")
|
||||
message(SEND_ERROR "analyze requires at least bison version 2.7 (installed: ${BISON_VERSION})")
|
||||
endif()
|
||||
find_package(Threads)
|
||||
find_package(Sanitizers)
|
||||
|
@ -263,9 +263,9 @@ find_package(Iconv REQUIRED)
|
|||
include_directories(${Iconv_INCLUDE_DIRS})
|
||||
|
||||
|
||||
#set(DOXYDOCS ${PROJECT_SOURCE_DIR}/doc CACHE INTERNAL "Path to doxygen docs")
|
||||
set(DOXYDOCS ${PROJECT_BINARY_DIR}/doc)
|
||||
set(ENV{DOXYGEN_DOCDIR} ${DOXYDOCS})
|
||||
#set(analzDOCS ${PROJECT_SOURCE_DIR}/doc CACHE INTERNAL "Path to analyze docs")
|
||||
set(analzDOCS ${PROJECT_BINARY_DIR}/doc)
|
||||
set(ENV{analyze_DOCDIR} ${analzDOCS})
|
||||
set(GENERATED_SRC "${PROJECT_BINARY_DIR}/generated_src" CACHE INTERNAL "Stores generated files")
|
||||
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
|
||||
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
|
||||
|
|
|
@ -8,7 +8,7 @@ RUN apt-get update && apt-get install -y \
|
|||
bison \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /doxygen
|
||||
WORKDIR /analyze
|
||||
COPY . .
|
||||
|
||||
RUN mkdir build \
|
||||
|
@ -22,6 +22,6 @@ FROM ubuntu:jammy
|
|||
RUN apt-get update && apt-get install --no-install-recommends -y \
|
||||
graphviz \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
COPY --from=builder /doxygen/build/bin/doxygen /usr/local/bin/
|
||||
WORKDIR /doxygen
|
||||
ENTRYPOINT ["doxygen"]
|
||||
COPY --from=builder /analyze/build/bin/analyze /usr/local/bin/
|
||||
WORKDIR /analyze
|
||||
ENTRYPOINT ["analyze"]
|
||||
|
|
4
INSTALL
|
@ -1,7 +1,7 @@
|
|||
DOXYGEN
|
||||
analyze
|
||||
|
||||
Please read the installation section of the manual
|
||||
(https://www.doxygen.nl/manual/install.html) for instructions.
|
||||
(https://www.analyze.nl/manual/install.html) for instructions.
|
||||
|
||||
--------
|
||||
Dimitri van Heesch
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
This short howto explains how to add support for a new language to Doxygen:
|
||||
This short howto explains how to add support for a new language to analyze:
|
||||
|
||||
Just follow these steps:
|
||||
|
||||
1) Tell me which language you want to add support for. If no one else
|
||||
is already working on support for that language, you will be
|
||||
assigned as the maintainer for the language. I'll create a
|
||||
list on Doxygen's homepage, so everyone knows who is doing what.
|
||||
list on analyze's homepage, so everyone knows who is doing what.
|
||||
2) Edit src/config.xml:
|
||||
- find the <option> with id='OUTPUT_LANGUAGE'
|
||||
- add a new value with your language and an optional description:
|
||||
|
@ -43,7 +43,7 @@ Just follow these steps:
|
|||
|
||||
7) Now you can use OUTPUT_LANGUAGE = your_language_name
|
||||
in the config file to generate output in your language.
|
||||
8) Send translator_xx.h to me so I can add it to doxygen.
|
||||
8) Send translator_xx.h to me so I can add it to analyze.
|
||||
Send also your name and e-mail address to be included in the
|
||||
maintainers.txt list.
|
||||
|
||||
|
|
68
README.md
|
@ -1,68 +0,0 @@
|
|||
Doxygen
|
||||
===============
|
||||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9HHLRBCC8B2B8)
|
||||
|
||||
Doxygen is the de facto standard tool for generating documentation from
|
||||
annotated C++ sources, but it also supports other popular programming
|
||||
languages such as C, Objective-C, C#, PHP, Java, Python, IDL
|
||||
(Corba, Microsoft, and UNO/OpenOffice flavors), Fortran,
|
||||
and to some extent D. Doxygen also supports the hardware description language VHDL.
|
||||
|
||||
Doxygen can help you in three ways:
|
||||
|
||||
1. It can generate an on-line documentation browser (in HTML) and/or an
|
||||
off-line reference manual (in LaTeX) from a set of documented source files.
|
||||
There is also support for generating output in RTF (MS-Word), PostScript,
|
||||
hyperlinked PDF, compressed HTML, DocBook and Unix man pages.
|
||||
The documentation is extracted directly from the sources, which makes
|
||||
it much easier to keep the documentation consistent with the source code.
|
||||
2. You can configure doxygen to extract the code structure from undocumented
|
||||
source files. This is very useful to quickly find your way in large
|
||||
source distributions. Doxygen can also visualize the relations between
|
||||
the various elements by means of include dependency graphs, inheritance
|
||||
diagrams, and collaboration diagrams, which are all generated automatically.
|
||||
3. You can also use doxygen for creating normal documentation (as I did for
|
||||
the doxygen user manual and doxygen web-site).
|
||||
|
||||
Download
|
||||
---------
|
||||
The latest binaries and source of Doxygen can be downloaded from:
|
||||
* https://www.doxygen.nl/
|
||||
|
||||
Developers
|
||||
---------
|
||||
* Linux & Windows and MacOS Build Status: <a href="https://github.com/doxygen/doxygen/actions"><img alt="Github Actions Build Status" src="https://github.com/doxygen/doxygen/workflows/CMake%20Build%20for%20Doxygen/badge.svg"></a>
|
||||
|
||||
* Coverity Scan Build Status: <a href="https://scan.coverity.com/projects/2860"> <img alt="Coverity Scan Build Status" src="https://scan.coverity.com/projects/2860/badge.svg"/> </a>
|
||||
|
||||
* Doxygen's <a href="https://doxygen.github.io/doxygen-docs/">internal source code documentation</a>
|
||||
|
||||
* Install: Please read the installation section of the manual (https://www.doxygen.nl/manual/install.html)
|
||||
|
||||
* Project stats: https://www.openhub.net/p/doxygen
|
||||
|
||||
Issues, bugs, requests, ideas
|
||||
----------------------------------
|
||||
Use the [issue](https://github.com/doxygen/doxygen/issues) tracker to report bugs.
|
||||
|
||||
Comms
|
||||
----------------------------------
|
||||
### Mailing Lists ###
|
||||
|
||||
There are three mailing lists:
|
||||
|
||||
* doxygen-announce@lists.sourceforge.net - Announcement of new releases only
|
||||
* doxygen-users@lists.sourceforge.net - for doxygen users
|
||||
* doxygen-develop@lists.sourceforge.net - for doxygen developers
|
||||
* To subscribe follow the link to
|
||||
* https://sourceforge.net/projects/doxygen/
|
||||
|
||||
Source Code
|
||||
----------------------------------
|
||||
In May 2013, Doxygen moved from
|
||||
subversion to git hosted at GitHub
|
||||
* https://github.com/doxygen/doxygen
|
||||
|
||||
Enjoy,
|
||||
|
||||
Dimitri van Heesch (doxygen at gmail.com)
|
|
@ -1,17 +1,17 @@
|
|||
add_subdirectory(doxmlparser)
|
||||
|
||||
if (build_app)
|
||||
add_subdirectory(doxyapp)
|
||||
add_subdirectory(analzapp)
|
||||
endif ()
|
||||
|
||||
if (build_parse)
|
||||
add_subdirectory(doxyparse)
|
||||
add_subdirectory(analzparse)
|
||||
endif ()
|
||||
|
||||
if (build_search)
|
||||
add_subdirectory(doxysearch)
|
||||
add_subdirectory(analzsearch)
|
||||
endif ()
|
||||
|
||||
if (build_wizard)
|
||||
add_subdirectory(doxywizard)
|
||||
add_subdirectory(analzwizard)
|
||||
endif ()
|
||||
|
|
|
@ -8,21 +8,21 @@ include_directories(
|
|||
${CLANG_INCLUDEDIR}
|
||||
)
|
||||
|
||||
add_executable(doxyapp
|
||||
doxyapp.cpp
|
||||
${PROJECT_SOURCE_DIR}/templates/icon/doxygen.rc
|
||||
add_executable(analzapp
|
||||
analzapp.cpp
|
||||
${PROJECT_SOURCE_DIR}/templates/icon/analyze.rc
|
||||
)
|
||||
include(ApplyEditbin)
|
||||
apply_editbin(doxyapp console)
|
||||
add_sanitizers(doxyapp)
|
||||
apply_editbin(analzapp console)
|
||||
add_sanitizers(analzapp)
|
||||
|
||||
if (use_libclang)
|
||||
find_package(LLVM REQUIRED CONFIG)
|
||||
find_package(Clang REQUIRED CONFIG)
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
target_compile_features(doxyapp PRIVATE cxx_alignof)
|
||||
target_compile_features(analzapp PRIVATE cxx_alignof)
|
||||
if (use_libc++)
|
||||
target_compile_options(doxyapp PRIVATE -stdlib=libc++)
|
||||
target_compile_options(analzapp PRIVATE -stdlib=libc++)
|
||||
endif()
|
||||
endif()
|
||||
include_directories(${LLVM_INCLUDE_DIRS})
|
||||
|
@ -30,21 +30,21 @@ if (use_libclang)
|
|||
if (static_libclang)
|
||||
set(CLANG_LIBS libclang clangTooling)
|
||||
else() # dynamically linked version of clang
|
||||
llvm_config(doxymain USE_SHARED support)
|
||||
llvm_config(analzmain USE_SHARED support)
|
||||
set(CLANG_LIBS libclang clang-cpp)
|
||||
endif()
|
||||
target_compile_definitions(doxyapp PRIVATE ${LLVM_DEFINITIONS})
|
||||
target_compile_definitions(analzapp PRIVATE ${LLVM_DEFINITIONS})
|
||||
endif()
|
||||
|
||||
target_link_libraries(doxyapp
|
||||
doxymain
|
||||
target_link_libraries(analzapp
|
||||
analzmain
|
||||
md5
|
||||
sqlite3
|
||||
xml
|
||||
lodepng
|
||||
mscgen
|
||||
doxygen_version
|
||||
doxycfg
|
||||
analyze_version
|
||||
analzcfg
|
||||
vhdlparser
|
||||
${Iconv_LIBRARIES}
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
|
@ -54,4 +54,4 @@ ${CLANG_LIBS}
|
|||
${COVERAGE_LINKER_FLAGS}
|
||||
)
|
||||
|
||||
install(TARGETS doxyapp DESTINATION bin)
|
||||
install(TARGETS analzapp DESTINATION bin)
|
|
@ -1,6 +1,6 @@
|
|||
This directory contains an example of how to use doxygen as
|
||||
an "source parsing engine" in an application. It shows how to configure doxygen
|
||||
from the application and shows how to run doxygen without generating output.
|
||||
This directory contains an example of how to use analyze as
|
||||
an "source parsing engine" in an application. It shows how to configure analyze
|
||||
from the application and shows how to run analyze without generating output.
|
||||
Practically, it allows you to extract the symbols found in the source code.
|
||||
|
||||
Note that if you use this approach your application should be licensed under the GPL.
|
|
@ -8,21 +8,21 @@
|
|||
* for any purpose. It is provided "as is" without express or implied warranty.
|
||||
* See the GNU General Public License for more details.
|
||||
*
|
||||
* Documents produced by Doxygen are derivative works derived from the
|
||||
* Documents produced by analyze are derivative works derived from the
|
||||
* input used in their production; they are not affected by this license.
|
||||
*
|
||||
*/
|
||||
|
||||
/** @file
|
||||
* @brief Example of how to use doxygen as part of another GPL applications
|
||||
* @brief Example of how to use analyze as part of another GPL applications
|
||||
*
|
||||
* This example shows how to configure and run doxygen programmatically from
|
||||
* This example shows how to configure and run analyze programmatically from
|
||||
* within an application without generating the usual output.
|
||||
*
|
||||
* If you are running a non-UNIX-like system you should specify `--tempdir`.
|
||||
*
|
||||
* This example shows how to use to code parser to get cross-references information
|
||||
* and it also shows how to look up symbols in a program parsed by doxygen and
|
||||
* and it also shows how to look up symbols in a program parsed by analyze and
|
||||
* show some information about them.
|
||||
*/
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
|||
#include <map>
|
||||
#include <string>
|
||||
#include "dir.h"
|
||||
#include "doxygen.h"
|
||||
#include "analyze.h"
|
||||
#include "outputgen.h"
|
||||
#include "outputlist.h"
|
||||
#include "parserintf.h"
|
||||
|
@ -91,7 +91,7 @@ class XRefDummyCodeGenerator : public OutputCodeIntf
|
|||
(dynamic_cast<ClassDef*>(parentContext))->compoundTypeString().data(),
|
||||
parentContext->name().data());
|
||||
}
|
||||
else if (parentContext==Doxygen::globalScope) // it is inside a global member
|
||||
else if (parentContext==analyze::globalScope) // it is inside a global member
|
||||
{
|
||||
ctx.sprintf("inside %s %s",
|
||||
(dynamic_cast<MemberDef*>(context))->memberTypeName().data(),
|
||||
|
@ -106,7 +106,7 @@ class XRefDummyCodeGenerator : public OutputCodeIntf
|
|||
printf("Found symbol %s at line %d of %s %s\n",
|
||||
sym,l,m_fd->getDefFileName().data(),ctx.data());
|
||||
if (symDef && context) // in this case the definition of the symbol is
|
||||
// known to doxygen.
|
||||
// known to analyze.
|
||||
{
|
||||
printf("-> defined at line %d of %s\n",
|
||||
symDef->getDefLine(),symDef->getDefFileName().data());
|
||||
|
@ -119,7 +119,7 @@ class XRefDummyCodeGenerator : public OutputCodeIntf
|
|||
static void findXRefSymbols(FileDef *fd)
|
||||
{
|
||||
// get the interface to a parser that matches the file extension
|
||||
auto intf=Doxygen::parserManager->getCodeParser(fd->getDefFileExtension());
|
||||
auto intf=analyze::parserManager->getCodeParser(fd->getDefFileExtension());
|
||||
|
||||
// get the programming language from the file name
|
||||
SrcLangExt lang = getLanguageFromFileName(fd->name());
|
||||
|
@ -145,7 +145,7 @@ static void findXRefSymbols(FileDef *fd)
|
|||
|
||||
static void listSymbol(Definition *d)
|
||||
{
|
||||
if (d!=Doxygen::globalScope && // skip the global namespace symbol
|
||||
if (d!=analyze::globalScope && // skip the global namespace symbol
|
||||
d->name().at(0)!='@' // skip anonymous stuff
|
||||
)
|
||||
{
|
||||
|
@ -156,7 +156,7 @@ static void listSymbol(Definition *d)
|
|||
|
||||
static void listSymbols()
|
||||
{
|
||||
for (const auto &kv : *Doxygen::symbolMap)
|
||||
for (const auto &kv : *analyze::symbolMap)
|
||||
{
|
||||
for (const auto &def : kv.second)
|
||||
{
|
||||
|
@ -167,7 +167,7 @@ static void listSymbols()
|
|||
|
||||
static void lookupSymbol(const Definition *d)
|
||||
{
|
||||
if (d!=Doxygen::globalScope && // skip the global namespace symbol
|
||||
if (d!=analyze::globalScope && // skip the global namespace symbol
|
||||
d->name().at(0)!='@' // skip anonymous stuff
|
||||
)
|
||||
{
|
||||
|
@ -218,7 +218,7 @@ static void lookupSymbols(const QCString &sym)
|
|||
{
|
||||
if (!sym.isEmpty())
|
||||
{
|
||||
auto range = Doxygen::symbolMap->find(sym);
|
||||
auto range = analyze::symbolMap->find(sym);
|
||||
bool found=false;
|
||||
for (const Definition *def : range)
|
||||
{
|
||||
|
@ -264,11 +264,11 @@ static auto symbolInfo(const Definition *def)
|
|||
static void locateSymbols()
|
||||
{
|
||||
std::map<std::string, std::map<std::string, std::map<std::string, std::map<std::string, int>>>> ret;
|
||||
for (const auto &kv : *Doxygen::symbolMap)
|
||||
for (const auto &kv : *analyze::symbolMap)
|
||||
{
|
||||
for (const auto &def : kv.second)
|
||||
{
|
||||
if (def == Doxygen::globalScope || def->name().at(0) == '@')
|
||||
if (def == analyze::globalScope || def->name().at(0) == '@')
|
||||
continue;
|
||||
|
||||
QCString args = "";
|
||||
|
@ -313,7 +313,7 @@ static void locateSymbols()
|
|||
|
||||
int main(int argc,char **argv)
|
||||
{
|
||||
std::string tempdir = "/tmp/doxygen";
|
||||
std::string tempdir = "/tmp/analyze";
|
||||
std::string usage = "Usage: %s [--version] [--help] [--list] [--locate] [--tempdir ARG] path [path...]\n";
|
||||
StringVector inputList;
|
||||
bool list = false;
|
||||
|
@ -366,7 +366,7 @@ int main(int argc,char **argv)
|
|||
}
|
||||
|
||||
// initialize data structures
|
||||
initDoxygen();
|
||||
initanalyze();
|
||||
|
||||
// setup the non-default configuration options
|
||||
checkConfiguration();
|
||||
|
@ -390,7 +390,7 @@ int main(int argc,char **argv)
|
|||
Config_updateBool(EXTRACT_PRIVATE,TRUE);
|
||||
Config_updateBool(EXTRACT_LOCAL_METHODS,TRUE);
|
||||
// Extract source browse information, needed
|
||||
// to make doxygen gather the cross reference info
|
||||
// to make analyze gather the cross reference info
|
||||
Config_updateBool(SOURCE_BROWSER,TRUE);
|
||||
// In case of a directory take all files on directory and its subdirectories
|
||||
Config_updateBool(RECURSIVE,TRUE);
|
||||
|
@ -402,7 +402,7 @@ int main(int argc,char **argv)
|
|||
parseInput();
|
||||
|
||||
// iterate over the input files
|
||||
for (const auto &fn : *Doxygen::inputNameLinkedMap)
|
||||
for (const auto &fn : *analyze::inputNameLinkedMap)
|
||||
{
|
||||
for (const auto &fd : *fn)
|
||||
{
|
|
@ -1,38 +1,38 @@
|
|||
# Viewer for the content of a Doxygen style comment block
|
||||
# Viewer for the content of a analyze style comment block
|
||||
|
||||
## Contents
|
||||
|
||||
The directory contains an index.html page and a python3 helper script.
|
||||
The script can be used to start a local web server that can do life rendering of
|
||||
the content of a doxygen comment block.
|
||||
the content of a analyze comment block.
|
||||
|
||||
Similar to e.g. https://markdownlivepreview.com/ but using doxygen as render engine.
|
||||
Similar to e.g. https://markdownlivepreview.com/ but using analyze as render engine.
|
||||
|
||||
## To prepare the server
|
||||
|
||||
Place a doxygen.css in the same directory as the doxycommentview.py script.
|
||||
Place a analyze.css in the same directory as the analzcommentview.py script.
|
||||
|
||||
This file can be generated running
|
||||
|
||||
doxygen -w html /tmp/header.html /tmp/footer.html doxygen.css path/to/Doxyfile
|
||||
analyze -w html /tmp/header.html /tmp/footer.html analyze.css path/to/analzfile
|
||||
|
||||
or, alternatively, copied from an existing HTML output directory generated by doxygen.
|
||||
or, alternatively, copied from an existing HTML output directory generated by analyze.
|
||||
|
||||
## To run the server invoke:
|
||||
|
||||
python3 doxycommentview.py --doxyfile /path/to/Doxyfile
|
||||
python3 analzcommentview.py --analzfile /path/to/analzfile
|
||||
|
||||
The relevant settings, such as alias definitions, will be taken from the Doxyfile.
|
||||
The relevant settings, such as alias definitions, will be taken from the analzfile.
|
||||
|
||||
If desired you can set the port for the webserver using `--port` and
|
||||
point to the location of the doxygen binary using `--doxygen`
|
||||
point to the location of the analyze binary using `--analyze`
|
||||
|
||||
Once the server is started, point your browser to the index page
|
||||
|
||||
firefox http://localhost:8000/index.html
|
||||
|
||||
You should see a panel to enter text on the left hand side and the output
|
||||
rendered by doxygen on the right hand side of the page.
|
||||
rendered by analyze on the right hand side of the page.
|
||||
|
||||
You can copy and paste the contents of this README.md file to test it quickly.
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python3
|
||||
#
|
||||
# python3 helper script to start a web server that can do life rendering of doxygen comments.
|
||||
# python3 helper script to start a web server that can do life rendering of analyze comments.
|
||||
#
|
||||
# Copyright (C) 1997-2024 by Dimitri van Heesch.
|
||||
#
|
||||
|
@ -10,7 +10,7 @@
|
|||
# for any purpose. It is provided "as is" without express or implied warranty.
|
||||
# See the GNU General Public License for more details.
|
||||
#
|
||||
# Documents produced by Doxygen are derivative works derived from the
|
||||
# Documents produced by analyze are derivative works derived from the
|
||||
# input used in their production; they are not affected by this license.
|
||||
#
|
||||
|
||||
|
@ -25,16 +25,16 @@ import html
|
|||
|
||||
def main():
|
||||
# Set up argument parser
|
||||
parser = argparse.ArgumentParser(description="Runs the doxygen comment viewer HTTP server.")
|
||||
parser = argparse.ArgumentParser(description="Runs the analyze comment viewer HTTP server.")
|
||||
parser.add_argument('--port', type=int, default=8000, help='Port number to run the server on')
|
||||
parser.add_argument('--doxygen', type=str, default='doxygen', help='Path to doxygen executable')
|
||||
parser.add_argument('--doxyfile', type=str, default='Doxyfile', help='Path to Doxyfile to use')
|
||||
parser.add_argument('--analyze', type=str, default='analyze', help='Path to analyze executable')
|
||||
parser.add_argument('--analzfile', type=str, default='analzfile', help='Path to analzfile to use')
|
||||
args = parser.parse_args()
|
||||
|
||||
PORT = args.port
|
||||
DOXYGEN = args.doxygen
|
||||
DOXYFILE = args.doxyfile
|
||||
VERSION_STR = subprocess.run([DOXYGEN, '-v'], capture_output=True, text=True, encoding="utf-8").stdout
|
||||
analyze = args.analyze
|
||||
analzFILE = args.analzfile
|
||||
VERSION_STR = subprocess.run([analyze, '-v'], capture_output=True, text=True, encoding="utf-8").stdout
|
||||
|
||||
class RequestHandler(http.server.SimpleHTTPRequestHandler):
|
||||
def do_POST(self):
|
||||
|
@ -44,14 +44,14 @@ def main():
|
|||
data = json.loads(post_data)
|
||||
input_text = data['input']
|
||||
|
||||
# Run doxygen in single comment mode, reading from stdin and writing to stdout and stderr
|
||||
result = subprocess.run([DOXYGEN, '-c', '-', DOXYFILE], \
|
||||
# Run analyze in single comment mode, reading from stdin and writing to stdout and stderr
|
||||
result = subprocess.run([analyze, '-c', '-', analzFILE], \
|
||||
input=input_text, capture_output=True, text=True, encoding="utf-8")
|
||||
|
||||
# Prepare the response
|
||||
response = json.dumps({
|
||||
'html_output': result.stdout,
|
||||
'error_output': "<b>Doxygen version "+html.escape(VERSION_STR)+"</b><pre>"+html.escape(result.stderr)+"</pre>"
|
||||
'error_output': "<b>analyze version "+html.escape(VERSION_STR)+"</b><pre>"+html.escape(result.stderr)+"</pre>"
|
||||
})
|
||||
|
||||
# Send the result to the requesting HTML page
|
|
@ -2,8 +2,8 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Doxygen comment viewer</title>
|
||||
<link rel="stylesheet" type="text/css" href="/doxygen.css"/>
|
||||
<title>analyze comment viewer</title>
|
||||
<link rel="stylesheet" type="text/css" href="/analyze.css"/>
|
||||
<style>
|
||||
body {
|
||||
margin: 0;
|
|
@ -8,14 +8,14 @@ include_directories(
|
|||
${CLANG_INCLUDEDIR}
|
||||
)
|
||||
|
||||
add_executable(doxyparse
|
||||
doxyparse.cpp
|
||||
${PROJECT_SOURCE_DIR}/templates/icon/doxygen.rc
|
||||
add_executable(analzparse
|
||||
analzparse.cpp
|
||||
${PROJECT_SOURCE_DIR}/templates/icon/analyze.rc
|
||||
)
|
||||
|
||||
include(ApplyEditbin)
|
||||
apply_editbin(doxyparse console)
|
||||
add_sanitizers(doxyparse)
|
||||
apply_editbin(analzparse console)
|
||||
add_sanitizers(analzparse)
|
||||
|
||||
if (use_libclang)
|
||||
if (static_libclang)
|
||||
|
@ -25,15 +25,15 @@ if (use_libclang)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
target_link_libraries(doxyparse
|
||||
doxymain
|
||||
target_link_libraries(analzparse
|
||||
analzmain
|
||||
md5
|
||||
sqlite3
|
||||
xml
|
||||
lodepng
|
||||
mscgen
|
||||
doxygen_version
|
||||
doxycfg
|
||||
analyze_version
|
||||
analzcfg
|
||||
vhdlparser
|
||||
${Iconv_LIBRARIES}
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
|
@ -43,4 +43,4 @@ ${CLANG_LIBS}
|
|||
${COVERAGE_LINKER_FLAGS}
|
||||
)
|
||||
|
||||
install(TARGETS doxyparse DESTINATION bin)
|
||||
install(TARGETS analzparse DESTINATION bin)
|
|
@ -1,21 +1,21 @@
|
|||
# Doxyparse
|
||||
# analzparse
|
||||
|
||||
This directory contains an "source parsing engine" based on doxyapp code.
|
||||
This directory contains an "source parsing engine" based on analzapp code.
|
||||
|
||||
Doxyparse modifies the default output of Doxygen and dumps the dependencies
|
||||
analzparse modifies the default output of analyze and dumps the dependencies
|
||||
among code elements in a YAML format, instead of output it in a human-readable
|
||||
format, as Doxygen does Doxyparse's output is intended to produce a
|
||||
format, as analyze does analzparse's output is intended to produce a
|
||||
machine-readable output.
|
||||
|
||||
Doxyparse has been used in many software engineering research (as a source-code
|
||||
analzparse has been used in many software engineering research (as a source-code
|
||||
static analysis tool) regards on software metrics, quality metrics and so on,
|
||||
Doxyparse was first used by the [Analizo](https://www.analizo.org) toolkit, a suite
|
||||
analzparse was first used by the [Analizo](https://www.analizo.org) toolkit, a suite
|
||||
of source code analysis tools, aimed at being language-independent and
|
||||
extensible, able to extract and calculate a fair number of source code metrics,
|
||||
generate dependency graphs, and other software evolution analysis.
|
||||
|
||||
Academic publications citing Doxyparse:
|
||||
* https://scholar.google.com.br/scholar?q=doxyparse
|
||||
Academic publications citing analzparse:
|
||||
* https://scholar.google.com.br/scholar?q=analzparse
|
||||
|
||||
## build dependencies
|
||||
|
||||
|
@ -32,16 +32,16 @@ Academic publications citing Doxyparse:
|
|||
|
||||
## release
|
||||
|
||||
* ensure analizo testsuite passing on newer doxyparse version
|
||||
* ensure analizo testsuite passing on newer analzparse version
|
||||
* update debian/changelog, commit, push
|
||||
* create git tag, push to github analizo/doxyparse
|
||||
* create git tag, push to github analizo/analzparse
|
||||
* build on amd64 and i386 archs, upload tar.gz to github
|
||||
* `tar -zcf doxyparse_<VERSION>_amd64.tar.gz -C bin/ doxyparse`
|
||||
* `tar -zcf doxyparse_<VERSION>_i386.tar.gz -C bin/ doxyparse`
|
||||
* `tar -zcf analzparse_<VERSION>_amd64.tar.gz -C bin/ analzparse`
|
||||
* `tar -zcf analzparse_<VERSION>_i386.tar.gz -C bin/ analzparse`
|
||||
* build debian packages for amd64 and i386, update analizo.org repository
|
||||
* (see analizo.github.io/README.md file for updating repository instructions)
|
||||
* upload the deb files to github release tag also
|
||||
* check if a alien-doxyparse release is necessary and do it on cpan
|
||||
* check if a alien-analzparse release is necessary and do it on cpan
|
||||
|
||||
## Authors
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
.TH analzPARSE "1" "DATE" "analzparse VERSION" "User Commands"
|
||||
.SH NAME
|
||||
analzparse \- parse and dumps information about the code
|
||||
.SH SYNOPSIS
|
||||
.B analzparse
|
||||
[\fIsource file\fR...]
|
||||
.SH DESCRIPTION
|
||||
Parses source code and dumps the dependencies between the code elements.
|
||||
.SH SEE ALSO
|
||||
analyze(1), analztag(1), analzwizard(1).
|
|
@ -8,13 +8,13 @@
|
|||
* for any purpose. It is provided "as is" without express or implied warranty.
|
||||
* See the GNU General Public License for more details.
|
||||
*
|
||||
* Documents produced by Doxygen are derivative works derived from the
|
||||
* Documents produced by analyze are derivative works derived from the
|
||||
* input used in their production; they are not affected by this license.
|
||||
*
|
||||
*/
|
||||
|
||||
/** @file
|
||||
* @brief Code parse based on doxyapp by Dimitri van Heesch
|
||||
* @brief Code parse based on analzapp by Dimitri van Heesch
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
|||
#include <windows.h>
|
||||
#endif
|
||||
#include "version.h"
|
||||
#include "doxygen.h"
|
||||
#include "analyze.h"
|
||||
#include "outputgen.h"
|
||||
#include "outputlist.h"
|
||||
#include "parserintf.h"
|
||||
|
@ -46,16 +46,16 @@
|
|||
#include "portable.h"
|
||||
#include "dir.h"
|
||||
|
||||
class Doxyparse : public OutputCodeIntf
|
||||
class analzparse : public OutputCodeIntf
|
||||
{
|
||||
public:
|
||||
Doxyparse(const FileDef *fd) : m_fd(fd) {}
|
||||
~Doxyparse() {}
|
||||
analzparse(const FileDef *fd) : m_fd(fd) {}
|
||||
~analzparse() {}
|
||||
|
||||
// these are just null functions, they can be used to produce a syntax highlighted
|
||||
// and cross-linked version of the source code, but who needs that anyway ;-)
|
||||
OutputType type() const override { return OutputType::Extension; }
|
||||
std::unique_ptr<OutputCodeIntf> clone() override { return std::make_unique<Doxyparse>(m_fd); }
|
||||
std::unique_ptr<OutputCodeIntf> clone() override { return std::make_unique<analzparse>(m_fd); }
|
||||
void codify(const QCString &) override {}
|
||||
void stripCodeComments(bool) override {}
|
||||
void startSpecialComment() override {}
|
||||
|
@ -95,7 +95,7 @@ static bool is_c_code = true;
|
|||
static void findXRefSymbols(FileDef *fd)
|
||||
{
|
||||
// get the interface to a parser that matches the file extension
|
||||
auto intf=Doxygen::parserManager->getCodeParser(fd->getDefFileExtension());
|
||||
auto intf=analyze::parserManager->getCodeParser(fd->getDefFileExtension());
|
||||
|
||||
// get the programming language from the file name
|
||||
SrcLangExt lang = getLanguageFromFileName(fd->name());
|
||||
|
@ -104,7 +104,7 @@ static void findXRefSymbols(FileDef *fd)
|
|||
intf->resetCodeParserState();
|
||||
|
||||
// create a new backend object
|
||||
std::unique_ptr<OutputCodeIntf> parse = std::make_unique<Doxyparse>(fd);
|
||||
std::unique_ptr<OutputCodeIntf> parse = std::make_unique<analzparse>(fd);
|
||||
OutputCodeList parseList;
|
||||
parseList.add(std::move(parse));
|
||||
|
||||
|
@ -399,10 +399,10 @@ static void detectProgrammingLanguage(FileNameLinkedMap &fnli) {
|
|||
}
|
||||
|
||||
static void listSymbols() {
|
||||
detectProgrammingLanguage(*Doxygen::inputNameLinkedMap);
|
||||
detectProgrammingLanguage(*analyze::inputNameLinkedMap);
|
||||
|
||||
// iterate over the input files
|
||||
for (const auto &fn : *Doxygen::inputNameLinkedMap) {
|
||||
for (const auto &fn : *analyze::inputNameLinkedMap) {
|
||||
for (const auto &fd : *fn) {
|
||||
printFile(fd->absFilePath().data());
|
||||
MemberList *ml = fd->getMemberList(MemberListType::AllMembersList());
|
||||
|
@ -448,7 +448,7 @@ int main(int argc,char **argv) {
|
|||
}
|
||||
|
||||
// initialize data structures
|
||||
initDoxygen();
|
||||
initanalyze();
|
||||
|
||||
// check and finalize the configuration
|
||||
checkConfiguration();
|
||||
|
@ -460,11 +460,11 @@ int main(int argc,char **argv) {
|
|||
std::ostringstream tmpdir;
|
||||
unsigned int pid = Portable::pid();
|
||||
if (!Portable::getenv("TMP").isEmpty())
|
||||
tmpdir << Portable::getenv("TMP") << "/doxyparse-" << pid;
|
||||
tmpdir << Portable::getenv("TMP") << "/analzparse-" << pid;
|
||||
else if (!Portable::getenv("TEMP").isEmpty())
|
||||
tmpdir << Portable::getenv("TEMP") << "/doxyparse-" << pid;
|
||||
tmpdir << Portable::getenv("TEMP") << "/analzparse-" << pid;
|
||||
else
|
||||
tmpdir << "doxyparse-" << pid;
|
||||
tmpdir << "analzparse-" << pid;
|
||||
|
||||
Config_updateString(OUTPUT_DIRECTORY,tmpdir.str().c_str());
|
||||
// enable HTML (fake) output to omit warning about missing output format
|
||||
|
@ -485,7 +485,7 @@ int main(int argc,char **argv) {
|
|||
Config_updateBool(EXTRACT_LOCAL_METHODS,TRUE);
|
||||
Config_updateBool(EXTRACT_PACKAGE,TRUE);
|
||||
// Extract source browse information, needed
|
||||
// to make doxygen gather the cross reference info
|
||||
// to make analyze gather the cross reference info
|
||||
Config_updateBool(SOURCE_BROWSER,TRUE);
|
||||
// find functions call between modules
|
||||
Config_updateBool(CALL_GRAPH,TRUE);
|
||||
|
@ -519,7 +519,7 @@ int main(int argc,char **argv) {
|
|||
parseInput();
|
||||
|
||||
// iterate over the input files
|
||||
for (const auto &fn : *Doxygen::inputNameLinkedMap) {
|
||||
for (const auto &fn : *analyze::inputNameLinkedMap) {
|
||||
for (const auto &fd : *fn) {
|
||||
// get the references (linked and unlinked) found in this file
|
||||
findXRefSymbols(fd.get());
|
||||
|
@ -528,7 +528,7 @@ int main(int argc,char **argv) {
|
|||
|
||||
Dir thisDir;
|
||||
// remove temporary files
|
||||
if (!Doxygen::filterDBFileName.isEmpty()) thisDir.remove(Doxygen::filterDBFileName.str());
|
||||
if (!analyze::filterDBFileName.isEmpty()) thisDir.remove(analyze::filterDBFileName.str());
|
||||
|
||||
// clean up after us
|
||||
thisDir.rmdir(Config_getString(OUTPUT_DIRECTORY).str());
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
# python script to search through doxygen_sqlite3.db
|
||||
# python script to search through analyze_sqlite3.db
|
||||
#
|
||||
# Permission to use, copy, modify, and distribute this software and its
|
||||
# documentation under the terms of the GNU General Public License is hereby
|
||||
|
@ -50,7 +50,7 @@ def re_fn(expr, item):
|
|||
|
||||
def openDb(dbname):
|
||||
if dbname is None:
|
||||
dbname = "doxygen_sqlite3.db"
|
||||
dbname = "analyze_sqlite3.db"
|
||||
|
||||
if not os.path.isfile(dbname):
|
||||
raise BaseException("No such file %s" % dbname )
|
||||
|
@ -304,7 +304,7 @@ def serveCgi():
|
|||
print('{"result": null, "error": "no refid given"}')
|
||||
sys.exit(0)
|
||||
|
||||
cn=openDb('doxygen_sqlite3.db')
|
||||
cn=openDb('analyze_sqlite3.db')
|
||||
|
||||
j = processHref(cn,ref)
|
||||
|
|
@ -11,35 +11,35 @@ include_directories(
|
|||
${XAPIAN_INCLUDE_DIR}
|
||||
${ZLIB_INCLUDE_DIRS}
|
||||
)
|
||||
add_executable(doxyindexer
|
||||
doxyindexer.cpp
|
||||
${PROJECT_SOURCE_DIR}/templates/icon/doxygen.rc
|
||||
add_executable(analzindexer
|
||||
analzindexer.cpp
|
||||
${PROJECT_SOURCE_DIR}/templates/icon/analyze.rc
|
||||
)
|
||||
|
||||
target_link_libraries(doxyindexer
|
||||
target_link_libraries(analzindexer
|
||||
${XAPIAN_LIBRARIES}
|
||||
${ZLIB_LIBRARIES}
|
||||
${WIN_EXTRA_LIBS}
|
||||
${COVERAGE_LINKER_FLAGS}
|
||||
doxygen_version
|
||||
analyze_version
|
||||
xml
|
||||
)
|
||||
|
||||
add_executable(doxysearch.cgi
|
||||
doxysearch.cpp
|
||||
${PROJECT_SOURCE_DIR}/templates/icon/doxygen.rc
|
||||
add_executable(analzsearch.cgi
|
||||
analzsearch.cpp
|
||||
${PROJECT_SOURCE_DIR}/templates/icon/analyze.rc
|
||||
)
|
||||
|
||||
target_link_libraries(doxysearch.cgi
|
||||
doxygen_version
|
||||
target_link_libraries(analzsearch.cgi
|
||||
analyze_version
|
||||
${XAPIAN_LIBRARIES}
|
||||
${ZLIB_LIBRARIES}
|
||||
${WIN_EXTRA_LIBS}
|
||||
)
|
||||
|
||||
include(ApplyEditbin)
|
||||
apply_editbin(doxyindexer console)
|
||||
apply_editbin(doxysearch.cgi console)
|
||||
apply_editbin(analzindexer console)
|
||||
apply_editbin(analzsearch.cgi console)
|
||||
|
||||
|
||||
install(TARGETS doxyindexer doxysearch.cgi DESTINATION bin)
|
||||
install(TARGETS analzindexer analzsearch.cgi DESTINATION bin)
|
|
@ -8,7 +8,7 @@
|
|||
* for any purpose. It is provided "as is" without express or implied warranty.
|
||||
* See the GNU General Public License for more details.
|
||||
*
|
||||
* Documents produced by Doxygen are derivative works derived from the
|
||||
* Documents produced by analyze are derivative works derived from the
|
||||
* input used in their production; they are not affected by this license.
|
||||
*
|
||||
*/
|
||||
|
@ -146,7 +146,7 @@ class XMLContentHandler
|
|||
public:
|
||||
/** Handler for parsing XML data */
|
||||
XMLContentHandler(const std::string &path)
|
||||
: m_db(path+"doxysearch.db",Xapian::DB_CREATE_OR_OVERWRITE),
|
||||
: m_db(path+"analzsearch.db",Xapian::DB_CREATE_OR_OVERWRITE),
|
||||
m_stemmer("english")
|
||||
{
|
||||
m_curFieldName = UnknownField;
|
|
@ -8,7 +8,7 @@
|
|||
* for any purpose. It is provided "as is" without express or implied warranty.
|
||||
* See the GNU General Public License for more details.
|
||||
*
|
||||
* Documents produced by Doxygen are derivative works derived from the
|
||||
* Documents produced by analyze are derivative works derived from the
|
||||
* input used in their production; they are not affected by this license.
|
||||
*
|
||||
*/
|
||||
|
@ -374,7 +374,7 @@ int main(int argc,char **argv)
|
|||
}
|
||||
}
|
||||
|
||||
std::string indexDir = "doxysearch.db";
|
||||
std::string indexDir = "analzsearch.db";
|
||||
|
||||
if (queryString=="test") // user test
|
||||
{
|
|
@ -41,7 +41,7 @@ include_directories(
|
|||
${GENERATED_SRC}
|
||||
)
|
||||
|
||||
set(GENERATED_SRC_WIZARD ${GENERATED_SRC}/doxywizard)
|
||||
set(GENERATED_SRC_WIZARD ${GENERATED_SRC}/analzwizard)
|
||||
file(MAKE_DIRECTORY ${GENERATED_SRC_WIZARD})
|
||||
|
||||
add_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DUNICODE)
|
||||
|
@ -69,7 +69,7 @@ add_custom_command(
|
|||
)
|
||||
set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GENERATED 1)
|
||||
|
||||
set(LEX_FILES config_doxyw)
|
||||
set(LEX_FILES config_analzw)
|
||||
|
||||
if (NOT depfile_supported)
|
||||
# In case the DEPFILE possibility is not supported the complete list of lex include files for the dependency has to be used
|
||||
|
@ -79,15 +79,15 @@ endif()
|
|||
foreach(lex_file ${LEX_FILES})
|
||||
if (depfile_supported)
|
||||
add_custom_command(
|
||||
COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${GENERATED_SRC_WIZARD}/${lex_file}.d ${PROJECT_SOURCE_DIR}/src
|
||||
DEPENDS ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l
|
||||
COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/analzwizard/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${GENERATED_SRC_WIZARD}/${lex_file}.d ${PROJECT_SOURCE_DIR}/src
|
||||
DEPENDS ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/analzwizard/${lex_file}.l
|
||||
DEPFILE ${GENERATED_SRC_WIZARD}/${lex_file}.d
|
||||
OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${GENERATED_SRC_WIZARD}/${lex_file}.d
|
||||
)
|
||||
else()
|
||||
add_custom_command(
|
||||
COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${GENERATED_SRC_WIZARD}/${lex_file}.d ${PROJECT_SOURCE_DIR}/src
|
||||
DEPENDS ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l ${LEX_INC_FILES}
|
||||
COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/analzwizard/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${GENERATED_SRC_WIZARD}/${lex_file}.d ${PROJECT_SOURCE_DIR}/src
|
||||
DEPENDS ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/analzwizard/${lex_file}.l ${LEX_INC_FILES}
|
||||
OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${GENERATED_SRC_WIZARD}/${lex_file}.d
|
||||
)
|
||||
endif()
|
||||
|
@ -97,15 +97,15 @@ foreach(lex_file ${LEX_FILES})
|
|||
|
||||
if (depfile_supported)
|
||||
add_custom_command(
|
||||
COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${GENERATED_SRC_WIZARD}/${lex_file}.d ${PROJECT_SOURCE_DIR}/src
|
||||
DEPENDS ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l
|
||||
COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/analzwizard/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${GENERATED_SRC_WIZARD}/${lex_file}.d ${PROJECT_SOURCE_DIR}/src
|
||||
DEPENDS ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/analzwizard/${lex_file}.l
|
||||
DEPFILE ${GENERATED_SRC_WIZARD}/${lex_file}.d
|
||||
OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${GENERATED_SRC_WIZARD}/${lex_file}.d
|
||||
)
|
||||
else()
|
||||
add_custom_command(
|
||||
COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${GENERATED_SRC_WIZARD}/${lex_file}.d ${PROJECT_SOURCE_DIR}/src
|
||||
DEPENDS ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l ${LEX_INC_FILES}
|
||||
COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/analzwizard/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${GENERATED_SRC_WIZARD}/${lex_file}.d ${PROJECT_SOURCE_DIR}/src
|
||||
DEPENDS ${PROJECT_SOURCE_DIR}/src/pre_lex.py ${PROJECT_SOURCE_DIR}/addon/analzwizard/${lex_file}.l ${LEX_INC_FILES}
|
||||
OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${GENERATED_SRC_WIZARD}/${lex_file}.d
|
||||
)
|
||||
endif()
|
||||
|
@ -125,14 +125,14 @@ foreach(lex_file ${LEX_FILES})
|
|||
${GENERATED_SRC_WIZARD}/${lex_file}_intermediate.cpp
|
||||
COMPILE_FLAGS "${LEX_FLAGS}")
|
||||
add_custom_command(
|
||||
COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/post_lex.py ${GENERATED_SRC_WIZARD}/${lex_file}_intermediate.cpp ${GENERATED_SRC_WIZARD}/${lex_file}.cpp ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.l
|
||||
COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/post_lex.py ${GENERATED_SRC_WIZARD}/${lex_file}_intermediate.cpp ${GENERATED_SRC_WIZARD}/${lex_file}.cpp ${GENERATED_SRC_WIZARD}/${lex_file}.corr ${PROJECT_SOURCE_DIR}/addon/analzwizard/${lex_file}.l ${GENERATED_SRC_WIZARD}/${lex_file}.l
|
||||
DEPENDS ${PROJECT_SOURCE_DIR}/src/post_lex.py ${GENERATED_SRC_WIZARD}/${lex_file}_intermediate.cpp ${GENERATED_SRC_WIZARD}/${lex_file}.corr
|
||||
OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.cpp
|
||||
)
|
||||
endforeach()
|
||||
|
||||
qt_wrap_cpp(doxywizard_MOC
|
||||
doxywizard.h
|
||||
qt_wrap_cpp(analzwizard_MOC
|
||||
analzwizard.h
|
||||
expert.h
|
||||
helplabel.h
|
||||
inputint.h
|
||||
|
@ -142,11 +142,11 @@ inputstrlist.h
|
|||
wizard.h
|
||||
)
|
||||
|
||||
qt_add_resources(doxywizard_RESOURCES_RCC doxywizard.qrc)
|
||||
qt_add_resources(analzwizard_RESOURCES_RCC analzwizard.qrc)
|
||||
|
||||
add_executable(doxywizard WIN32
|
||||
add_executable(analzwizard WIN32
|
||||
config_msg.cpp
|
||||
doxywizard.cpp
|
||||
analzwizard.cpp
|
||||
expert.cpp
|
||||
wizard.cpp
|
||||
inputbool.cpp
|
||||
|
@ -154,29 +154,29 @@ inputstring.cpp
|
|||
inputint.cpp
|
||||
inputstrlist.cpp
|
||||
${GENERATED_SRC_WIZARD}/settings.h
|
||||
${GENERATED_SRC_WIZARD}/config_doxyw.cpp
|
||||
${GENERATED_SRC_WIZARD}/config_doxyw.l.h
|
||||
${GENERATED_SRC_WIZARD}/config_analzw.cpp
|
||||
${GENERATED_SRC_WIZARD}/config_analzw.l.h
|
||||
${GENERATED_SRC_WIZARD}/configdoc.cpp
|
||||
${doxywizard_MOC}
|
||||
${doxywizard_RESOURCES_RCC}
|
||||
${PROJECT_SOURCE_DIR}/templates/icon/doxygen.rc
|
||||
${analzwizard_MOC}
|
||||
${analzwizard_RESOURCES_RCC}
|
||||
${PROJECT_SOURCE_DIR}/templates/icon/analyze.rc
|
||||
)
|
||||
|
||||
set_property(TARGET doxywizard PROPERTY WIN32_EXECUTABLE true)
|
||||
set_property(TARGET analzwizard PROPERTY WIN32_EXECUTABLE true)
|
||||
|
||||
include(ApplyEditbin)
|
||||
if (enable_console)
|
||||
apply_editbin(doxywizard console)
|
||||
apply_editbin(analzwizard console)
|
||||
else()
|
||||
apply_editbin(doxywizard windows)
|
||||
apply_editbin(analzwizard windows)
|
||||
endif()
|
||||
|
||||
if(Qt5Core_FOUND)
|
||||
target_link_libraries(doxywizard Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Xml doxygen_version)
|
||||
target_link_libraries(analzwizard Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Xml analyze_version)
|
||||
elseif(Qt6Core_FOUND)
|
||||
target_link_libraries(doxywizard Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Xml doxygen_version)
|
||||
target_link_libraries(analzwizard Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Xml analyze_version)
|
||||
else()
|
||||
target_link_libraries(doxywizard ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY} doxygen_version)
|
||||
target_link_libraries(analzwizard ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY} analyze_version)
|
||||
endif()
|
||||
|
||||
install(TARGETS doxywizard DESTINATION bin)
|
||||
install(TARGETS analzwizard DESTINATION bin)
|
|
@ -0,0 +1,3 @@
|
|||
analzwizard is a graphical front-end to read/edit/write analyze configuration
|
||||
files and to launch analyze. It requires Qt version 4.3 or higher.
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include "doxywizard.h"
|
||||
#include "analzwizard.h"
|
||||
#include "version.h"
|
||||
#include "expert.h"
|
||||
#include "wizard.h"
|
||||
|
@ -46,7 +46,7 @@
|
|||
#define MAX_RECENT_FILES 10
|
||||
|
||||
// globally accessible variables
|
||||
bool DoxygenWizard::debugFlag = false;
|
||||
bool analyzeWizard::debugFlag = false;
|
||||
|
||||
const int messageTimeout = 5000; //!< status bar message timeout in milliseconds.
|
||||
|
||||
|
@ -59,7 +59,7 @@ MainWindow &MainWindow::instance()
|
|||
}
|
||||
|
||||
MainWindow::MainWindow()
|
||||
: m_settings(QString::fromLatin1("Doxygen.org"), QString::fromLatin1("Doxywizard"))
|
||||
: m_settings(QString::fromLatin1("analyze.org"), QString::fromLatin1("analzwizard"))
|
||||
{
|
||||
QMenu *file = menuBar()->addMenu(tr("File"));
|
||||
file->addAction(tr("Open..."),
|
||||
|
@ -80,8 +80,8 @@ MainWindow::MainWindow()
|
|||
m_clearRecent = settings->addAction(tr("Clear recent list"),
|
||||
this,SLOT(clearRecent()));
|
||||
settings->addSeparator();
|
||||
m_runMenu = settings->addAction(tr("Run doxygen"),
|
||||
this,SLOT(runDoxygenMenu()),Qt::CTRL|Qt::Key_R);
|
||||
m_runMenu = settings->addAction(tr("Run analyze"),
|
||||
this,SLOT(runanalyzeMenu()),Qt::CTRL|Qt::Key_R);
|
||||
m_runMenu->setEnabled(false);
|
||||
|
||||
QMenu *help = menuBar()->addMenu(tr("Help"));
|
||||
|
@ -111,9 +111,9 @@ MainWindow::MainWindow()
|
|||
m_runTab = new QWidget;
|
||||
QVBoxLayout *runTabLayout = new QVBoxLayout(m_runTab);
|
||||
|
||||
// run doxygen
|
||||
// run analyze
|
||||
QHBoxLayout *runLayout = new QHBoxLayout;
|
||||
m_run = new QPushButton(tr("Run doxygen"));
|
||||
m_run = new QPushButton(tr("Run analyze"));
|
||||
m_run->setEnabled(false);
|
||||
m_runStatus = new QLabel(tr("Status: not running"));
|
||||
m_saveLog = new QPushButton(tr("Save log..."));
|
||||
|
@ -128,7 +128,7 @@ MainWindow::MainWindow()
|
|||
// select extra run options
|
||||
m_runOptions = new QLineEdit;
|
||||
|
||||
runTabLayout->addWidget(new QLabel(tr("Specify additional command line options for running doxygen")));
|
||||
runTabLayout->addWidget(new QLabel(tr("Specify additional command line options for running analyze")));
|
||||
runTabLayout->addWidget(m_runOptions);
|
||||
|
||||
QVBoxLayout *runVLayout = new QVBoxLayout;
|
||||
|
@ -157,9 +157,9 @@ MainWindow::MainWindow()
|
|||
saveLayout->setAlignment(Qt::AlignTop);
|
||||
// saveLayout->addWidget(new QWidget); // to have the save button at the top
|
||||
|
||||
// output produced by Doxygen
|
||||
// output produced by analyze
|
||||
runTabLayout->addLayout(runLayout);
|
||||
runTabLayout->addWidget(new QLabel(tr("Output produced by doxygen")));
|
||||
runTabLayout->addWidget(new QLabel(tr("Output produced by analyze")));
|
||||
QGridLayout *grid = new QGridLayout;
|
||||
//m_outputLog = new QTextEdit;
|
||||
m_outputLog = new QTextBrowser;
|
||||
|
@ -177,13 +177,13 @@ MainWindow::MainWindow()
|
|||
m_tabs->addTab(m_expert,tr("Expert"));
|
||||
m_tabs->addTab(m_runTab,tr("Run"));
|
||||
|
||||
rowLayout->addWidget(new QLabel(tr("Specify the working directory from which doxygen will run")));
|
||||
rowLayout->addWidget(new QLabel(tr("Specify the working directory from which analyze will run")));
|
||||
rowLayout->addLayout(dirLayout);
|
||||
rowLayout->addWidget(new QLabel(tr("Configure doxygen using the Wizard and/or Expert tab, then switch to the Run tab to generate the documentation")));
|
||||
rowLayout->addWidget(new QLabel(tr("Configure analyze using the Wizard and/or Expert tab, then switch to the Run tab to generate the documentation")));
|
||||
mainLayout->addWidget(m_tabs);
|
||||
|
||||
setCentralWidget(mainPart);
|
||||
statusBar()->showMessage(tr("Welcome to Doxygen"),messageTimeout);
|
||||
statusBar()->showMessage(tr("Welcome to analyze"),messageTimeout);
|
||||
|
||||
m_runProcess = new QProcess;
|
||||
m_running = false;
|
||||
|
@ -197,7 +197,7 @@ MainWindow::MainWindow()
|
|||
connect(m_runProcess,SIGNAL(readyReadStandardOutput()),SLOT(readStdout()));
|
||||
connect(m_runProcess,SIGNAL(finished(int, QProcess::ExitStatus)),SLOT(runComplete()));
|
||||
connect(m_timer,SIGNAL(timeout()),SLOT(readStdout()));
|
||||
connect(m_run,SIGNAL(clicked()),SLOT(runDoxygen()));
|
||||
connect(m_run,SIGNAL(clicked()),SLOT(runanalyze()));
|
||||
connect(m_launchHtml,SIGNAL(clicked()),SLOT(showHtmlOutput()));
|
||||
connect(m_saveLog,SIGNAL(clicked()),SLOT(saveLog()));
|
||||
connect(showSettings,SIGNAL(clicked()),SLOT(showSettings()));
|
||||
|
@ -263,15 +263,15 @@ void MainWindow::updateWorkingDir()
|
|||
|
||||
void MainWindow::manual()
|
||||
{
|
||||
QDesktopServices::openUrl(QUrl(QString::fromLatin1("https://www.doxygen.org/manual/index.html")));
|
||||
QDesktopServices::openUrl(QUrl(QString::fromLatin1("https://www.analyze.org/manual/index.html")));
|
||||
}
|
||||
|
||||
void MainWindow::about()
|
||||
{
|
||||
QString msg;
|
||||
QTextStream t(&msg,QIODevice::WriteOnly);
|
||||
t << QString::fromLatin1("<qt><center>A tool to configure and run doxygen version ")+
|
||||
QString::fromLatin1(getDoxygenVersion().c_str())+
|
||||
t << QString::fromLatin1("<qt><center>A tool to configure and run analyze version ")+
|
||||
QString::fromLatin1(getanalyzeVersion().c_str())+
|
||||
QString::fromLatin1(" on your source files.</center>")+
|
||||
QString::fromLatin1("<center>(Created with Qt version ")+
|
||||
QString::fromLatin1(QT_VERSION_STR);
|
||||
|
@ -284,7 +284,7 @@ void MainWindow::about()
|
|||
"<center>Written by<br> Dimitri van Heesch<br>© 2000-");
|
||||
t << QDate::currentDate().year();
|
||||
t << QString::fromLatin1("</center><p></qt>");
|
||||
QMessageBox::about(this,tr("Doxygen GUI"),msg);
|
||||
QMessageBox::about(this,tr("analyze GUI"),msg);
|
||||
}
|
||||
|
||||
void MainWindow::openConfig()
|
||||
|
@ -363,7 +363,7 @@ bool MainWindow::saveConfig()
|
|||
bool MainWindow::saveConfigAs()
|
||||
{
|
||||
QString fileName = QFileDialog::getSaveFileName(this, QString(),
|
||||
m_workingDir->text()+QString::fromLatin1("/Doxyfile"));
|
||||
m_workingDir->text()+QString::fromLatin1("/analzfile"));
|
||||
if (fileName.isEmpty()) return false;
|
||||
saveConfig(fileName);
|
||||
return true;
|
||||
|
@ -373,7 +373,7 @@ void MainWindow::makeDefaults()
|
|||
{
|
||||
if (QMessageBox::question(this,tr("Use current setting at startup?"),
|
||||
tr("Do you want to save the current settings "
|
||||
"and use them next time Doxywizard starts?"),
|
||||
"and use them next time analzwizard starts?"),
|
||||
QMessageBox::Save|
|
||||
QMessageBox::Cancel)==QMessageBox::Save)
|
||||
{
|
||||
|
@ -458,7 +458,7 @@ void MainWindow::loadSettings()
|
|||
|
||||
void MainWindow::saveSettings()
|
||||
{
|
||||
QSettings settings(QString::fromLatin1("Doxygen.org"), QString::fromLatin1("Doxywizard"));
|
||||
QSettings settings(QString::fromLatin1("analyze.org"), QString::fromLatin1("analzwizard"));
|
||||
|
||||
m_settings.setValue(QString::fromLatin1("main/geometry"), saveGeometry());
|
||||
m_settings.setValue(QString::fromLatin1("main/state"), saveState());
|
||||
|
@ -527,34 +527,34 @@ void MainWindow::openRecent(QAction *action)
|
|||
}
|
||||
}
|
||||
|
||||
void MainWindow::runDoxygenMenu()
|
||||
void MainWindow::runanalyzeMenu()
|
||||
{
|
||||
m_tabs->setCurrentWidget(m_runTab);
|
||||
runDoxygen();
|
||||
runanalyze();
|
||||
}
|
||||
|
||||
void MainWindow::runDoxygen()
|
||||
void MainWindow::runanalyze()
|
||||
{
|
||||
if (!m_running)
|
||||
{
|
||||
QString doxygenPath;
|
||||
QString analyzePath;
|
||||
#if defined(Q_OS_MACX)
|
||||
doxygenPath = qApp->applicationDirPath()+QString::fromLatin1("/../Resources/");
|
||||
qDebug() << tr("Doxygen path: ") << doxygenPath;
|
||||
if ( !QFile(doxygenPath + QString::fromLatin1("doxygen")).exists() )
|
||||
analyzePath = qApp->applicationDirPath()+QString::fromLatin1("/../Resources/");
|
||||
qDebug() << tr("analyze path: ") << analyzePath;
|
||||
if ( !QFile(analyzePath + QString::fromLatin1("analyze")).exists() )
|
||||
{
|
||||
// No Doxygen binary in the resources, if there is a system Doxygen binary, use that instead
|
||||
if ( QFile(QString::fromLatin1("/usr/local/bin/doxygen")).exists() )
|
||||
// No analyze binary in the resources, if there is a system analyze binary, use that instead
|
||||
if ( QFile(QString::fromLatin1("/usr/local/bin/analyze")).exists() )
|
||||
{
|
||||
doxygenPath = QString::fromLatin1("/usr/local/bin/");
|
||||
analyzePath = QString::fromLatin1("/usr/local/bin/");
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << tr("Can't find the doxygen command, make sure it's in your $$PATH");
|
||||
doxygenPath = QString::fromLatin1("");
|
||||
qDebug() << tr("Can't find the analyze command, make sure it's in your $$PATH");
|
||||
analyzePath = QString::fromLatin1("");
|
||||
}
|
||||
}
|
||||
qDebug() << tr("Getting doxygen from: ") << doxygenPath;
|
||||
qDebug() << tr("Getting analyze from: ") << analyzePath;
|
||||
#endif
|
||||
|
||||
m_runProcess->setReadChannel(QProcess::StandardOutput);
|
||||
|
@ -578,11 +578,11 @@ void MainWindow::runDoxygen()
|
|||
args << QString::fromLatin1("-"); // read config from stdin
|
||||
|
||||
m_outputLog->clear();
|
||||
m_runProcess->start(doxygenPath + QString::fromLatin1("doxygen"), args);
|
||||
m_runProcess->start(analyzePath + QString::fromLatin1("analyze"), args);
|
||||
|
||||
if (!m_runProcess->waitForStarted())
|
||||
{
|
||||
m_outputLog->append(APPQT(QString::fromLatin1("*** Failed to run doxygen\n")));
|
||||
m_outputLog->append(APPQT(QString::fromLatin1("*** Failed to run analyze\n")));
|
||||
return;
|
||||
}
|
||||
QTextStream t(m_runProcess);
|
||||
|
@ -592,13 +592,13 @@ void MainWindow::runDoxygen()
|
|||
|
||||
if (m_runProcess->state() == QProcess::NotRunning)
|
||||
{
|
||||
m_outputLog->append(APPQT(QString::fromLatin1("*** Failed to run doxygen\n")));
|
||||
m_outputLog->append(APPQT(QString::fromLatin1("*** Failed to run analyze\n")));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_saveLog->setEnabled(false);
|
||||
m_running=true;
|
||||
m_run->setText(tr("Stop doxygen"));
|
||||
m_run->setText(tr("Stop analyze"));
|
||||
m_runMenu->setEnabled(false);
|
||||
m_runStatus->setText(tr("Status: running"));
|
||||
m_timer->start(1000);
|
||||
|
@ -607,7 +607,7 @@ void MainWindow::runDoxygen()
|
|||
else
|
||||
{
|
||||
m_running=false;
|
||||
m_run->setText(tr("Run doxygen"));
|
||||
m_run->setText(tr("Run analyze"));
|
||||
m_runStatus->setText(tr("Status: not running"));
|
||||
m_runProcess->kill();
|
||||
m_timer->stop();
|
||||
|
@ -651,14 +651,14 @@ void MainWindow::runComplete()
|
|||
{
|
||||
if (m_running)
|
||||
{
|
||||
m_outputLog->append(APPQT(tr("*** Doxygen has finished\n")));
|
||||
m_outputLog->append(APPQT(tr("*** analyze has finished\n")));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_outputLog->append(APPQT(tr("*** Canceled by user\n")));
|
||||
}
|
||||
m_outputLog->ensureCursorVisible();
|
||||
m_run->setText(tr("Run doxygen"));
|
||||
m_run->setText(tr("Run analyze"));
|
||||
m_runStatus->setText(tr("Status: not running"));
|
||||
m_running=false;
|
||||
m_runMenu->setEnabled(true);
|
||||
|
@ -694,7 +694,7 @@ void MainWindow::saveLog()
|
|||
{
|
||||
QString fn = QFileDialog::getSaveFileName(this, tr("Save log file"),
|
||||
m_workingDir->text()+
|
||||
QString::fromLatin1("/doxygen_log.txt"));
|
||||
QString::fromLatin1("/analyze_log.txt"));
|
||||
if (!fn.isEmpty())
|
||||
{
|
||||
QFile f(fn);
|
||||
|
@ -738,7 +738,7 @@ void MainWindow::configChanged()
|
|||
|
||||
void MainWindow::updateTitle()
|
||||
{
|
||||
QString title = tr("Doxygen GUI frontend");
|
||||
QString title = tr("analyze GUI frontend");
|
||||
m_resetDefault->setEnabled(m_modified);
|
||||
if (m_modified)
|
||||
{
|
||||
|
@ -832,11 +832,11 @@ int main(int argc,char **argv)
|
|||
QMessageBox msgBox;
|
||||
if (!qstrcmp(qVersion(),QT_VERSION_STR))
|
||||
{
|
||||
msgBox.setText(QString::fromLatin1("Doxywizard version: %1, Qt version: %2").arg(QString::fromLatin1(getFullVersion().c_str()),QString::fromLatin1(QT_VERSION_STR)));
|
||||
msgBox.setText(QString::fromLatin1("analzwizard version: %1, Qt version: %2").arg(QString::fromLatin1(getFullVersion().c_str()),QString::fromLatin1(QT_VERSION_STR)));
|
||||
}
|
||||
else
|
||||
{
|
||||
msgBox.setText(QString::fromLatin1("Doxywizard version: %1, Qt version: created with %2, running with %3").arg(QString::fromLatin1(getFullVersion().c_str()),QString::fromLatin1(QT_VERSION_STR),QString::fromLatin1(qVersion())));
|
||||
msgBox.setText(QString::fromLatin1("analzwizard version: %1, Qt version: created with %2, running with %3").arg(QString::fromLatin1(getFullVersion().c_str()),QString::fromLatin1(QT_VERSION_STR),QString::fromLatin1(qVersion())));
|
||||
}
|
||||
msgBox.exec();
|
||||
exit(0);
|
||||
|
@ -844,7 +844,7 @@ int main(int argc,char **argv)
|
|||
}
|
||||
if (!qstrcmp(argv[1],"--debug") && ((locArgc == 2) || (locArgc == 3)))
|
||||
{
|
||||
DoxygenWizard::debugFlag = true;
|
||||
analyzeWizard::debugFlag = true;
|
||||
locArgc--;
|
||||
}
|
||||
|
|
@ -10,8 +10,8 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#ifndef DOXYWIZARD_H
|
||||
#define DOXYWIZARD_H
|
||||
#ifndef analzWIZARD_H
|
||||
#define analzWIZARD_H
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QSettings>
|
||||
|
@ -61,8 +61,8 @@ class MainWindow : public QMainWindow
|
|||
void openRecent(QAction *action);
|
||||
void selectWorkingDir();
|
||||
void updateWorkingDir();
|
||||
void runDoxygen();
|
||||
void runDoxygenMenu();
|
||||
void runanalyze();
|
||||
void runanalyzeMenu();
|
||||
void readStdout();
|
||||
void runComplete();
|
||||
void showHtmlOutput();
|
||||
|
@ -111,11 +111,11 @@ class MainWindow : public QMainWindow
|
|||
bool m_modified;
|
||||
};
|
||||
|
||||
/*! \brief This class serves as a namespace for global variables used by the doxygen wizard.
|
||||
/*! \brief This class serves as a namespace for global variables used by the analyze wizard.
|
||||
*
|
||||
* All fields in this class are public and static, so they can be used directly.
|
||||
*/
|
||||
class DoxygenWizard
|
||||
class analyzeWizard
|
||||
{
|
||||
public:
|
||||
static bool debugFlag;
|
|
@ -11,7 +11,7 @@
|
|||
*/
|
||||
|
||||
%option never-interactive
|
||||
%option prefix="config_doxywYY"
|
||||
%option prefix="config_analzwYY"
|
||||
%top{
|
||||
#include <stdint.h>
|
||||
}
|
||||
|
@ -98,7 +98,7 @@ static void substEnvVarsInString(QString &s);
|
|||
|
||||
static void checkEncoding()
|
||||
{
|
||||
Input *option = g_options->value(QString::fromLatin1("DOXYFILE_ENCODING"));
|
||||
Input *option = g_options->value(QString::fromLatin1("analzFILE_ENCODING"));
|
||||
if (option && option->value().toString()!=g_codecName)
|
||||
{
|
||||
auto newCodec = std::make_unique<TextCodecAdapter>(option->value().toString().toLatin1());
|
||||
|
@ -436,7 +436,7 @@ static const char *stateToString(int state);
|
|||
{
|
||||
config_warn("Tag '%s' at line %d of file %s has become obsolete.\n"
|
||||
"To avoid this warning please update your configuration "
|
||||
"file using \"doxygen -u\"\n", qPrintable(g_cmd),
|
||||
"file using \"analyze -u\"\n", qPrintable(g_cmd),
|
||||
yylineno,qPrintable(g_yyFileName));
|
||||
InputObsolete *obsoleteOpt = dynamic_cast<InputObsolete*>(g_curOption);
|
||||
if (obsoleteOpt)
|
||||
|
@ -490,7 +490,7 @@ static const char *stateToString(int state);
|
|||
{
|
||||
config_warn("Tag '%s' at line %d of file %s has become obsolete.\n"
|
||||
"To avoid this warning please update your configuration "
|
||||
"file using \"doxygen -u\"\n",
|
||||
"file using \"analyze -u\"\n",
|
||||
qPrintable(g_cmd),yylineno,qPrintable(g_yyFileName));
|
||||
InputObsolete *obsoleteOpt = dynamic_cast<InputObsolete*>(g_curOption);
|
||||
if (obsoleteOpt && obsoleteOpt->orgKind()==Input::StrList)
|
||||
|
@ -759,9 +759,9 @@ bool parseConfig(
|
|||
g_yyFileName = fileName;
|
||||
g_includeStack.clear();
|
||||
g_includeDepth = 0;
|
||||
config_doxywYYrestart( config_doxywYYin );
|
||||
config_analzwYYrestart( config_analzwYYin );
|
||||
BEGIN( Start );
|
||||
config_doxywYYlex();
|
||||
config_analzwYYlex();
|
||||
|
||||
upgradeConfig(options);
|
||||
|
||||
|
@ -863,5 +863,5 @@ void writeStringValue(QTextStream &t,TextCodecAdapter *codec,const QString &s,bo
|
|||
}
|
||||
}
|
||||
#if USE_STATE2STRING
|
||||
#include "config_doxyw.l.h"
|
||||
#include "config_analzw.l.h"
|
||||
#endif
|
|
@ -1,6 +1,6 @@
|
|||
#include <QString>
|
||||
#include "config_msg.h"
|
||||
#include "doxywizard.h"
|
||||
#include "analzwizard.h"
|
||||
|
||||
static QString warning_str = QString::fromLatin1("warning: ");
|
||||
static QString error_str = QString::fromLatin1("error: ");
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef DOXYW_MSG_H
|
||||
#define DOXYW_MSG_H
|
||||
#ifndef analzW_MSG_H
|
||||
#define analzW_MSG_H
|
||||
|
||||
void config_err(const char *fmt, ...);
|
||||
void config_term(const char *fmt, ...);
|
|
@ -168,7 +168,7 @@ static QString getDocsForNode(const QDomElement &child)
|
|||
while (!docsVal.isNull())
|
||||
{
|
||||
if (docsVal.tagName()==SA("docs") &&
|
||||
docsVal.attribute(SA("doxywizard")) != SA("0"))
|
||||
docsVal.attribute(SA("analzwizard")) != SA("0"))
|
||||
{
|
||||
for (QDomNode n = docsVal.firstChild(); !n.isNull(); n = n.nextSibling())
|
||||
{
|
||||
|
@ -404,9 +404,9 @@ static QString getDocsForNode(const QDomElement &child)
|
|||
docs+= SA("\" is set to <code>YES</code>.");
|
||||
}
|
||||
|
||||
// Remove / replace doxygen markup strings
|
||||
// Remove / replace analyze markup strings
|
||||
// the regular expressions are hard to read so the intention will be given
|
||||
// Note: see also configgen.py in the src directory for other doxygen parts
|
||||
// Note: see also configgen.py in the src directory for other analyze parts
|
||||
QRegularExpression regexp;
|
||||
// remove \n at end and replace by a space
|
||||
regexp.setPattern(SA("\\n$"));
|
||||
|
@ -435,8 +435,8 @@ static QString getDocsForNode(const QDomElement &child)
|
|||
docs.replace(regexp,SA("<code>\\1</code> "));
|
||||
//\ref specials
|
||||
// \ref <key> -> description
|
||||
regexp.setPattern(SA("\\\\ref[ ]+doxygen_usage"));
|
||||
docs.replace(regexp,SA("\"Doxygen usage\""));
|
||||
regexp.setPattern(SA("\\\\ref[ ]+analyze_usage"));
|
||||
docs.replace(regexp,SA("\"analyze usage\""));
|
||||
regexp.setPattern(SA("\\\\ref[ ]+extsearch"));
|
||||
docs.replace(regexp,SA("\"External Indexing and Searching\""));
|
||||
regexp.setPattern(SA("\\\\ref[ ]+external"));
|
||||
|
@ -846,13 +846,13 @@ void Expert::saveTopic(QTextStream &t,QDomElement &elem,TextCodecAdapter *codec,
|
|||
bool Expert::writeConfig(QTextStream &t,bool brief, bool condensed, bool convert)
|
||||
{
|
||||
// write global header
|
||||
t << "# Doxyfile " << getDoxygenVersion().c_str() << "\n\n";
|
||||
t << "# analzfile " << getanalyzeVersion().c_str() << "\n\n";
|
||||
if (!brief && !condensed)
|
||||
{
|
||||
t << convertToComment(m_header);
|
||||
}
|
||||
|
||||
Input *option = m_options[QString::fromLatin1("DOXYFILE_ENCODING")];
|
||||
Input *option = m_options[QString::fromLatin1("analzFILE_ENCODING")];
|
||||
TextCodecAdapter codec(option->value().toString().toLatin1());
|
||||
QDomElement childElem = m_rootElement.firstChildElement();
|
||||
while (!childElem.isNull())
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
|
@ -12,7 +12,7 @@
|
|||
|
||||
#include "inputstring.h"
|
||||
#include "helplabel.h"
|
||||
#include "doxywizard.h"
|
||||
#include "analzwizard.h"
|
||||
#include "config_msg.h"
|
||||
#include "config.h"
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
#include "inputstrlist.h"
|
||||
#include "helplabel.h"
|
||||
#include "doxywizard.h"
|
||||
#include "analzwizard.h"
|
||||
#include "config.h"
|
||||
|
||||
#include <QToolBar>
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
#include "wizard.h"
|
||||
#include "input.h"
|
||||
#include "doxywizard.h"
|
||||
#include "analzwizard.h"
|
||||
|
||||
#include <math.h>
|
||||
|
||||
|
@ -563,7 +563,7 @@ Step1::Step1(Wizard *wizard,const QHash<QString,Input*> &modelData) : m_wizard(w
|
|||
layout->addWidget(f);
|
||||
|
||||
l = new QLabel(this);
|
||||
l->setText(tr("Specify the directory where doxygen should "
|
||||
l->setText(tr("Specify the directory where analyze should "
|
||||
"put the generated documentation"));
|
||||
layout->addWidget(l);
|
||||
row = new QWidget;
|
|
@ -1,7 +1,7 @@
|
|||
Doxmlparser
|
||||
===========
|
||||
|
||||
This is a python package to make it easier to parse the XML output produced by doxygen.
|
||||
This is a python package to make it easier to parse the XML output produced by analyze.
|
||||
|
||||
The API is generated from the index.xsd and compound.xsd XML schema files using
|
||||
Dave Kuhlman's generateDS https://www.davekuhlman.org/generateDS.html
|
||||
|
|
|
@ -1236,7 +1236,7 @@ class MemberKind(str, Enum):
|
|||
SLOT='slot'
|
||||
|
||||
|
||||
class DoxygenType(GeneratedsSuper):
|
||||
class analyzeType(GeneratedsSuper):
|
||||
__hash__ = GeneratedsSuper.__hash__
|
||||
subclass = None
|
||||
superclass = None
|
||||
|
@ -1258,13 +1258,13 @@ class DoxygenType(GeneratedsSuper):
|
|||
def factory(*args_, **kwargs_):
|
||||
if CurrentSubclassModule_ is not None:
|
||||
subclass = getSubclassFromModule_(
|
||||
CurrentSubclassModule_, DoxygenType)
|
||||
CurrentSubclassModule_, analyzeType)
|
||||
if subclass is not None:
|
||||
return subclass(*args_, **kwargs_)
|
||||
if DoxygenType.subclass:
|
||||
return DoxygenType.subclass(*args_, **kwargs_)
|
||||
if analyzeType.subclass:
|
||||
return analyzeType.subclass(*args_, **kwargs_)
|
||||
else:
|
||||
return DoxygenType(*args_, **kwargs_)
|
||||
return analyzeType(*args_, **kwargs_)
|
||||
factory = staticmethod(factory)
|
||||
def get_ns_prefix_(self):
|
||||
return self.ns_prefix_
|
||||
|
@ -1306,37 +1306,37 @@ class DoxygenType(GeneratedsSuper):
|
|||
return True
|
||||
else:
|
||||
return False
|
||||
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DoxygenType', pretty_print=True):
|
||||
imported_ns_def_ = GenerateDSNamespaceDefs_.get('DoxygenType')
|
||||
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='analyzeType', pretty_print=True):
|
||||
imported_ns_def_ = GenerateDSNamespaceDefs_.get('analyzeType')
|
||||
if imported_ns_def_ is not None:
|
||||
namespacedef_ = imported_ns_def_
|
||||
if pretty_print:
|
||||
eol_ = '\n'
|
||||
else:
|
||||
eol_ = ''
|
||||
if self.original_tagname_ is not None and name_ == 'DoxygenType':
|
||||
if self.original_tagname_ is not None and name_ == 'analyzeType':
|
||||
name_ = self.original_tagname_
|
||||
if UseCapturedNS_ and self.ns_prefix_:
|
||||
namespaceprefix_ = self.ns_prefix_ + ':'
|
||||
showIndent(outfile, level, pretty_print)
|
||||
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
||||
already_processed = set()
|
||||
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DoxygenType')
|
||||
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='analyzeType')
|
||||
if self.hasContent_():
|
||||
outfile.write('>%s' % (eol_, ))
|
||||
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DoxygenType', pretty_print=pretty_print)
|
||||
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='analyzeType', pretty_print=pretty_print)
|
||||
showIndent(outfile, level, pretty_print)
|
||||
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
||||
else:
|
||||
outfile.write('/>%s' % (eol_, ))
|
||||
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DoxygenType'):
|
||||
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='analyzeType'):
|
||||
if self.version is not None and 'version' not in already_processed:
|
||||
already_processed.add('version')
|
||||
outfile.write(' version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.version), input_name='version')), ))
|
||||
if self.lang is not None and 'lang' not in already_processed:
|
||||
already_processed.add('lang')
|
||||
outfile.write(' xml:lang=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.lang), input_name='lang')), ))
|
||||
def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DoxygenType', fromsubclass_=False, pretty_print=True):
|
||||
def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='analyzeType', fromsubclass_=False, pretty_print=True):
|
||||
if pretty_print:
|
||||
eol_ = '\n'
|
||||
else:
|
||||
|
@ -1371,7 +1371,7 @@ class DoxygenType(GeneratedsSuper):
|
|||
obj_.build(child_, gds_collector_=gds_collector_)
|
||||
self.compounddef.append(obj_)
|
||||
obj_.original_tagname_ = 'compounddef'
|
||||
# end class DoxygenType
|
||||
# end class analyzeType
|
||||
|
||||
|
||||
class compounddefType(GeneratedsSuper):
|
||||
|
@ -27248,7 +27248,7 @@ class docEmojiType(GeneratedsSuper):
|
|||
|
||||
|
||||
GDSClassesMapping = {
|
||||
'doxygen': DoxygenType,
|
||||
'analyze': analyzeType,
|
||||
}
|
||||
|
||||
|
||||
|
@ -27295,8 +27295,8 @@ def parse(inFileName, silence=False, print_warnings=True):
|
|||
rootNode = doc.getroot()
|
||||
rootTag, rootClass = get_root_tag(rootNode)
|
||||
if rootClass is None:
|
||||
rootTag = 'DoxygenType'
|
||||
rootClass = DoxygenType
|
||||
rootTag = 'analyzeType'
|
||||
rootClass = analyzeType
|
||||
rootObj = rootClass.factory()
|
||||
rootObj.build(rootNode, gds_collector_=gds_collector)
|
||||
CapturedNsmap_, namespacedefs = get_required_ns_prefix_defs(rootNode)
|
||||
|
@ -27327,8 +27327,8 @@ def parseEtree(inFileName, silence=False, print_warnings=True,
|
|||
rootNode = doc.getroot()
|
||||
rootTag, rootClass = get_root_tag(rootNode)
|
||||
if rootClass is None:
|
||||
rootTag = 'DoxygenType'
|
||||
rootClass = DoxygenType
|
||||
rootTag = 'analyzeType'
|
||||
rootClass = analyzeType
|
||||
rootObj = rootClass.factory()
|
||||
rootObj.build(rootNode, gds_collector_=gds_collector)
|
||||
# Enable Python to collect the space used by the DOM.
|
||||
|
@ -27370,8 +27370,8 @@ def parseString(inString, silence=False, print_warnings=True):
|
|||
gds_collector = GdsCollector_()
|
||||
rootTag, rootClass = get_root_tag(rootNode)
|
||||
if rootClass is None:
|
||||
rootTag = 'DoxygenType'
|
||||
rootClass = DoxygenType
|
||||
rootTag = 'analyzeType'
|
||||
rootClass = analyzeType
|
||||
rootObj = rootClass.factory()
|
||||
rootObj.build(rootNode, gds_collector_=gds_collector)
|
||||
if not SaveElementTreeNode:
|
||||
|
@ -27398,8 +27398,8 @@ def parseLiteral(inFileName, silence=False, print_warnings=True):
|
|||
rootNode = doc.getroot()
|
||||
rootTag, rootClass = get_root_tag(rootNode)
|
||||
if rootClass is None:
|
||||
rootTag = 'DoxygenType'
|
||||
rootClass = DoxygenType
|
||||
rootTag = 'analyzeType'
|
||||
rootClass = analyzeType
|
||||
rootObj = rootClass.factory()
|
||||
rootObj.build(rootNode, gds_collector_=gds_collector)
|
||||
# Enable Python to collect the space used by the DOM.
|
||||
|
@ -27444,7 +27444,7 @@ RenameMappings_ = {
|
|||
NamespaceToDefMappings_ = {'http://www.w3.org/XML/1998/namespace': []}
|
||||
|
||||
__all__ = [
|
||||
"DoxygenType",
|
||||
"analyzeType",
|
||||
"MemberType",
|
||||
"childnodeType",
|
||||
"codelineType",
|
||||
|
|
|
@ -1004,7 +1004,7 @@ class MemberKind(str, Enum):
|
|||
SLOT='slot'
|
||||
|
||||
|
||||
class DoxygenType(GeneratedsSuper):
|
||||
class analyzeType(GeneratedsSuper):
|
||||
__hash__ = GeneratedsSuper.__hash__
|
||||
subclass = None
|
||||
superclass = None
|
||||
|
@ -1026,13 +1026,13 @@ class DoxygenType(GeneratedsSuper):
|
|||
def factory(*args_, **kwargs_):
|
||||
if CurrentSubclassModule_ is not None:
|
||||
subclass = getSubclassFromModule_(
|
||||
CurrentSubclassModule_, DoxygenType)
|
||||
CurrentSubclassModule_, analyzeType)
|
||||
if subclass is not None:
|
||||
return subclass(*args_, **kwargs_)
|
||||
if DoxygenType.subclass:
|
||||
return DoxygenType.subclass(*args_, **kwargs_)
|
||||
if analyzeType.subclass:
|
||||
return analyzeType.subclass(*args_, **kwargs_)
|
||||
else:
|
||||
return DoxygenType(*args_, **kwargs_)
|
||||
return analyzeType(*args_, **kwargs_)
|
||||
factory = staticmethod(factory)
|
||||
def get_ns_prefix_(self):
|
||||
return self.ns_prefix_
|
||||
|
@ -1063,37 +1063,37 @@ class DoxygenType(GeneratedsSuper):
|
|||
return True
|
||||
else:
|
||||
return False
|
||||
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DoxygenType', pretty_print=True):
|
||||
imported_ns_def_ = GenerateDSNamespaceDefs_.get('DoxygenType')
|
||||
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='analyzeType', pretty_print=True):
|
||||
imported_ns_def_ = GenerateDSNamespaceDefs_.get('analyzeType')
|
||||
if imported_ns_def_ is not None:
|
||||
namespacedef_ = imported_ns_def_
|
||||
if pretty_print:
|
||||
eol_ = '\n'
|
||||
else:
|
||||
eol_ = ''
|
||||
if self.original_tagname_ is not None and name_ == 'DoxygenType':
|
||||
if self.original_tagname_ is not None and name_ == 'analyzeType':
|
||||
name_ = self.original_tagname_
|
||||
if UseCapturedNS_ and self.ns_prefix_:
|
||||
namespaceprefix_ = self.ns_prefix_ + ':'
|
||||
showIndent(outfile, level, pretty_print)
|
||||
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
||||
already_processed = set()
|
||||
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DoxygenType')
|
||||
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='analyzeType')
|
||||
if self.hasContent_():
|
||||
outfile.write('>%s' % (eol_, ))
|
||||
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DoxygenType', pretty_print=pretty_print)
|
||||
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='analyzeType', pretty_print=pretty_print)
|
||||
showIndent(outfile, level, pretty_print)
|
||||
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
||||
else:
|
||||
outfile.write('/>%s' % (eol_, ))
|
||||
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DoxygenType'):
|
||||
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='analyzeType'):
|
||||
if self.version is not None and 'version' not in already_processed:
|
||||
already_processed.add('version')
|
||||
outfile.write(' version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.version), input_name='version')), ))
|
||||
if self.lang is not None and 'lang' not in already_processed:
|
||||
already_processed.add('lang')
|
||||
outfile.write(' xml:lang=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.lang), input_name='lang')), ))
|
||||
def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DoxygenType', fromsubclass_=False, pretty_print=True):
|
||||
def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='analyzeType', fromsubclass_=False, pretty_print=True):
|
||||
if pretty_print:
|
||||
eol_ = '\n'
|
||||
else:
|
||||
|
@ -1127,7 +1127,7 @@ class DoxygenType(GeneratedsSuper):
|
|||
obj_.build(child_, gds_collector_=gds_collector_)
|
||||
self.compound.append(obj_)
|
||||
obj_.original_tagname_ = 'compound'
|
||||
# end class DoxygenType
|
||||
# end class analyzeType
|
||||
|
||||
|
||||
class CompoundType(GeneratedsSuper):
|
||||
|
@ -1421,7 +1421,7 @@ class MemberType(GeneratedsSuper):
|
|||
|
||||
|
||||
GDSClassesMapping = {
|
||||
'doxygenindex': DoxygenType,
|
||||
'analyzeindex': analyzeType,
|
||||
}
|
||||
|
||||
|
||||
|
@ -1468,8 +1468,8 @@ def parse(inFileName, silence=False, print_warnings=True):
|
|||
rootNode = doc.getroot()
|
||||
rootTag, rootClass = get_root_tag(rootNode)
|
||||
if rootClass is None:
|
||||
rootTag = 'DoxygenType'
|
||||
rootClass = DoxygenType
|
||||
rootTag = 'analyzeType'
|
||||
rootClass = analyzeType
|
||||
rootObj = rootClass.factory()
|
||||
rootObj.build(rootNode, gds_collector_=gds_collector)
|
||||
CapturedNsmap_, namespacedefs = get_required_ns_prefix_defs(rootNode)
|
||||
|
@ -1500,8 +1500,8 @@ def parseEtree(inFileName, silence=False, print_warnings=True,
|
|||
rootNode = doc.getroot()
|
||||
rootTag, rootClass = get_root_tag(rootNode)
|
||||
if rootClass is None:
|
||||
rootTag = 'DoxygenType'
|
||||
rootClass = DoxygenType
|
||||
rootTag = 'analyzeType'
|
||||
rootClass = analyzeType
|
||||
rootObj = rootClass.factory()
|
||||
rootObj.build(rootNode, gds_collector_=gds_collector)
|
||||
# Enable Python to collect the space used by the DOM.
|
||||
|
@ -1543,8 +1543,8 @@ def parseString(inString, silence=False, print_warnings=True):
|
|||
gds_collector = GdsCollector_()
|
||||
rootTag, rootClass = get_root_tag(rootNode)
|
||||
if rootClass is None:
|
||||
rootTag = 'DoxygenType'
|
||||
rootClass = DoxygenType
|
||||
rootTag = 'analyzeType'
|
||||
rootClass = analyzeType
|
||||
rootObj = rootClass.factory()
|
||||
rootObj.build(rootNode, gds_collector_=gds_collector)
|
||||
if not SaveElementTreeNode:
|
||||
|
@ -1571,8 +1571,8 @@ def parseLiteral(inFileName, silence=False, print_warnings=True):
|
|||
rootNode = doc.getroot()
|
||||
rootTag, rootClass = get_root_tag(rootNode)
|
||||
if rootClass is None:
|
||||
rootTag = 'DoxygenType'
|
||||
rootClass = DoxygenType
|
||||
rootTag = 'analyzeType'
|
||||
rootClass = analyzeType
|
||||
rootObj = rootClass.factory()
|
||||
rootObj.build(rootNode, gds_collector_=gds_collector)
|
||||
# Enable Python to collect the space used by the DOM.
|
||||
|
@ -1618,6 +1618,6 @@ NamespaceToDefMappings_ = {'http://www.w3.org/XML/1998/namespace': []}
|
|||
|
||||
__all__ = [
|
||||
"CompoundType",
|
||||
"DoxygenType",
|
||||
"analyzeType",
|
||||
"MemberType"
|
||||
]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# An minimal example showing how to use the python doxmlparser module to read
|
||||
# the XML output generated by doxygen for a project and dump it to the output again.
|
||||
# the XML output generated by analyze for a project and dump it to the output again.
|
||||
|
||||
import sys
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# An example showing how to use the python doxmlparser module to extract some metrics from
|
||||
# the XML output generated by doxygen for a project.
|
||||
# the XML output generated by analyze for a project.
|
||||
|
||||
import sys
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
# for any purpose. It is provided "as is" without express or implied warranty.
|
||||
# See the GNU General Public License for more details.
|
||||
#
|
||||
# Documents produced by Doxygen are derivative works derived from the
|
||||
# Documents produced by analyze are derivative works derived from the
|
||||
# input used in their production; they are not affected by this license.
|
||||
|
||||
import sys
|
||||
|
|
|
@ -20,11 +20,11 @@ with open('requirements.txt') as f:
|
|||
setup(
|
||||
name='doxmlparser',
|
||||
version=version,
|
||||
description='Python API to access doxygen generated XML output',
|
||||
description='Python API to access analyze generated XML output',
|
||||
long_description=readme,
|
||||
author='Dimitri van Heesch',
|
||||
author_email='doxygen@gmail.com',
|
||||
url='https://github.com/doxygen/doxygen/addon/doxmlparser',
|
||||
author_email='analyze@gmail.com',
|
||||
url='https://github.com/analyze/analyze/addon/doxmlparser',
|
||||
license=license,
|
||||
packages=find_packages(exclude=('tests', 'docs')),
|
||||
install_requires=requirements
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
.TH DOXYPARSE "1" "DATE" "doxyparse VERSION" "User Commands"
|
||||
.SH NAME
|
||||
doxyparse \- parse and dumps information about the code
|
||||
.SH SYNOPSIS
|
||||
.B doxyparse
|
||||
[\fIsource file\fR...]
|
||||
.SH DESCRIPTION
|
||||
Parses source code and dumps the dependencies between the code elements.
|
||||
.SH SEE ALSO
|
||||
doxygen(1), doxytag(1), doxywizard(1).
|
|
@ -1,3 +0,0 @@
|
|||
Doxywizard is a graphical front-end to read/edit/write doxygen configuration
|
||||
files and to launch doxygen. It requires Qt version 4.3 or higher.
|
||||
|
|
@ -19,7 +19,7 @@ if(enable_coverage)
|
|||
-P ${PROJECT_SOURCE_DIR}/cmake/SearchReplace.cmake
|
||||
COMMAND ${GENHTML_PATH} --rc genhtml_branch_coverage=1
|
||||
--function-coverage --branch-coverage
|
||||
--title "Doxygen Coverage Report" --num-spaces 2
|
||||
--title "analyze Coverage Report" --num-spaces 2
|
||||
--legend --prefix ${PROJECT_SOURCE_DIR} --demangle-cpp
|
||||
--output-directory cov_output cov.info.final
|
||||
COMMAND ${CMAKE_COMMAND} -E remove cov.info cov.info.cleaned cov.info.final
|
||||
|
|
|
@ -0,0 +1,96 @@
|
|||
# analyze_version.cmake
|
||||
#
|
||||
|
||||
# This file defines the functions and targets needed to monitor
|
||||
# analyze VERSION file.
|
||||
#
|
||||
# The behavior of this script can be modified by defining any of these variables:
|
||||
#
|
||||
# PRE_CONFIGURE_analyze_VERSION_FILE (REQUIRED)
|
||||
# -- The path to the file that'll be configured.
|
||||
#
|
||||
# POST_CONFIGURE_analyze_VERSION_FILE (REQUIRED)
|
||||
# -- The path to the configured PRE_CONFIGURE_analyze_VERSION_FILE.
|
||||
#
|
||||
# analz_STATE_FILE (OPTIONAL)
|
||||
# -- The path to the file used to store the analyze version information.
|
||||
#
|
||||
# This file is based on git_watcher.cmake
|
||||
|
||||
# Short hand for converting paths to absolute.
|
||||
macro(PATH_TO_ABSOLUTE var_name)
|
||||
get_filename_component(${var_name} "${${var_name}}" ABSOLUTE)
|
||||
endmacro()
|
||||
|
||||
# Check that a required variable is set.
|
||||
macro(CHECK_REQUIRED_VARIABLE var_name)
|
||||
if(NOT DEFINED ${var_name})
|
||||
message(FATAL_ERROR "The \"${var_name}\" variable must be defined.")
|
||||
endif()
|
||||
PATH_TO_ABSOLUTE(${var_name})
|
||||
endmacro()
|
||||
|
||||
# Check that an optional variable is set, or, set it to a default value.
|
||||
macro(CHECK_OPTIONAL_VARIABLE var_name default_value)
|
||||
if(NOT DEFINED ${var_name})
|
||||
set(${var_name} ${default_value})
|
||||
endif()
|
||||
PATH_TO_ABSOLUTE(${var_name})
|
||||
endmacro()
|
||||
|
||||
CHECK_REQUIRED_VARIABLE(PRE_CONFIGURE_analyze_VERSION_FILE)
|
||||
CHECK_REQUIRED_VARIABLE(POST_CONFIGURE_analyze_VERSION_FILE)
|
||||
CHECK_OPTIONAL_VARIABLE(analz_STATE_FILE "${PROJECT_SOURCE_DIR}/VERSION")
|
||||
|
||||
# Function: analyzeStateChangedAction
|
||||
# Description: this function is executed when the
|
||||
# analyze version file has changed.
|
||||
function(analyzeStateChangedAction _state_as_list)
|
||||
# Set variables by index, then configure the file w/ these variables defined.
|
||||
LIST(GET _state_as_list 0 analyze_VERSION)
|
||||
configure_file("${PRE_CONFIGURE_analyze_VERSION_FILE}" "${POST_CONFIGURE_analyze_VERSION_FILE}" @ONLY)
|
||||
endfunction()
|
||||
|
||||
|
||||
|
||||
# Function: SetupanalzMonitoring
|
||||
# Description: this function sets up custom commands that make the build system
|
||||
# check the analyze version file before every build. If it has
|
||||
# changed, then a file is configured.
|
||||
function(SetupanalzMonitoring)
|
||||
add_custom_target(check_analyze_version
|
||||
ALL
|
||||
DEPENDS ${PRE_CONFIGURE_analyze_VERSION_FILE}
|
||||
BYPRODUCTS ${POST_CONFIGURE_analyze_VERSION_FILE}
|
||||
COMMENT "Checking the analyze version for changes..."
|
||||
COMMAND
|
||||
${CMAKE_COMMAND}
|
||||
-D_BUILD_TIME_CHECK_analz=TRUE
|
||||
-Danalz_STATE_FILE=${analz_STATE_FILE}
|
||||
-DPRE_CONFIGURE_analyze_VERSION_FILE=${PRE_CONFIGURE_analyze_VERSION_FILE}
|
||||
-DPOST_CONFIGURE_analyze_VERSION_FILE=${POST_CONFIGURE_analyze_VERSION_FILE}
|
||||
-P "${CMAKE_CURRENT_LIST_FILE}")
|
||||
endfunction()
|
||||
|
||||
|
||||
|
||||
# Function: Main
|
||||
# Description: primary entry-point to the script. Functions are selected based
|
||||
# on whether it's configure or build time.
|
||||
function(Main)
|
||||
file(STRINGS "${analz_STATE_FILE}" analyze_VERSION)
|
||||
if(_BUILD_TIME_CHECK_analz)
|
||||
# Check if the analyze version file has changed.
|
||||
# If so, run the change action.
|
||||
if(${analz_STATE_FILE} IS_NEWER_THAN ${POST_CONFIGURE_analyze_VERSION_FILE})
|
||||
analyzeStateChangedAction("${analyze_VERSION}")
|
||||
endif()
|
||||
else()
|
||||
# >> Executes at configure time.
|
||||
SetupanalzMonitoring()
|
||||
analyzeStateChangedAction("${analyze_VERSION}")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# And off we go...
|
||||
Main()
|
|
@ -1,96 +0,0 @@
|
|||
# doxygen_version.cmake
|
||||
#
|
||||
|
||||
# This file defines the functions and targets needed to monitor
|
||||
# doxygen VERSION file.
|
||||
#
|
||||
# The behavior of this script can be modified by defining any of these variables:
|
||||
#
|
||||
# PRE_CONFIGURE_DOXYGEN_VERSION_FILE (REQUIRED)
|
||||
# -- The path to the file that'll be configured.
|
||||
#
|
||||
# POST_CONFIGURE_DOXYGEN_VERSION_FILE (REQUIRED)
|
||||
# -- The path to the configured PRE_CONFIGURE_DOXYGEN_VERSION_FILE.
|
||||
#
|
||||
# DOXY_STATE_FILE (OPTIONAL)
|
||||
# -- The path to the file used to store the doxygen version information.
|
||||
#
|
||||
# This file is based on git_watcher.cmake
|
||||
|
||||
# Short hand for converting paths to absolute.
|
||||
macro(PATH_TO_ABSOLUTE var_name)
|
||||
get_filename_component(${var_name} "${${var_name}}" ABSOLUTE)
|
||||
endmacro()
|
||||
|
||||
# Check that a required variable is set.
|
||||
macro(CHECK_REQUIRED_VARIABLE var_name)
|
||||
if(NOT DEFINED ${var_name})
|
||||
message(FATAL_ERROR "The \"${var_name}\" variable must be defined.")
|
||||
endif()
|
||||
PATH_TO_ABSOLUTE(${var_name})
|
||||
endmacro()
|
||||
|
||||
# Check that an optional variable is set, or, set it to a default value.
|
||||
macro(CHECK_OPTIONAL_VARIABLE var_name default_value)
|
||||
if(NOT DEFINED ${var_name})
|
||||
set(${var_name} ${default_value})
|
||||
endif()
|
||||
PATH_TO_ABSOLUTE(${var_name})
|
||||
endmacro()
|
||||
|
||||
CHECK_REQUIRED_VARIABLE(PRE_CONFIGURE_DOXYGEN_VERSION_FILE)
|
||||
CHECK_REQUIRED_VARIABLE(POST_CONFIGURE_DOXYGEN_VERSION_FILE)
|
||||
CHECK_OPTIONAL_VARIABLE(DOXY_STATE_FILE "${PROJECT_SOURCE_DIR}/VERSION")
|
||||
|
||||
# Function: DoxygenStateChangedAction
|
||||
# Description: this function is executed when the
|
||||
# doxygen version file has changed.
|
||||
function(DoxygenStateChangedAction _state_as_list)
|
||||
# Set variables by index, then configure the file w/ these variables defined.
|
||||
LIST(GET _state_as_list 0 DOXYGEN_VERSION)
|
||||
configure_file("${PRE_CONFIGURE_DOXYGEN_VERSION_FILE}" "${POST_CONFIGURE_DOXYGEN_VERSION_FILE}" @ONLY)
|
||||
endfunction()
|
||||
|
||||
|
||||
|
||||
# Function: SetupDoxyMonitoring
|
||||
# Description: this function sets up custom commands that make the build system
|
||||
# check the doxygen version file before every build. If it has
|
||||
# changed, then a file is configured.
|
||||
function(SetupDoxyMonitoring)
|
||||
add_custom_target(check_doxygen_version
|
||||
ALL
|
||||
DEPENDS ${PRE_CONFIGURE_DOXYGEN_VERSION_FILE}
|
||||
BYPRODUCTS ${POST_CONFIGURE_DOXYGEN_VERSION_FILE}
|
||||
COMMENT "Checking the doxygen version for changes..."
|
||||
COMMAND
|
||||
${CMAKE_COMMAND}
|
||||
-D_BUILD_TIME_CHECK_DOXY=TRUE
|
||||
-DDOXY_STATE_FILE=${DOXY_STATE_FILE}
|
||||
-DPRE_CONFIGURE_DOXYGEN_VERSION_FILE=${PRE_CONFIGURE_DOXYGEN_VERSION_FILE}
|
||||
-DPOST_CONFIGURE_DOXYGEN_VERSION_FILE=${POST_CONFIGURE_DOXYGEN_VERSION_FILE}
|
||||
-P "${CMAKE_CURRENT_LIST_FILE}")
|
||||
endfunction()
|
||||
|
||||
|
||||
|
||||
# Function: Main
|
||||
# Description: primary entry-point to the script. Functions are selected based
|
||||
# on whether it's configure or build time.
|
||||
function(Main)
|
||||
file(STRINGS "${DOXY_STATE_FILE}" DOXYGEN_VERSION)
|
||||
if(_BUILD_TIME_CHECK_DOXY)
|
||||
# Check if the doxygen version file has changed.
|
||||
# If so, run the change action.
|
||||
if(${DOXY_STATE_FILE} IS_NEWER_THAN ${POST_CONFIGURE_DOXYGEN_VERSION_FILE})
|
||||
DoxygenStateChangedAction("${DOXYGEN_VERSION}")
|
||||
endif()
|
||||
else()
|
||||
# >> Executes at configure time.
|
||||
SetupDoxyMonitoring()
|
||||
DoxygenStateChangedAction("${DOXYGEN_VERSION}")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# And off we go...
|
||||
Main()
|
|
@ -6,9 +6,9 @@
|
|||
# - https://sourceforge.net/p/klusters/klusters/ci/master/tree/CMakeLists.txt
|
||||
#
|
||||
# This cmake script should generate same packages (deb,rpm) as:
|
||||
# - https://mirror.debian.ikoula.com/debian/pool/main/d/doxygen
|
||||
# - http://archive.ubuntu.com/ubuntu/pool/main/d/doxygen (http://old-releases.ubuntu.com/ubuntu/pool/main/d/doxygen)
|
||||
# - https://rpmfind.net/linux/rpm2html/search.php?query=doxygen
|
||||
# - https://mirror.debian.ikoula.com/debian/pool/main/d/analyze
|
||||
# - http://archive.ubuntu.com/ubuntu/pool/main/d/analyze (http://old-releases.ubuntu.com/ubuntu/pool/main/d/analyze)
|
||||
# - https://rpmfind.net/linux/rpm2html/search.php?query=analyze
|
||||
|
||||
set(CPACK_STRIP_FILES ON)
|
||||
set(CPACK_PACKAGE_NAME ${PROJECT_NAME} )
|
||||
|
@ -16,10 +16,10 @@ set(CPACK_PACKAGE_VERSION ${VERSION})
|
|||
set(CPACK_PACKAGE_CONTACT "Dimitri van Heesch")
|
||||
set(CPACK_PACKAGE_VENDOR "Dimitri van Heesch")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Generate documentation from C, C++, Java, Python and other languages")
|
||||
set(CPACK_PACKAGE_DESCRIPTION "Doxygen is the de facto standard tool for generating documentation from annotated C++ sources.
|
||||
set(CPACK_PACKAGE_DESCRIPTION "analyze is the de facto standard tool for generating documentation from annotated C++ sources.
|
||||
But many other popular programming languages are supported:
|
||||
C, Objective-C, C#, PHP, Java, Python, Fortran, D (some extent), and IDL (Corba, Microsoft, and UNO/OpenOffice flavors).
|
||||
Doxygen also supports the hardware description language VHDL.
|
||||
analyze also supports the hardware description language VHDL.
|
||||
.
|
||||
Three usages:
|
||||
.
|
||||
|
@ -31,9 +31,9 @@ set(CPACK_PACKAGE_DESCRIPTION "Doxygen is the de facto standard tool for generat
|
|||
Also generate include dependency graphs, inheritance diagrams, and collaboration diagrams.
|
||||
Useful to quickly understand code organization in large source distributions.
|
||||
.
|
||||
3. Create normal documentation (as the doxygen user manual and web-site http://doxygen.org/)
|
||||
3. Create normal documentation (as the analyze user manual and web-site http://analyze.org/)
|
||||
.
|
||||
Install the doxygen-latex package to build LaTeX based documents.
|
||||
Install the analyze-latex package to build LaTeX based documents.
|
||||
Install the libclang1 package to use the 'clang assisted parsing'.")
|
||||
|
||||
set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE)
|
||||
|
@ -43,28 +43,28 @@ set(CPACK_RESOURCE_FILE_README ${CMAKE_CURRENT_SOURCE_DIR}/README.md)
|
|||
set(CPACK_RPM_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION})
|
||||
set(CPACK_RPM_PACKAGE_LICENSE "GPLv2")
|
||||
set(CPACK_RPM_PACKAGE_GROUP "Development/Tools")
|
||||
set(CPACK_RPM_PACKAGE_URL "https://doxygen.org/")
|
||||
set(CPACK_RPM_PACKAGE_URL "https://analyze.org/")
|
||||
set(CPACK_RPM_PACKAGE_REQUIRES "/sbin/chkconfig, /bin/mktemp, /bin/rm, /bin/mv, libstdc++ >= 2.96")
|
||||
set(CPACK_RPM_PACKAGE_SUGGESTS "doxygen-latex, doxygen-doc, doxygen-gui, graphviz, libclang1")
|
||||
set(CPACK_RPM_PACKAGE_SUGGESTS "analyze-latex, analyze-doc, analyze-gui, graphviz, libclang1")
|
||||
|
||||
# Variables specific to CPack DEB generator
|
||||
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION})
|
||||
set(CPACK_DEBIAN_PACKAGE_SECTION "devel")
|
||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://doxygen.org/")
|
||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://analyze.org/")
|
||||
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS YES) #set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libclang1-3.6, libgcc1, libstdc++6, libxapian22")
|
||||
set(CPACK_DEBIAN_PACKAGE_SUGGESTS "doxygen-latex, doxygen-doc, doxygen-gui, graphviz, libclang1")
|
||||
set(CPACK_DEBIAN_PACKAGE_SUGGESTS "analyze-latex, analyze-doc, analyze-gui, graphviz, libclang1")
|
||||
set(CPACK_DEBIAN_PACKAGE_CONFLICTS "graphviz (<< 1.12)")
|
||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Matthias Klose <doko@debian.org>") # Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
|
||||
|
||||
# Variables specific to CPack NSIS generator
|
||||
set(CPACK_NSIS_MUI_ICON ${CMAKE_CURRENT_SOURCE_DIR}/addon/doxywizard/doxywizard.ico)
|
||||
set(CPACK_NSIS_URL_INFO_ABOUT "https://doxygen.org/")
|
||||
set(CPACK_NSIS_MUI_ICON ${CMAKE_CURRENT_SOURCE_DIR}/addon/analzwizard/analzwizard.ico)
|
||||
set(CPACK_NSIS_URL_INFO_ABOUT "https://analyze.org/")
|
||||
set(CPACK_NSIS_PACKAGE_NAME ${PROJECT_NAME})
|
||||
|
||||
# Variables specific to CPack DragNDrop generator
|
||||
set(CPACK_DMG_FORMAT "UDBZ") # UDRO=UDIF-Read-Only, UDZO=zlib, UDBZ=bzip2 -- See hdiutil
|
||||
set(CPACK_DMG_VOLUME_NAME ${PROJECT_NAME})
|
||||
set(CPACK_DMG_BACKGROUND_IMAGE ${CMAKE_CURRENT_SOURCE_DIR}/doc/doxygen_logo.eps)
|
||||
set(CPACK_DMG_BACKGROUND_IMAGE ${CMAKE_CURRENT_SOURCE_DIR}/doc/analyze_logo.eps)
|
||||
|
||||
if(WIN32)
|
||||
set(CPACK_GENERATOR "ZIP;NSIS")
|
||||
|
|
|
@ -74,7 +74,7 @@ struct DeflateTrackBothSize: public DeflateTrackTagBase{};
|
|||
|
||||
|
||||
/// The rest of the file is just for the curious about implementation.
|
||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||
#ifndef analyze_SHOULD_SKIP_THIS
|
||||
namespace gunzip_ns
|
||||
{
|
||||
//#define DO_DEFDB_DUMPING
|
||||
|
@ -1427,4 +1427,4 @@ auto Deflate(T&&... args)
|
|||
return gunzip_ns::DeflateInputDispatch<0>(gunzip_ns::dummy{}, std::forward<T>(args)...);
|
||||
}
|
||||
|
||||
#endif /* #ifndef DOXYGEN_SHOULD_SKIP_THIS */
|
||||
#endif /* #ifndef analyze_SHOULD_SKIP_THIS */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Doxygen's jquery.js script is composed of minified versions of the following
|
||||
analyze's jquery.js script is composed of minified versions of the following
|
||||
packages:
|
||||
- jquery 3.6.0: https://jquery.com/download/
|
||||
- jquery.ui 1.13.2: https://github.com/jquery/jquery-ui
|
||||
|
@ -11,10 +11,10 @@ packages:
|
|||
- jquery.touchpunch: 0.2.3: http://touchpunch.furf.com/ + fix for issue 303
|
||||
- jquery.smartmenus: 1.1.0: https://www.smartmenus.org/
|
||||
|
||||
The Makefile will built the jquery.js files used by doxygen.
|
||||
The Makefile will built the jquery.js files used by analyze.
|
||||
|
||||
Note that there is a performance issue in the default powertip version.
|
||||
See https://github.com/stevenbenner/jquery-powertip/issues/178
|
||||
Until that is fixed a modified version is shipped with doxygen. This version
|
||||
removes the "destroy" functionality which was not used by doxygen anyway.
|
||||
Until that is fixed a modified version is shipped with analyze. This version
|
||||
removes the "destroy" functionality which was not used by analyze anyway.
|
||||
|
||||
|
|
|
@ -711,7 +711,7 @@ static unsigned encodeLZ77_brute(uivector* out, const unsigned char* in, size_t
|
|||
/*using pointer instead of vector for input makes it faster when NOT using optimization when compiling; no influence if optimization is used*/
|
||||
for(pos = 0; pos < size; pos++)
|
||||
{
|
||||
/*Phase 1: doxygen images often have long runs of the same color, try to find them*/
|
||||
/*Phase 1: analyze images often have long runs of the same color, try to find them*/
|
||||
const int minLength = 4; // Minimum length for a run to make sense
|
||||
|
||||
if(pos < size - minLength * 4)
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
Issue 6880 (https://github.com/doxygen/doxygen/issues/6880) required fixes to the mscgen tool.
|
||||
Since this tool is no longer maintained, it was decided to build mscgen as part of doxygen.
|
||||
Issue 6880 (https://github.com/analyze/analyze/issues/6880) required fixes to the mscgen tool.
|
||||
Since this tool is no longer maintained, it was decided to build mscgen as part of analyze.
|
||||
This directory contains the mscgen code.
|
||||
|
||||
Since mscgen depends on libgd for PNG output, a part of the gd library is included as well.
|
||||
Instead of using libpng as PNG generator, the lodepng library is used. This PNG library was
|
||||
already part of doxygen. Module gd_lodepng.c was added to make libgd use lodepng.
|
||||
already part of analyze. Module gd_lodepng.c was added to make libgd use lodepng.
|
||||
|
||||
Original copyright statement follows:
|
||||
|
||||
|
|
|
@ -247,7 +247,7 @@ void lex_resetparser()
|
|||
lex_utf8 = FALSE;
|
||||
#ifdef FLEX_DEBUG
|
||||
// in case of a debug build stll disable debug information
|
||||
// as it disrupts the normal doxygen output
|
||||
// as it disrupts the normal analyze output
|
||||
yy_flex_debug = 0;
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -4,4 +4,4 @@ This directory contains the "amalgamation" sources of sqlite3 version 3.42.0 as
|
|||
can be found here: https://www.sqlite.org/download.html
|
||||
|
||||
Sqlite3 is used when option `GENERATE_SQLITE3` is enabled to generate sqlite3 database
|
||||
with the symbols found a project parsed by doxygen.
|
||||
with the symbols found a project parsed by analyze.
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
Doxygen's svg.min.js script is composed of minified versions of the following
|
||||
analyze's svg.min.js script is composed of minified versions of the following
|
||||
packages:
|
||||
- svgdotjs 3.1.2: https://github.com/svgdotjs/svg.js
|
||||
- svgpan-1.2mod.js 1.2: https://github.com/aleofreddi/svgpan
|
||||
|
||||
The Makefile will built the svg.min.js file used by doxygen.
|
||||
The Makefile will built the svg.min.js file used by analyze.
|
||||
|
||||
Note that svgpan.js is heavily modified for use with doxygen,
|
||||
Note that svgpan.js is heavily modified for use with analyze,
|
||||
so it cannot easily be upgraded to newer versions.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
@licstart The following is the entire license notice for the JavaScript code in this file.
|
||||
The code below is based on SVGPan Library 1.2 and was modified for doxygen
|
||||
The code below is based on SVGPan Library 1.2 and was modified for analyze
|
||||
to support both zooming and panning via the mouse and via embedded buttons.
|
||||
|
||||
This code is licensed under the following BSD license:
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
# for any purpose. It is provided "as is" without express or implied warranty.
|
||||
# See the GNU General Public License for more details.
|
||||
#
|
||||
# Documents produced by Doxygen are derivative works derived from the
|
||||
# Documents produced by analyze are derivative works derived from the
|
||||
# input used in their production; they are not affected by this license.
|
||||
|
||||
include (${TOP}/cmake/version.cmake)
|
||||
|
@ -17,26 +17,26 @@ string(TIMESTAMP YEAR "%Y")
|
|||
|
||||
# Always install man pages
|
||||
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/man)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/doc/doxygen.1 ${PROJECT_BINARY_DIR}/man/doxygen.1)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/doc/doxywizard.1 ${PROJECT_BINARY_DIR}/man/doxywizard.1)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/doc/doxysearch.1 ${PROJECT_BINARY_DIR}/man/doxysearch.1)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR}/man/doxyindexer.1)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/doc/analyze.1 ${PROJECT_BINARY_DIR}/man/analyze.1)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/doc/analzwizard.1 ${PROJECT_BINARY_DIR}/man/analzwizard.1)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/doc/analzsearch.1 ${PROJECT_BINARY_DIR}/man/analzsearch.1)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/doc/analzindexer.1 ${PROJECT_BINARY_DIR}/man/analzindexer.1)
|
||||
|
||||
|
||||
include(GNUInstallDirs)
|
||||
install(FILES
|
||||
"${PROJECT_BINARY_DIR}/man/doxygen.1"
|
||||
"${PROJECT_BINARY_DIR}/man/analyze.1"
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
|
||||
|
||||
if (build_search)
|
||||
install(FILES
|
||||
"${PROJECT_BINARY_DIR}/man/doxyindexer.1"
|
||||
"${PROJECT_BINARY_DIR}/man/doxysearch.1"
|
||||
"${PROJECT_BINARY_DIR}/man/analzindexer.1"
|
||||
"${PROJECT_BINARY_DIR}/man/analzsearch.1"
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
|
||||
endif()
|
||||
if (build_wizard)
|
||||
install(FILES
|
||||
"${PROJECT_BINARY_DIR}/man/doxywizard.1"
|
||||
"${PROJECT_BINARY_DIR}/man/analzwizard.1"
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
|
||||
endif()
|
||||
|
||||
|
@ -50,15 +50,15 @@ find_program(EPSTOPDF NAMES epstopdf )
|
|||
find_program(PDFLATEX NAMES pdflatex )
|
||||
find_program(MAKEINDEX NAMES makeindex )
|
||||
|
||||
if (doxygen_BINARY_DIR)
|
||||
set(DOXYGEN_EXECUTABLE ${doxygen_BINARY_DIR}/bin/doxygen)
|
||||
if (analyze_BINARY_DIR)
|
||||
set(analyze_EXECUTABLE ${analyze_BINARY_DIR}/bin/analyze)
|
||||
else()
|
||||
# when building only the doxygen_doc, from the doc/ directory, the
|
||||
# doxygen project variables are unknown so look for doxygen in PATH
|
||||
find_package(Doxygen)
|
||||
# when building only the analyze_doc, from the doc/ directory, the
|
||||
# analyze project variables are unknown so look for analyze in PATH
|
||||
find_package(analyze)
|
||||
endif()
|
||||
|
||||
set(DOC_INSTALL_DIR "share/doc/packages/doxygen" CACHE STRING "Relative path where to install the documentation")
|
||||
set(DOC_INSTALL_DIR "share/doc/packages/analyze" CACHE STRING "Relative path where to install the documentation")
|
||||
set(DOC_FILES
|
||||
arch.dox
|
||||
archoverview.eps
|
||||
|
@ -71,21 +71,21 @@ set(DOC_FILES
|
|||
diagrams.dox
|
||||
docblocks.dox
|
||||
additional.dox
|
||||
Doxyfile
|
||||
doxygen_manual.css
|
||||
doxygen_manual_chm.css
|
||||
doxygen_usage.dox
|
||||
doxywizard_expert.png
|
||||
doxywizard_main.png
|
||||
doxywizard_menu_file.png
|
||||
doxywizard_menu_settings.png
|
||||
doxywizard_menu_help.png
|
||||
doxywizard_page1.png
|
||||
doxywizard_page2.png
|
||||
doxywizard_page3.png
|
||||
doxywizard_page4.png
|
||||
doxywizard_run.png
|
||||
doxywizard_usage.dox
|
||||
analzfile
|
||||
analyze_manual.css
|
||||
analyze_manual_chm.css
|
||||
analyze_usage.dox
|
||||
analzwizard_expert.png
|
||||
analzwizard_main.png
|
||||
analzwizard_menu_file.png
|
||||
analzwizard_menu_settings.png
|
||||
analzwizard_menu_help.png
|
||||
analzwizard_page1.png
|
||||
analzwizard_page2.png
|
||||
analzwizard_page3.png
|
||||
analzwizard_page4.png
|
||||
analzwizard_run.png
|
||||
analzwizard_usage.dox
|
||||
expert_bool.png
|
||||
expert_enum.png
|
||||
expert_int.png
|
||||
|
@ -133,7 +133,7 @@ set(DOC_FILES
|
|||
maintainers.txt
|
||||
translator.py
|
||||
smile.png
|
||||
doxygen_logo.svg
|
||||
analyze_logo.svg
|
||||
)
|
||||
|
||||
set(DOC_FILES_IMAGES
|
||||
|
@ -146,7 +146,7 @@ set(DOC_FILES_IMAGES
|
|||
|
||||
if (build_doc_chm)
|
||||
set(DOC_FILES_CHM
|
||||
Doxyfile_chm
|
||||
analzfile_chm
|
||||
)
|
||||
endif ()
|
||||
|
||||
|
@ -167,8 +167,8 @@ endforeach()
|
|||
|
||||
foreach (f ${DOC_FILES_IMAGES})
|
||||
add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/doc/images/${f}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/addon/doxywizard/images/${f} ${PROJECT_BINARY_DIR}/doc/images/
|
||||
DEPENDS ${PROJECT_SOURCE_DIR}/addon/doxywizard/images/${f}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/addon/analzwizard/images/${f} ${PROJECT_BINARY_DIR}/doc/images/
|
||||
DEPENDS ${PROJECT_SOURCE_DIR}/addon/analzwizard/images/${f}
|
||||
)
|
||||
set_source_files_properties(${PROJECT_BINARY_DIR}/doc/images/${f} PROPERTIES GENERATED 1)
|
||||
list(APPEND OUT_DOC_FILES "${PROJECT_BINARY_DIR}/doc/images/${f}")
|
||||
|
@ -184,16 +184,16 @@ list(APPEND OUT_DOC_CHM_FILES "${PROJECT_BINARY_DIR}/doc/${f}")
|
|||
endforeach()
|
||||
|
||||
configure_file(${PROJECT_SOURCE_DIR}/doc/manual.sty ${PROJECT_BINARY_DIR}/doc/manual.sty COPYONLY)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/doc/doxygen_manual.tex ${PROJECT_BINARY_DIR}/doc/doxygen_manual.tex COPYONLY)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/templates/icon/doxygen.ico ${PROJECT_BINARY_DIR}/doc/doxygen.ico COPYONLY)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/doc/analyze_manual.tex ${PROJECT_BINARY_DIR}/doc/analyze_manual.tex COPYONLY)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/templates/icon/analyze.ico ${PROJECT_BINARY_DIR}/doc/analyze.ico COPYONLY)
|
||||
|
||||
# Call the main page "Introduction" in LaTeX, which is more appropriate for that format.
|
||||
set(MAINPAGE_TITLE Doxygen)
|
||||
set(MAINPAGE_TITLE analyze)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/doc/index.dox ${PROJECT_BINARY_DIR}/doc/index_html.dox)
|
||||
set(MAINPAGE_TITLE Introduction)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/doc/index.dox ${PROJECT_BINARY_DIR}/doc/index_latex.dox)
|
||||
|
||||
# doc/language.dox (see tag Doxyfile:INPUT)
|
||||
# doc/language.dox (see tag analzfile:INPUT)
|
||||
add_custom_command(
|
||||
COMMAND ${Python_EXECUTABLE} translator.py --doc ${PROJECT_SOURCE_DIR}
|
||||
DEPENDS ${PROJECT_SOURCE_DIR}/VERSION ${PROJECT_SOURCE_DIR}/doc/maintainers.txt ${PROJECT_SOURCE_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py ${LANG_FILES}
|
||||
|
@ -202,7 +202,7 @@ add_custom_command(
|
|||
)
|
||||
set_source_files_properties(language.dox PROPERTIES GENERATED 1)
|
||||
|
||||
# doc/config.dox (see tag Doxyfile:INPUT)
|
||||
# doc/config.dox (see tag analzfile:INPUT)
|
||||
add_custom_command(
|
||||
COMMAND ${Python_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.dox
|
||||
DEPENDS ${TOP}/src/config.xml ${TOP}/src/configgen.py
|
||||
|
@ -211,39 +211,39 @@ add_custom_command(
|
|||
)
|
||||
set_source_files_properties(config.dox PROPERTIES GENERATED 1)
|
||||
################################################################################
|
||||
add_custom_target(run_doxygen
|
||||
add_custom_target(run_analyze
|
||||
COMMENT "Generating Latex and HTML documentation."
|
||||
COMMAND ${CMAKE_COMMAND} -E env VERSION=${VERSION} INDEX_DOC=index_html.dox GENERATE_HTML=YES GENERATE_LATEX=NO ${DOXYGEN_EXECUTABLE}
|
||||
COMMAND ${CMAKE_COMMAND} -E env VERSION=${VERSION} INDEX_DOC=index_latex.dox GENERATE_HTML=NO GENERATE_LATEX=YES ${DOXYGEN_EXECUTABLE}
|
||||
COMMAND ${CMAKE_COMMAND} -E env VERSION=${VERSION} INDEX_DOC=index_html.dox GENERATE_HTML=YES GENERATE_LATEX=NO ${analyze_EXECUTABLE}
|
||||
COMMAND ${CMAKE_COMMAND} -E env VERSION=${VERSION} INDEX_DOC=index_latex.dox GENERATE_HTML=NO GENERATE_LATEX=YES ${analyze_EXECUTABLE}
|
||||
DEPENDS ${PROJECT_BINARY_DIR}/doc/language.dox ${PROJECT_BINARY_DIR}/doc/config.dox
|
||||
DEPENDS ${OUT_DOC_FILES}
|
||||
DEPENDS examples
|
||||
DEPENDS doxygen
|
||||
DEPENDS analyze
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
|
||||
)
|
||||
|
||||
add_custom_target(doxygen_pdf
|
||||
COMMENT "Generating Doxygen Manual PDF."
|
||||
add_custom_target(analyze_pdf
|
||||
COMMENT "Generating analyze Manual PDF."
|
||||
COMMAND ${CMAKE_COMMAND} -E remove refman.tex
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc/manual.sty .
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/doc/doxygen_logo.pdf .
|
||||
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/latex ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/doc/replace_version.py "${PROJECT_BINARY_DIR}/doc/doxygen_manual.tex" "${PROJECT_BINARY_DIR}/latex/doxygen_manual.tex" "${VERSION}"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/doc/analyze_logo.pdf .
|
||||
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/latex ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/doc/replace_version.py "${PROJECT_BINARY_DIR}/doc/analyze_manual.tex" "${PROJECT_BINARY_DIR}/latex/analyze_manual.tex" "${VERSION}"
|
||||
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/latex ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/doc/replace_version.py "${PROJECT_BINARY_DIR}/doc/manual.sty" "${PROJECT_BINARY_DIR}/latex/manual.sty" "${VERSION}"
|
||||
COMMAND ${PDFLATEX} -shell-escape doxygen_manual.tex || (${CMAKE_COMMAND} -E echo "See ${PROJECT_BINARY_DIR}/latex/doxygen_manual.log for error messages" && ${CMAKE_COMMAND} -E false)
|
||||
COMMAND ${MAKEINDEX} doxygen_manual.idx
|
||||
COMMAND ${PDFLATEX} -shell-escape doxygen_manual.tex || (${CMAKE_COMMAND} -E echo "See ${PROJECT_BINARY_DIR}/latex/doxygen_manual.log for error messages" && ${CMAKE_COMMAND} -E false)
|
||||
COMMAND ${MAKEINDEX} doxygen_manual.idx
|
||||
COMMAND ${PDFLATEX} -shell-escape doxygen_manual.tex || (${CMAKE_COMMAND} -E echo "See ${PROJECT_BINARY_DIR}/latex/doxygen_manual.log for error messages" && ${CMAKE_COMMAND} -E false)
|
||||
DEPENDS ${PROJECT_BINARY_DIR}/doc/manual.sty ${PROJECT_SOURCE_DIR}/doc/doxygen_logo.pdf
|
||||
DEPENDS run_doxygen ${PROJECT_SOURCE_DIR}/doc/replace_version.py ${PROJECT_BINARY_DIR}/doc/doxygen_manual.tex
|
||||
COMMAND ${PDFLATEX} -shell-escape analyze_manual.tex || (${CMAKE_COMMAND} -E echo "See ${PROJECT_BINARY_DIR}/latex/analyze_manual.log for error messages" && ${CMAKE_COMMAND} -E false)
|
||||
COMMAND ${MAKEINDEX} analyze_manual.idx
|
||||
COMMAND ${PDFLATEX} -shell-escape analyze_manual.tex || (${CMAKE_COMMAND} -E echo "See ${PROJECT_BINARY_DIR}/latex/analyze_manual.log for error messages" && ${CMAKE_COMMAND} -E false)
|
||||
COMMAND ${MAKEINDEX} analyze_manual.idx
|
||||
COMMAND ${PDFLATEX} -shell-escape analyze_manual.tex || (${CMAKE_COMMAND} -E echo "See ${PROJECT_BINARY_DIR}/latex/analyze_manual.log for error messages" && ${CMAKE_COMMAND} -E false)
|
||||
DEPENDS ${PROJECT_BINARY_DIR}/doc/manual.sty ${PROJECT_SOURCE_DIR}/doc/analyze_logo.pdf
|
||||
DEPENDS run_analyze ${PROJECT_SOURCE_DIR}/doc/replace_version.py ${PROJECT_BINARY_DIR}/doc/analyze_manual.tex
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/latex
|
||||
)
|
||||
add_custom_target(docs
|
||||
DEPENDS ${PROJECT_BINARY_DIR}/man/doxygen.1
|
||||
${PROJECT_BINARY_DIR}/man/doxywizard.1
|
||||
${PROJECT_BINARY_DIR}/man/doxysearch.1
|
||||
${PROJECT_BINARY_DIR}/man/doxyindexer.1
|
||||
doxygen_pdf
|
||||
DEPENDS ${PROJECT_BINARY_DIR}/man/analyze.1
|
||||
${PROJECT_BINARY_DIR}/man/analzwizard.1
|
||||
${PROJECT_BINARY_DIR}/man/analzsearch.1
|
||||
${PROJECT_BINARY_DIR}/man/analzindexer.1
|
||||
analyze_pdf
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
|
@ -252,44 +252,44 @@ add_custom_target(docs
|
|||
if (build_doc_chm)
|
||||
add_custom_target(docs_chm
|
||||
COMMENT "Generating CHM documentation."
|
||||
COMMAND ${CMAKE_COMMAND} -E env VERSION=${VERSION} HTML_HELP_COMPILER=${HTML_HELP_COMPILER} INDEX_DOC=index_html.dox ${DOXYGEN_EXECUTABLE} Doxyfile_chm
|
||||
COMMAND ${CMAKE_COMMAND} -E env VERSION=${VERSION} HTML_HELP_COMPILER=${HTML_HELP_COMPILER} INDEX_DOC=index_html.dox ${analyze_EXECUTABLE} analzfile_chm
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_BINARY_DIR}/chm/html/examples ${PROJECT_BINARY_DIR}/chm/examples
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/chm/index.hhp ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "import os" > ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "for root, dirs, files in os.walk('examples'):" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
|
||||
COMMAND ${CMAKE_COMMAND} -E echo " for file in files:" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
|
||||
COMMAND ${CMAKE_COMMAND} -E echo " if file.endswith('.html') or file.endswith('.png') or file.endswith('.svg') or file.endswith('.css') or file.endswith('.gif'):" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
|
||||
COMMAND ${CMAKE_COMMAND} -E echo " print(os.path.join(root, file))" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
|
||||
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${Python_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp
|
||||
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm "${HTML_HELP_COMPILER}" doxygen_manual.hhp || echo > nul
|
||||
COMMAND ${CMAKE_COMMAND} -E rename ${PROJECT_BINARY_DIR}/chm/index.chm ${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/chm/index.hhp ${PROJECT_BINARY_DIR}/chm/analyze_manual.hhp
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "import os" > ${PROJECT_BINARY_DIR}/chm/analyze_manual_examples_chm.py
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "for root, dirs, files in os.walk('examples'):" >> ${PROJECT_BINARY_DIR}/chm/analyze_manual_examples_chm.py
|
||||
COMMAND ${CMAKE_COMMAND} -E echo " for file in files:" >> ${PROJECT_BINARY_DIR}/chm/analyze_manual_examples_chm.py
|
||||
COMMAND ${CMAKE_COMMAND} -E echo " if file.endswith('.html') or file.endswith('.png') or file.endswith('.svg') or file.endswith('.css') or file.endswith('.gif'):" >> ${PROJECT_BINARY_DIR}/chm/analyze_manual_examples_chm.py
|
||||
COMMAND ${CMAKE_COMMAND} -E echo " print(os.path.join(root, file))" >> ${PROJECT_BINARY_DIR}/chm/analyze_manual_examples_chm.py
|
||||
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${Python_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/analyze_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/analyze_manual.hhp
|
||||
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm "${HTML_HELP_COMPILER}" analyze_manual.hhp || echo > nul
|
||||
COMMAND ${CMAKE_COMMAND} -E rename ${PROJECT_BINARY_DIR}/chm/index.chm ${PROJECT_BINARY_DIR}/chm/analyze_manual.chm
|
||||
DEPENDS ${PROJECT_BINARY_DIR}/doc/language.dox ${PROJECT_BINARY_DIR}/doc/config.dox
|
||||
DEPENDS ${OUT_DOC_FILES}
|
||||
DEPENDS ${OUT_DOC_CHM_FILES}
|
||||
DEPENDS examples_chm
|
||||
DEPENDS doxygen
|
||||
DEPENDS analyze
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
|
||||
)
|
||||
endif ()
|
||||
################################################################################
|
||||
install(CODE "if(NOT EXISTS \"${PROJECT_BINARY_DIR}/latex/doxygen_manual.pdf\")
|
||||
install(CODE "if(NOT EXISTS \"${PROJECT_BINARY_DIR}/latex/analyze_manual.pdf\")
|
||||
message(FATAL_ERROR \"\nTerminating:\n documentation has not been generated, \n create documentation by using the 'docs' target followed by an 'install'\n\")
|
||||
endif()"
|
||||
)
|
||||
|
||||
install(FILES
|
||||
"${PROJECT_BINARY_DIR}/latex/doxygen_manual.pdf"
|
||||
"${PROJECT_BINARY_DIR}/latex/analyze_manual.pdf"
|
||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
|
||||
)
|
||||
|
||||
if (build_doc_chm)
|
||||
install(CODE "if(NOT EXISTS \"${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm\")
|
||||
install(CODE "if(NOT EXISTS \"${PROJECT_BINARY_DIR}/chm/analyze_manual.chm\")
|
||||
message(FATAL_ERROR \"\nTerminating:\n CHM documentation has not been generated, \n create CHM documentation by using the 'docs_chm' target followed by an 'install'\n\")
|
||||
endif()"
|
||||
)
|
||||
|
||||
install(FILES
|
||||
"${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm"
|
||||
"${PROJECT_BINARY_DIR}/chm/analyze_manual.chm"
|
||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
|
||||
)
|
||||
endif ()
|
||||
|
|
14
doc/Doxyfile
|
@ -9,12 +9,12 @@
|
|||
# for any purpose. It is provided "as is" without express or implied warranty.
|
||||
# See the GNU General Public License for more details.
|
||||
#
|
||||
# Documents produced by Doxygen are derivative works derived from the
|
||||
# Documents produced by analyze are derivative works derived from the
|
||||
# input used in their production; they are not affected by this license.
|
||||
|
||||
PROJECT_NAME = "Manual"
|
||||
PROJECT_LOGO = doxygen_logo.svg height=35px
|
||||
PROJECT_ICON = ../doc/doxygen.ico
|
||||
PROJECT_LOGO = analyze_logo.svg height=35px
|
||||
PROJECT_ICON = ../doc/analyze.ico
|
||||
OUTPUT_DIRECTORY = ..
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
|
@ -41,7 +41,7 @@ IMAGE_PATH = . images
|
|||
INPUT = $(INDEX_DOC) install.dox starting.dox docblocks.dox additional.dox \
|
||||
markdown.dox lists.dox grouping.dox formulas.dox tables.dox diagrams.dox preprocessing.dox \
|
||||
autolink.dox output.dox searching.dox extsearch.dox customize.dox custcmd.dox \
|
||||
external.dox faq.dox trouble.dox features.dox doxygen_usage.dox doxywizard_usage.dox \
|
||||
external.dox faq.dox trouble.dox features.dox analyze_usage.dox analzwizard_usage.dox \
|
||||
config.dox commands.dox htmlcmds.dox xmlcmds.dox emojisup.dox language.dox \
|
||||
perlmod.dox arch.dox changelog.dox
|
||||
FILE_PATTERNS = *.cpp *.h
|
||||
|
@ -53,8 +53,8 @@ SEARCHENGINE = YES
|
|||
PDF_HYPERLINKS = YES
|
||||
USE_PDFLATEX = YES
|
||||
STRIP_CODE_COMMENTS = NO
|
||||
HTML_EXTRA_STYLESHEET = doxygen_manual.css
|
||||
HTML_EXTRA_FILES = doxygen_logo.svg
|
||||
HTML_EXTRA_STYLESHEET = analyze_manual.css
|
||||
HTML_EXTRA_FILES = analyze_logo.svg
|
||||
HTML_EXTRA_FILES += translator_report.txt
|
||||
ALIASES = LaTeX="\f({\LaTeX}\f)"
|
||||
ALIASES += TeX="\f({\TeX}\f)"
|
||||
|
@ -66,4 +66,4 @@ LATEX_BATCHMODE = YES
|
|||
LATEX_EXTRA_STYLESHEET = manual.sty
|
||||
LATEX_EMOJI_DIRECTORY = ../doc
|
||||
WARN_AS_ERROR = FAIL_ON_WARNINGS
|
||||
HTML_PROJECT_COOKIE = doxygen_docs
|
||||
HTML_PROJECT_COOKIE = analyze_docs
|
||||
|
|
|
@ -7,10 +7,10 @@
|
|||
# for any purpose. It is provided "as is" without express or implied warranty.
|
||||
# See the GNU General Public License for more details.
|
||||
#
|
||||
# Documents produced by Doxygen are derivative works derived from the
|
||||
# Documents produced by analyze are derivative works derived from the
|
||||
# input used in their production; they are not affected by this license.
|
||||
|
||||
@INCLUDE = Doxyfile
|
||||
@INCLUDE = analzfile
|
||||
GENERATE_LATEX = NO
|
||||
HTML_OUTPUT = chm
|
||||
HTML_COPY_CLIPBOARD = NO
|
||||
|
@ -21,8 +21,8 @@
|
|||
CHM_FILE = index.chm
|
||||
BINARY_TOC = YES
|
||||
FULL_SIDEBAR = NO
|
||||
PROJECT_NAME = "Doxygen"
|
||||
PROJECT_NAME = "analyze"
|
||||
PROJECT_LOGO =
|
||||
HTML_COLORSTYLE = LIGHT
|
||||
SEARCHENGINE = NO
|
||||
HTML_EXTRA_STYLESHEET = doxygen_manual_chm.css
|
||||
HTML_EXTRA_STYLESHEET = analyze_manual_chm.css
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
* for any purpose. It is provided "as is" without express or implied warranty.
|
||||
* See the GNU General Public License for more details.
|
||||
*
|
||||
* Documents produced by Doxygen are derivative works derived from the
|
||||
* Documents produced by analyze are derivative works derived from the
|
||||
* input used in their production; they are not affected by this license.
|
||||
*
|
||||
*/
|
||||
|
@ -17,13 +17,13 @@
|
|||
|
||||
\section custom_pages Custom Pages
|
||||
|
||||
Doxygen can be also be used to create custom pages that are not part of the API of your library/program.
|
||||
analyze can be also be used to create custom pages that are not part of the API of your library/program.
|
||||
The purpose of such pages is to enrich your documentation with anything else that you think the user may find useful.
|
||||
|
||||
To create custom pages, use one of the supported file extension: `.dox`, `.txt`, or `.md`.
|
||||
Doxygen will treat a .dox or .txt file as a C/C++ source file, and a .md file as a Markdown file.
|
||||
analyze will treat a .dox or .txt file as a C/C++ source file, and a .md file as a Markdown file.
|
||||
|
||||
For a .dox or .txt file, one can use a single Doxygen comment, like so:
|
||||
For a .dox or .txt file, one can use a single analyze comment, like so:
|
||||
|
||||
\c manual/index.dox
|
||||
\code
|
||||
|
@ -34,18 +34,18 @@ For a .dox or .txt file, one can use a single Doxygen comment, like so:
|
|||
*/
|
||||
\endcode
|
||||
|
||||
You'll note that the \ref cmdmainpage "\\mainpage" command was used, which tells Doxygen to use this page as, well, the main page.
|
||||
You'll note that the \ref cmdmainpage "\\mainpage" command was used, which tells analyze to use this page as, well, the main page.
|
||||
For other pages, prefix them with the \ref cmdpage "\\page" command.
|
||||
|
||||
By default Doxygen will not know about these custom files, so we'll need to let it know through the `INPUT` attribute in our
|
||||
Doxyfile. For the about example add this line to your Doxyfile:
|
||||
By default analyze will not know about these custom files, so we'll need to let it know through the `INPUT` attribute in our
|
||||
analzfile. For the about example add this line to your analzfile:
|
||||
|
||||
\code
|
||||
INPUT = manual/index.dox
|
||||
\endcode
|
||||
|
||||
Next, we may want to add the instructions on how to build the project, so we create `manual/building/index.dox`.
|
||||
As you read a bit more of the documentation, you will find out that Doxygen supports a
|
||||
As you read a bit more of the documentation, you will find out that analyze supports a
|
||||
subset of the \ref htmlcmds "HTML" tags, so we can write the following:
|
||||
|
||||
\code
|
||||
|
@ -112,7 +112,7 @@ This is easy enough to set up, turn it on with
|
|||
GENERATE_TREEVIEW = YES
|
||||
\endcode
|
||||
|
||||
In your `Doxyfile`.
|
||||
In your `analzfile`.
|
||||
|
||||
You'll recall that our \c manual/index.dox file is pretty bland, without any links pointing anywhere,
|
||||
by using the \ref cmdref "\\ref" command we can add links between various topics, and doing so will automatically
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
.TH analyze "1" "@DATE@" "analyze @VERSION@" "User Commands"
|
||||
.SH NAME
|
||||
analyze \- documentation system for various programming languages
|
||||
.SH DESCRIPTION
|
||||
analyze is a documentation system for C++, C, Java, Objective-C, IDL
|
||||
(Corba and Microsoft flavors), Fortran, Python, VHDL and to some extent PHP, C#, and D.
|
||||
.PP
|
||||
You can use analyze in a number of ways:
|
||||
.TP
|
||||
1) Use analyze to generate a template configuration file*:
|
||||
.IP
|
||||
analyze [-s] \fB\-g\fR [configName]
|
||||
.TP
|
||||
2) Use analyze to update an old configuration file*:
|
||||
.IP
|
||||
analyze [-s] \fB\-u\fR [configName]
|
||||
.TP
|
||||
3) Use analyze to generate documentation using an existing configuration file*:
|
||||
.IP
|
||||
analyze [configName]
|
||||
.TP
|
||||
4) Use analyze to generate a template file controlling the layout of the generated documentation:
|
||||
.IP
|
||||
analyze \fB\-l\fR [layoutFileName]
|
||||
.IP
|
||||
.RS 0
|
||||
In case layoutFileName is omitted analyzeLayout.xml will be used as filename.
|
||||
If - is used for layoutFileName analyze will write to standard output.
|
||||
.RE
|
||||
.TP
|
||||
5) Use analyze to generate a template style sheet file for RTF, HTML or Latex.
|
||||
.IP
|
||||
RTF:
|
||||
analyze \fB\-w\fR rtf styleSheetFile
|
||||
.IP
|
||||
HTML:
|
||||
analyze \fB\-w\fR html headerFile footerFile styleSheetFile [configFile]
|
||||
.IP
|
||||
LaTeX: analyze \fB\-w\fR latex headerFile footerFile styleSheetFile [configFile]
|
||||
.TP
|
||||
6) Use analyze to generate an rtf extensions file
|
||||
.IP
|
||||
RTF:
|
||||
analyze \fB\-e\fR rtf extensionsFile
|
||||
.IP
|
||||
.RS 0
|
||||
If - is used for extensionsFile analyze will write to standard output.
|
||||
.RE
|
||||
.TP
|
||||
7) Use analyze to compare the used configuration file with the template configuration file
|
||||
.IP
|
||||
analyze \fB\-x\fR [configFile]
|
||||
.TP
|
||||
Use analyze to compare the used configuration file with the template configuration file
|
||||
.RS 0
|
||||
without replacing the environment variables or CMake type replacement variables
|
||||
.RE
|
||||
.IP
|
||||
analyze \fB\-x_noenv\fR [configFile]
|
||||
.TP
|
||||
8) Use analyze to show a list of built-in emojis.
|
||||
.IP
|
||||
analyze \fB\-f\fR emoji outputFileName
|
||||
.IP
|
||||
.RS 0
|
||||
If - is used for outputFileName analyze will write to standard output.
|
||||
.RE
|
||||
.PP
|
||||
.RS 0
|
||||
*) If \fB\-s\fR is specified the comments of the configuration items in the config file will be omitted.
|
||||
If configName is omitted 'analzfile' will be used as a default.
|
||||
If - is used for configFile analyze will write / read the configuration to /from standard output / input.
|
||||
.RE
|
||||
.PP
|
||||
If \fB\-q\fR is used for a analyze documentation run, analyze will see this as if QUIET=YES has been set.
|
||||
.PP
|
||||
\fB\-v\fR print version string, \fB\-V\fR print extended version information
|
||||
.PP
|
||||
\fB\-h\fR,\fB\-?\fR prints usage help information
|
||||
.PP
|
||||
analyze \fB\-d\fR prints additional usage flags for debugging purposes
|
||||
.PP
|
||||
.SH AUTHOR
|
||||
analyze version @VERSION@, Copyright Dimitri van Heesch 1997-@YEAR@
|
||||
.SH SEE ALSO
|
||||
analzwizard(1).
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
@ -9,14 +9,14 @@
|
|||
% for any purpose. It is provided "as is" without express or implied warranty.
|
||||
% See the GNU General Public License for more details.
|
||||
%
|
||||
% Documents produced by Doxygen are derivative works derived from the
|
||||
% Documents produced by analyze are derivative works derived from the
|
||||
% input used in their production; they are not affected by this license.
|
||||
|
||||
\batchmode
|
||||
\pdfminorversion=7
|
||||
\pdfsuppresswarningpagegroup=1
|
||||
\documentclass{book}
|
||||
%% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package
|
||||
%% moved from analyze.sty due to workaround for LaTex 2019 version and unmaintained tabu package
|
||||
\usepackage{ifthen}
|
||||
\ifx\requestedLaTeXdate\undefined
|
||||
\usepackage{array}
|
||||
|
@ -72,39 +72,39 @@
|
|||
\usepackage{courier}
|
||||
\usepackage[titles]{tocloft}
|
||||
\usepackage{amssymb}
|
||||
\usepackage{doxygen}
|
||||
\usepackage{analyze}
|
||||
\usepackage{manual}
|
||||
%%
|
||||
%gave problems when in doxygen.sty
|
||||
%gave problems when in analyze.sty
|
||||
\makeatletter
|
||||
\newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@}
|
||||
\makeatother
|
||||
%%
|
||||
% unfortunately constructs like:
|
||||
% \renewcommand{\doxysection}[1]{\doxysubsection{##1}}
|
||||
% using values from book.cls (see also doxygen.sty) and redefining sections to correct level.
|
||||
% \renewcommand{\analzsection}[1]{\analzsubsection{##1}}
|
||||
% using values from book.cls (see also analyze.sty) and redefining sections to correct level.
|
||||
\makeatletter
|
||||
\newenvironment{DoxygenSubAppendix}{%
|
||||
\renewcommand\doxysection{\@startsection{subsection}{2}{\z@}%
|
||||
\newenvironment{analyzeSubAppendix}{%
|
||||
\renewcommand\analzsection{\@startsection{subsection}{2}{\z@}%
|
||||
{-3.25ex\@plus -1ex \@minus -.2ex}%
|
||||
{1.5ex \@plus .2ex}%
|
||||
{\raggedright\normalfont\large\bfseries}}
|
||||
\renewcommand\doxysubsection{\@startsection{subsubsection}{3}{\z@}%
|
||||
\renewcommand\analzsubsection{\@startsection{subsubsection}{3}{\z@}%
|
||||
{-3.25ex\@plus -1ex \@minus -.2ex}%
|
||||
{1.5ex \@plus .2ex}%
|
||||
{\raggedright\normalfont\normalsize\bfseries}}
|
||||
\renewcommand\doxysubsubsection{\@startsection{paragraph}{8}{\z@}%
|
||||
\renewcommand\analzsubsubsection{\@startsection{paragraph}{8}{\z@}%
|
||||
{3.25ex \@plus1ex \@minus.2ex}%
|
||||
{-1em}%
|
||||
{\raggedright\normalfont\normalsize\bfseries}}
|
||||
\renewcommand\doxyparagraph{\@startsection{subparagraph}{9}{\parindent}%
|
||||
\renewcommand\analzparagraph{\@startsection{subparagraph}{9}{\parindent}%
|
||||
{3.25ex \@plus1ex \@minus .2ex}%
|
||||
{-1em}%
|
||||
{\raggedright\normalfont\normalsize\bfseries}}
|
||||
%%\renewcommand{\doxysection}[1]{\doxysubsection{##1}}
|
||||
%%\renewcommand{\doxysubsection}[1]{\doxysubsubsection{##1}}
|
||||
%%\renewcommand{\doxysubsubsection}[1]{\doxyparagraph{##1}}
|
||||
%%\renewcommand{\doxyparagraph}[1]{\doxysubparagraph{##1}}
|
||||
%%\renewcommand{\analzsection}[1]{\analzsubsection{##1}}
|
||||
%%\renewcommand{\analzsubsection}[1]{\analzsubsubsection{##1}}
|
||||
%%\renewcommand{\analzsubsubsection}[1]{\analzparagraph{##1}}
|
||||
%%\renewcommand{\analzparagraph}[1]{\analzsubparagraph{##1}}
|
||||
}{}
|
||||
\makeatother
|
||||
%%
|
||||
|
@ -121,18 +121,18 @@
|
|||
\hfuzz=15pt
|
||||
\setlength{\emergencystretch}{15pt}
|
||||
\setlength{\parindent}{0pt}
|
||||
\newcommand{\doxynormalparskip}{\setlength{\parskip}{0.2cm}}
|
||||
\newcommand{\doxytocparskip}{\setlength{\parskip}{0.2cm}}
|
||||
\newcommand{\doxygenemoji}[2]{%
|
||||
\newcommand{\analznormalparskip}{\setlength{\parskip}{0.2cm}}
|
||||
\newcommand{\analztocparskip}{\setlength{\parskip}{0.2cm}}
|
||||
\newcommand{\analyzeemoji}[2]{%
|
||||
\IfFileExists{../doc/#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{../doc/#2.png}}}{#1}}
|
||||
\doxynormalparskip
|
||||
\analznormalparskip
|
||||
\hbadness=750
|
||||
\tolerance=750
|
||||
\makeatletter
|
||||
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
|
||||
\makeatother
|
||||
\IfFormatAtLeastTF{2023/05/01}{\usepackage[deeplevels]{etoc}}{\usepackage[deeplevels]{etoc_doxygen}}
|
||||
\etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
|
||||
\IfFormatAtLeastTF{2023/05/01}{\usepackage[deeplevels]{etoc}}{\usepackage[deeplevels]{etoc_analyze}}
|
||||
\etocsettocstyle{\analztocparskip}{\analznormalparskip}
|
||||
\etocsetlevel{subsubsubsection}{4}
|
||||
\etocsetlevel{subsubsubsubsection}{5}
|
||||
\etocsetlevel{subsubsubsubsubsection}{6}
|
||||
|
@ -143,7 +143,7 @@
|
|||
\raggedbottom
|
||||
\pagenumbering{alph}
|
||||
\begin{titlepage}
|
||||
\includegraphics[width=\textwidth]{doxygen_logo}
|
||||
\includegraphics[width=\textwidth]{analyze_logo}
|
||||
\begin{center}
|
||||
Manual for version @VERSION@\\[2ex]
|
||||
Written by Dimitri van Heesch\\[2ex]
|
||||
|
@ -179,8 +179,8 @@ Written by Dimitri van Heesch\\[2ex]
|
|||
\input{trouble}
|
||||
\part{Reference Manual}
|
||||
\input{features}
|
||||
\input{doxygen_usage}
|
||||
\input{doxywizard_usage}
|
||||
\input{analyze_usage}
|
||||
\input{analzwizard_usage}
|
||||
\input{config}
|
||||
\input{commands}
|
||||
\input{htmlcmds}
|
||||
|
@ -211,37 +211,37 @@ Written by Dimitri van Heesch\\[2ex]
|
|||
\chapter{Member Groups Example}\label{memgrp_example}\hypertarget{memgrp_example}{}
|
||||
\subinputfrom{examples/memgrp/latex/}{refman_doc}
|
||||
\chapter{Style Examples}
|
||||
\doxysection{After Block Example}\label{afterdoc_example}\hypertarget{afterdoc_example}{}
|
||||
\begin{DoxygenSubAppendix}
|
||||
\analzsection{After Block Example}\label{afterdoc_example}\hypertarget{afterdoc_example}{}
|
||||
\begin{analyzeSubAppendix}
|
||||
\subinputfrom{examples/afterdoc/latex/}{refman_doc}
|
||||
\end{DoxygenSubAppendix}
|
||||
\doxysection{QT Style Example}\label{qtstyle_example}\hypertarget{qtstyle_example}{}
|
||||
\begin{DoxygenSubAppendix}
|
||||
\end{analyzeSubAppendix}
|
||||
\analzsection{QT Style Example}\label{qtstyle_example}\hypertarget{qtstyle_example}{}
|
||||
\begin{analyzeSubAppendix}
|
||||
\subinputfrom{examples/qtstyle/latex/}{refman_doc}
|
||||
\end{DoxygenSubAppendix}
|
||||
\doxysection{Javadoc Style Example}\label{jdstyle_example}\hypertarget{jdstyle_example}{}
|
||||
\begin{DoxygenSubAppendix}
|
||||
\end{analyzeSubAppendix}
|
||||
\analzsection{Javadoc Style Example}\label{jdstyle_example}\hypertarget{jdstyle_example}{}
|
||||
\begin{analyzeSubAppendix}
|
||||
\subinputfrom{examples/jdstyle/latex/}{refman_doc}
|
||||
\end{DoxygenSubAppendix}
|
||||
\doxysection{Javadoc Banner Example}\label{javadoc_banner_example}\hypertarget{javadoc_banner_example}{}
|
||||
\begin{DoxygenSubAppendix}
|
||||
\end{analyzeSubAppendix}
|
||||
\analzsection{Javadoc Banner Example}\label{javadoc_banner_example}\hypertarget{javadoc_banner_example}{}
|
||||
\begin{analyzeSubAppendix}
|
||||
\subinputfrom{examples/javadoc-banner/latex/}{refman_doc}
|
||||
\end{DoxygenSubAppendix}
|
||||
\end{analyzeSubAppendix}
|
||||
\chapter{Structural Commands Example}\label{structcmd_example}\hypertarget{structcmd_example}{}
|
||||
\subinputfrom{examples/structcmd/latex/}{refman_doc}
|
||||
\chapter{Language Examples}
|
||||
\doxysection{Python Docstring Example}\label{python_example}\hypertarget{python_example}{}
|
||||
\begin{DoxygenSubAppendix}
|
||||
\analzsection{Python Docstring Example}\label{python_example}\hypertarget{python_example}{}
|
||||
\begin{analyzeSubAppendix}
|
||||
\subinputfrom{examples/docstring/latex/}{refman_doc}
|
||||
\end{DoxygenSubAppendix}
|
||||
\doxysection{Python Example}\label{py_example}\hypertarget{py_example}{}
|
||||
\begin{DoxygenSubAppendix}
|
||||
\end{analyzeSubAppendix}
|
||||
\analzsection{Python Example}\label{py_example}\hypertarget{py_example}{}
|
||||
\begin{analyzeSubAppendix}
|
||||
\subinputfrom{examples/pyexample/latex/}{refman_doc}
|
||||
\end{DoxygenSubAppendix}
|
||||
\doxysection{VHDL Example}\label{vhdl_example}\hypertarget{vhdl_example}{}
|
||||
\begin{DoxygenSubAppendix}
|
||||
\end{analyzeSubAppendix}
|
||||
\analzsection{VHDL Example}\label{vhdl_example}\hypertarget{vhdl_example}{}
|
||||
\begin{analyzeSubAppendix}
|
||||
\subinputfrom{examples/mux/latex/}{refman_doc}
|
||||
\end{DoxygenSubAppendix}
|
||||
\end{analyzeSubAppendix}
|
||||
|
||||
\chapter{Class Example}\label{class_example}\hypertarget{class_example}{}
|
||||
\subinputfrom{examples/class/latex/}{refman_doc}
|
|
@ -1,4 +1,4 @@
|
|||
/* The standard CSS for doxygen 1.8.12 */
|
||||
/* The standard CSS for analyze 1.8.12 */
|
||||
|
||||
body, table, div, p, dl {
|
||||
font: 400 14px/22px Roboto,sans-serif;
|
|
@ -10,13 +10,13 @@
|
|||
* for any purpose. It is provided "as is" without express or implied warranty.
|
||||
* See the GNU General Public License for more details.
|
||||
*
|
||||
* Documents produced by Doxygen are derivative works derived from the
|
||||
* Documents produced by analyze are derivative works derived from the
|
||||
* input used in their production; they are not affected by this license.
|
||||
*
|
||||
*/
|
||||
/*! \page doxygen_usage Doxygen usage
|
||||
/*! \page analyze_usage analyze usage
|
||||
|
||||
Doxygen is a command line based utility. Calling \c doxygen with the
|
||||
analyze is a command line based utility. Calling \c analyze with the
|
||||
`--help` option at the command line will give you a brief description of the
|
||||
usage of the program.
|
||||
|
||||
|
@ -29,33 +29,33 @@ need to follow these steps:
|
|||
<li> You document your source code with
|
||||
special documentation blocks (see section \ref specialblock).
|
||||
<li> You generate a configuration file (see section \ref config) by
|
||||
calling Doxygen with the \c -g option:
|
||||
calling analyze with the \c -g option:
|
||||
\verbatim
|
||||
doxygen -g <config_file>
|
||||
analyze -g <config_file>
|
||||
\endverbatim
|
||||
<li> You edit the configuration file so it matches your project.
|
||||
In the configuration file you can specify the input files and
|
||||
a lot of optional information.
|
||||
<li> You let Doxygen generate the documentation, based on the settings in the
|
||||
<li> You let analyze generate the documentation, based on the settings in the
|
||||
configuration file:
|
||||
\verbatim
|
||||
doxygen <config_file>
|
||||
analyze <config_file>
|
||||
\endverbatim
|
||||
</ol>
|
||||
|
||||
If you have a configuration file generated with an older version of
|
||||
Doxygen, you can upgrade it to the current version by running Doxygen
|
||||
analyze, you can upgrade it to the current version by running analyze
|
||||
with the -u option.
|
||||
\verbatim
|
||||
doxygen -u <config_file>
|
||||
analyze -u <config_file>
|
||||
\endverbatim
|
||||
All configuration settings in the original configuration file will be copied
|
||||
to the new configuration file. Any new options will have their default value.
|
||||
Note that comments that you may have added in the original configuration file
|
||||
will be lost.
|
||||
|
||||
\section doxygen_finetune Fine-tuning the output
|
||||
If you want to fine-tune the way the output looks, Doxygen allows you
|
||||
\section analyze_finetune Fine-tuning the output
|
||||
If you want to fine-tune the way the output looks, analyze allows you
|
||||
generate default style sheet, header, and footer files that you can edit
|
||||
afterwards:
|
||||
<ul>
|
||||
|
@ -65,19 +65,19 @@ afterwards:
|
|||
sheet (see \ref cfg_html_stylesheet "HTML_STYLESHEET"), using the
|
||||
following command:
|
||||
\verbatim
|
||||
doxygen -w html header.html footer.html stylesheet.css <config_file>
|
||||
analyze -w html header.html footer.html stylesheet.css <config_file>
|
||||
\endverbatim
|
||||
The `config_file` is optional. When omitted Doxygen will search for
|
||||
a file named `Doxyfile` and process that. When this is also not found it
|
||||
The `config_file` is optional. When omitted analyze will search for
|
||||
a file named `analzfile` and process that. When this is also not found it
|
||||
will used the default settings.
|
||||
|
||||
<li>For \LaTeX output, you can generate the first and last part of \c refman.tex
|
||||
(see \ref cfg_latex_header "LATEX_HEADER" and
|
||||
\ref cfg_latex_footer "LATEX_FOOTER") and the style sheet included
|
||||
by that header (normally <code>doxygen.sty</code>), using the following
|
||||
by that header (normally <code>analyze.sty</code>), using the following
|
||||
command:
|
||||
\verbatim
|
||||
doxygen -w latex header.tex footer.tex doxygen.sty <config_file>
|
||||
analyze -w latex header.tex footer.tex analyze.sty <config_file>
|
||||
\endverbatim
|
||||
If you need non-default options (for instance to use extra \LaTeX packages)
|
||||
you need to make a configuration file with those options set correctly and then specify
|
||||
|
@ -87,13 +87,13 @@ output files).
|
|||
<li>For RTF output, you can generate the default style sheet file (see
|
||||
\ref cfg_rtf_stylesheet_file "RTF_STYLESHEET_FILE") using:
|
||||
\verbatim
|
||||
doxygen -w rtf rtfstyle.cfg
|
||||
analyze -w rtf rtfstyle.cfg
|
||||
\endverbatim
|
||||
</ul>
|
||||
\warning When using a custom header you are responsible
|
||||
for the proper inclusion of any scripts and style sheets that Doxygen
|
||||
for the proper inclusion of any scripts and style sheets that analyze
|
||||
needs, which is dependent on the configuration options and may change
|
||||
when upgrading to a new Doxygen release.
|
||||
when upgrading to a new analyze release.
|
||||
|
||||
\note
|
||||
<ul>
|
||||
|
@ -102,17 +102,17 @@ doxygen -w rtf rtfstyle.cfg
|
|||
used in combination with the \c -u option, to add or strip the
|
||||
documentation from an existing configuration file.
|
||||
To get a minimal configuration file use the \c -x or \-x_noenv option to
|
||||
show only the differences from the default Doxygen configuration file.
|
||||
show only the differences from the default analyze configuration file.
|
||||
Please use the \c -s or \c -x or \c -x_noenv option if you send me a
|
||||
configuration file as part of a bug report or post an issue on GitHub!
|
||||
(see also: \ref bug_reports "How to report a bug")
|
||||
<li> To make Doxygen read/write to standard input/output instead of from/to
|
||||
<li> To make analyze read/write to standard input/output instead of from/to
|
||||
a file, use \c - for the file name.
|
||||
</ul>
|
||||
|
||||
|
||||
\htmlonly
|
||||
Go to the <a href="doxywizard_usage.html">next</a> section or return to the
|
||||
Go to the <a href="analzwizard_usage.html">next</a> section or return to the
|
||||
<a href="index.html">index</a>.
|
||||
\endhtmlonly
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
.TH analzINDEXER "1" "@DATE@" "analzindexer @VERSION@" "User Commands"
|
||||
.SH NAME
|
||||
analzindexer \- creates a search index from raw search data
|
||||
.SH SYNOPSIS
|
||||
.B analzindexer
|
||||
[\fI-o output_dir\fR] \fIsearchdata.xml \fR[\fIsearchdata2.xml\fR...]
|
||||
.SH DESCRIPTION
|
||||
Generates a search index called \fBanalzsearch.db\fR from one or more
|
||||
search data files produced by analyze. Use
|
||||
analzsearch.cgi as a CGI program to search the data indexed by analzindexer.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\fB\-o\fR <output_dir>
|
||||
The directory where to write the analzsearch.db to.
|
||||
If omitted the current directory is used.
|
||||
.SH SEE ALSO
|
||||
analyze(1), analzsearch(1), analzwizard(1).
|
|
@ -0,0 +1,11 @@
|
|||
.TH analzSEARCH "1" "@DATE@" "analzsearch.cgi @VERSION@" "User Commands"
|
||||
.SH NAME
|
||||
analzsearch.cgi \- search engine used for searching in analyze documentation.
|
||||
.SH SYNOPSIS
|
||||
.B analzsearch.cgi
|
||||
.SH DESCRIPTION
|
||||
CGI binary that is used by analyze generated HTML output to search for words.
|
||||
The tool uses the search index called \fBanalzsearch.db\fR produced by
|
||||
analzindexer.
|
||||
.SH SEE ALSO
|
||||
analyze(1), analzindexer(1), analzwizard(1).
|
|
@ -0,0 +1,13 @@
|
|||
.TH analzWIZARD "1" "@DATE@" "analzwizard @VERSION@" "User Commands"
|
||||
.SH NAME
|
||||
analzwizard \- a tool to configure and run analyze on your source files
|
||||
.SH SYNOPSIS
|
||||
.B analzwizard
|
||||
.SH DESCRIPTION
|
||||
analzwizard is an interactive frontend to the analyze tool to configure
|
||||
and run analyze on your source files.
|
||||
.PP
|
||||
You can optionally pass the name of a configuration file as the first argument
|
||||
to load it at startup.
|
||||
.SH SEE ALSO
|
||||
analyze(1)
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 107 KiB |