Doxygen skeleton
Change-Id: I2bd370c9cfd9e86a4d11c5b2bca3cf6aca031076
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5fa2341..bf49f98 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -31,5 +31,21 @@
# configurations. They are warnings, not errors.
set(CMAKE_CXX_FLAGS "-Wall -Wextra -pedantic ${CMAKE_CXX_FLAGS}")
+find_package(Doxygen)
+option(WITH_DOCS "Create and install internal documentation (needs Doxygen)" ${DOXYGEN_FOUND})
+
find_package(docopt REQUIRED)
find_package(spdlog REQUIRED)
+
+if(WITH_DOCS)
+ set(doxyfile_in ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in)
+ set(doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
+ configure_file(${doxyfile_in} ${doxyfile} @ONLY)
+ add_custom_target(doc
+ COMMAND ${DOXYGEN_EXECUTABLE} ${doxyfile}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "Generating API documentation with Doxygen"
+ VERBATIM
+ SOURCES ${doxyfile_in}
+ )
+endif()