File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change 1
1
cmake_minimum_required (VERSION 3.5 )
2
2
project (trantor )
3
3
4
+ option (BUILD_DOC "Build Doxygen documentation" OFF )
5
+
4
6
list (APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR} /cmake_modules/ )
5
7
6
8
set (TRANTOR_MAJOR_VERSION 1 )
@@ -258,3 +260,36 @@ install(EXPORT TrantorTargets
258
260
DESTINATION "${INSTALL_TRANTOR_CMAKE_DIR} "
259
261
NAMESPACE Trantor::
260
262
COMPONENT dev )
263
+
264
+ # Doxygen documentation
265
+ find_package (Doxygen OPTIONAL_COMPONENTS dot dia )
266
+ if (DOXYGEN_FOUND )
267
+ set (DOXYGEN_PROJECT_BRIEF "Non-blocking I/O cross-platform TCP network library, using C++14" )
268
+ set (DOXYGEN_OUTPUT_DIRECTORY docs/${PROJECT_NAME} )
269
+ set (DOXYGEN_GENERATE_LATEX NO )
270
+ set (DOXYGEN_BUILTIN_STL_SUPPORT YES )
271
+ set (DOXYGEN_USE_MDFILE_AS_MAINPAGE README.md )
272
+ set (DOXYGEN_STRIP_FROM_INC_PATH ${PROJECT_SOURCE_DIR}
273
+ ${CMAKE_CURRENT_BINARY_DIR} /exports )
274
+ if (WIN32 )
275
+ set (DOXYGEN_PREDEFINED _WIN32 )
276
+ endif (WIN32 )
277
+ doxygen_add_docs (doc_${PROJECT_NAME}
278
+ README.md
279
+ ChangeLog.md
280
+ ${public_net_headers}
281
+ ${public_utils_headers}
282
+ COMMENT "Generate documentation" )
283
+ if (NOT TARGET doc )
284
+ add_custom_target (doc )
285
+ endif ()
286
+ add_dependencies (doc doc_${PROJECT_NAME} )
287
+ if (BUILD_DOC )
288
+ add_dependencies (${PROJECT_NAME} doc_${PROJECT_NAME} )
289
+ # Don't install twice, so limit to Debug (assume developer)
290
+ install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /docs/${PROJECT_NAME}
291
+ TYPE DOC
292
+ CONFIGURATIONS Debug )
293
+ endif (BUILD_DOC )
294
+ endif (DOXYGEN_FOUND )
295
+
You can’t perform that action at this time.
0 commit comments