added doxygen support
* Doxyfile is generated using cmake
* doxygen support option (USE_DOXYGEN) added
* doxygen is generated through `make doc`
* doxygen is installed when using `make install`
* Updated README to work with doxygen and to document UI with cmake
and doxygen
This commit is contained in:
parent
97d56c3f36
commit
531e61c920
@ -35,6 +35,7 @@ enable_testing()
|
||||
## Project stuff
|
||||
option(YAML_CPP_BUILD_TOOLS "Enable testing and parse tools" ON)
|
||||
option(YAML_CPP_BUILD_CONTRIB "Enable contrib stuff in library" ON)
|
||||
option(USE_DOXYGEN "Enable doxygen generation" ON)
|
||||
|
||||
## Build options
|
||||
# --> General
|
||||
@ -117,6 +118,7 @@ find_package(Boost REQUIRED)
|
||||
include_directories(${Boost_INCLUDE_DIRS})
|
||||
|
||||
|
||||
|
||||
###
|
||||
### General compilation settings
|
||||
###
|
||||
@ -250,14 +252,17 @@ endif()
|
||||
###
|
||||
if(WIN32)
|
||||
set(_library_dir bin) # .dll are in PATH, like executables
|
||||
set(_share_dir bin)
|
||||
else()
|
||||
set(_library_dir lib)
|
||||
set(_share_dir share)
|
||||
endif()
|
||||
|
||||
set(INCLUDE_INSTALL_ROOT_DIR include)
|
||||
|
||||
set(INCLUDE_INSTALL_DIR ${INCLUDE_INSTALL_ROOT_DIR}/yaml-cpp)
|
||||
set(LIB_INSTALL_DIR "${_library_dir}${LIB_SUFFIX}")
|
||||
set(SHARE_INSTALL_DIR "${_share_dir}${LIB_SUFFIX}")
|
||||
|
||||
set(_INSTALL_DESTINATIONS
|
||||
RUNTIME DESTINATION bin
|
||||
@ -323,6 +328,38 @@ if(UNIX)
|
||||
install(FILES ${PC_FILE} DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
|
||||
endif()
|
||||
|
||||
###
|
||||
### Doxygen
|
||||
###
|
||||
if(USE_DOXYGEN)
|
||||
|
||||
find_package(Doxygen)
|
||||
if(DOXYGEN_FOUND)
|
||||
|
||||
set(DOC_DIR "${PROJECT_BINARY_DIR}/doc")
|
||||
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in"
|
||||
"${PROJECT_BINARY_DIR}/Doxyfile"
|
||||
@ONLY
|
||||
)
|
||||
|
||||
add_custom_target(doc
|
||||
COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
||||
COMMENT "Generating API documentation with Doxygen" VERBATIM
|
||||
)
|
||||
|
||||
install(DIRECTORY
|
||||
"${DOC_DIR}/"
|
||||
DESTINATION
|
||||
"${SHARE_INSTALL_DIR}/doc/yaml-cpp${LIB_SUFFIX}"
|
||||
PATTERN "${DOC_DIR}/*"
|
||||
)
|
||||
|
||||
endif(DOXYGEN_FOUND)
|
||||
|
||||
endif(USE_DOXYGEN)
|
||||
|
||||
###
|
||||
### Extras
|
||||
|
||||
131
Doxyfile.in
Normal file
131
Doxyfile.in
Normal file
@ -0,0 +1,131 @@
|
||||
DOXYFILE_ENCODING = UTF-8
|
||||
|
||||
PROJECT_NAME = "@PROJECT_NAME@"
|
||||
|
||||
PROJECT_NUMBER = @YAML_CPP_VERSION@
|
||||
|
||||
PROJECT_BRIEF = "yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec."
|
||||
OUTPUT_DIRECTORY = @DOC_DIR@
|
||||
|
||||
INPUT = @CMAKE_CURRENT_SOURCE_DIR@
|
||||
USE_MDFILE_AS_MAINPAGE = @CMAKE_CURRENT_SOURCE_DIR@/README.md
|
||||
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = YES
|
||||
SHORT_NAMES = NO
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
|
||||
QT_AUTOBRIEF = NO
|
||||
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
|
||||
INHERIT_DOCS = YES
|
||||
SEPARATE_MEMBER_PAGES = NO
|
||||
|
||||
TAB_SIZE = 2
|
||||
|
||||
MARKDOWN_SUPPORT = YES
|
||||
|
||||
AUTOLINK_SUPPORT = YES
|
||||
|
||||
SUBGROUPING = YES
|
||||
|
||||
TYPEDEF_HIDES_STRUCT = YES
|
||||
|
||||
EXTRACT_ALL = YES
|
||||
|
||||
EXTRACT_PRIVATE = YES
|
||||
|
||||
EXTRACT_PACKAGE = YES
|
||||
|
||||
EXTRACT_STATIC = YES
|
||||
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
|
||||
EXTRACT_LOCAL_METHODS = YES
|
||||
EXTRACT_ANON_NSPACES = NO
|
||||
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
SHOW_GROUPED_MEMB_INC = NO
|
||||
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = YES
|
||||
|
||||
SORT_BRIEF_DOCS = NO
|
||||
|
||||
SORT_MEMBERS_CTORS_1ST = NO
|
||||
SORT_GROUP_NAMES = NO
|
||||
|
||||
SORT_BY_SCOPE_NAME = NO
|
||||
|
||||
STRICT_PROTO_MATCHING = NO
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TESTLIST = YES
|
||||
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
SHOW_USED_FILES = YES
|
||||
SHOW_FILES = YES
|
||||
SHOW_NAMESPACES = YES
|
||||
QUIET = NO
|
||||
WARNINGS = YES
|
||||
WARN_IF_UNDOCUMENTED = YES
|
||||
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
|
||||
WARN_NO_PARAMDOC = NO
|
||||
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
|
||||
RECURSIVE = YES
|
||||
|
||||
EXCLUDE_SYMLINKS = YES
|
||||
|
||||
FILTER_SOURCE_FILES = NO
|
||||
|
||||
SOURCE_BROWSER = YES
|
||||
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
|
||||
REFERENCED_BY_RELATION = NO
|
||||
|
||||
REFERENCES_RELATION = NO
|
||||
|
||||
REFERENCES_LINK_SOURCE = YES
|
||||
|
||||
SOURCE_TOOLTIPS = YES
|
||||
|
||||
USE_HTAGS = NO
|
||||
|
||||
VERBATIM_HEADERS = YES
|
||||
ALPHABETICAL_INDEX = YES
|
||||
COLS_IN_ALPHA_INDEX = 5
|
||||
GENERATE_HTML = YES
|
||||
|
||||
HTML_OUTPUT = html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
|
||||
HTML_COLORSTYLE_HUE = 220
|
||||
|
||||
HTML_COLORSTYLE_SAT = 100
|
||||
HTML_COLORSTYLE_GAMMA = 80
|
||||
|
||||
HTML_TIMESTAMP = YES
|
||||
|
||||
HTML_DYNAMIC_SECTIONS = NO
|
||||
HTML_INDEX_NUM_ENTRIES = 100
|
||||
|
||||
SEARCHENGINE = YES
|
||||
|
||||
SERVER_BASED_SEARCH = NO
|
||||
|
||||
CLASS_DIAGRAMS = YES
|
||||
|
||||
HIDE_UNDOC_RELATIONS = YES
|
||||
|
||||
GENERATE_LATEX = NO
|
||||
19
README.md
19
README.md
@ -19,16 +19,16 @@ yaml-cpp uses [CMake](http://www.cmake.org) to support cross-platform building.
|
||||
|
||||
2. Navigate into the source directory, and type:
|
||||
|
||||
```
|
||||
mkdir build
|
||||
cd build
|
||||
```
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
|
||||
3. Run CMake. The basic syntax is:
|
||||
|
||||
```
|
||||
cmake [-G generator] [-DBUILD_SHARED_LIBS=ON|OFF] ..
|
||||
```
|
||||
|
||||
cmake [-G generator] [-DBUILD_SHARED_LIBS=ON|OFF] ..
|
||||
|
||||
|
||||
* The `generator` is whatever type of build system you'd like to use. To see a full list of generators on your platform, just run `cmake` (with no arguments). For example:
|
||||
* On Windows, you might use "Visual Studio 12 2013" to generate a Visual Studio 2013 solution
|
||||
@ -37,6 +37,11 @@ cmake [-G generator] [-DBUILD_SHARED_LIBS=ON|OFF] ..
|
||||
|
||||
* yaml-cpp defaults to building a static library, but you may build a shared library by specifying `-DBUILD_SHARED_LIBS=ON`.
|
||||
|
||||
* By default the build is configured to generate doxygen documentation for the
|
||||
library. If you'd like to turn this off use `-DUSE_DOXYGEN=OFF`. If you _do_
|
||||
use doxygen then __make sure you run__: `make doc` __before__ running `make
|
||||
install`.
|
||||
|
||||
* For more options on customizing the build, see the [CMakeLists.txt](https://github.com/jbeder/yaml-cpp/blob/master/CMakeLists.txt) file.
|
||||
|
||||
4. Build it!
|
||||
|
||||
Loading…
Reference in New Issue
Block a user