diff options
author | Robin Krahl <me@robin-krahl.de> | 2019-01-16 19:17:17 +0100 |
---|---|---|
committer | Robin Krahl <me@robin-krahl.de> | 2019-01-16 19:17:17 +0100 |
commit | 2a4f2df2244018f525d23805f9fbdfa3f21b4570 (patch) | |
tree | ae146d63b8a4190847cd91944d790ace6c1d35d2 | |
parent | 1f3da5c76acb20b2183ac52373ed3b0b63e1151e (diff) | |
download | libnitrokey-2a4f2df2244018f525d23805f9fbdfa3f21b4570.tar.gz libnitrokey-2a4f2df2244018f525d23805f9fbdfa3f21b4570.tar.bz2 |
Add a doc target that generates C API documentation
Doxygen is used generate the C API documentation. The Doxygen
configuration is stored in the Doxygen.in file (that is processed by
CMake). To generate the documentation, run make doc in the build
directory.
-rw-r--r-- | CMakeLists.txt | 9 | ||||
-rw-r--r-- | Doxyfile.in | 17 |
2 files changed, 26 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 1004baf..f7d98a3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -233,3 +233,12 @@ set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") set (CPACK_PACKAGE_VERSION "${PROJECT_VERSION}") include (CPack) + +# Build Doxygen documentation for the C API +find_package(Doxygen) +if (DOXYGEN_FOUND) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) + add_custom_target(doc ${DOXYGEN_EXECUTABLE} Doxyfile + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Generating C API documentation with Doxygen" VERBATIM) +endif(DOXYGEN_FOUND) diff --git a/Doxyfile.in b/Doxyfile.in new file mode 100644 index 0000000..9211df1 --- /dev/null +++ b/Doxyfile.in @@ -0,0 +1,17 @@ +# For better readability, the documentation and default settings are removed +# from this file. For more information on the Doxygen configuration, generate +# a new Doxyfile using `doxygen -g` or have a look at the Doxygen manual at +# http://www.doxygen.nl/manual/config.html +# +# This file is processed by CMake. To generate the documentation, run `make +# doc` in the build directory. + +PROJECT_NAME = "@CMAKE_PROJECT_NAME@" +PROJECT_NUMBER = "@PROJECT_VERSION@" +PROJECT_BRIEF = +OUTPUT_DIRECTORY = doc +STRIP_FROM_PATH = @CMAKE_CURRENT_SOURCE_DIR@ +JAVADOC_AUTOBRIEF = YES +OPTIMIZE_OUTPUT_FOR_C = YES +WARN_NO_PARAMDOC = YES +INPUT = @CMAKE_CURRENT_SOURCE_DIR@/NK_C_API.h |