Skip to content

Commit 4394801

Browse files
rkrejcimichalvasko
authored andcommitted
build CHANGE separated build type for building docs without dependencies
Let the user build doxygen documentation without need of other compile dependencies. Moves the docs build into a separated cmake functions in CMakeModules.
1 parent 7d5b050 commit 4394801

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

CMakeLists.txt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ include(CheckFunctionExists)
1111
include(CheckCSourceCompiles)
1212
include(CheckIncludeFile)
1313
include(UseCompat)
14+
include(Doc)
1415

1516
if(POLICY CMP0075)
1617
cmake_policy(SET CMP0075 NEW)
@@ -40,6 +41,8 @@ elseif ("${BUILD_TYPE_UPPER}" STREQUAL "RELWITHDEBINFO")
4041
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Build Type" FORCE)
4142
elseif ("${BUILD_TYPE_UPPER}" STREQUAL "RELWITHDEBUG")
4243
set(CMAKE_BUILD_TYPE "RelWithDebug" CACHE STRING "Build Type" FORCE)
44+
elseif ("${BUILD_TYPE_UPPER}" STREQUAL "DOCONLY")
45+
set(CMAKE_BUILD_TYPE "DocOnly" CACHE STRING "Build Type" FORCE)
4346
endif()
4447

4548
add_compile_options(-Wall -Wextra -fvisibility=hidden -std=gnu99)
@@ -121,6 +124,11 @@ set(headers
121124
src/session_server.h
122125
src/session_server_ch.h)
123126

127+
if("${BUILD_TYPE_UPPER}" STREQUAL "DOCONLY")
128+
libnetconf_doc()
129+
return()
130+
endif()
131+
124132
# use compat
125133
use_compat()
126134

@@ -238,14 +246,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "QNX")
238246
endif()
239247

240248
# generate doxygen documentation for libnetconf2 API
241-
find_package(Doxygen)
242-
if(DOXYGEN_FOUND)
243-
set(DOXYGEN_SKIP_DOT TRUE)
244-
add_custom_target(doc
245-
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/Doxyfile
246-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
247-
configure_file(Doxyfile.in Doxyfile)
248-
endif()
249+
libnetconf_doc()
249250

250251
# Python bindings
251252
if(ENABLE_PYTHON)

CMakeModules/Doc.cmake

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Prepare building doxygen documentation
2+
macro(LIBNETCONF_DOC)
3+
find_package(Doxygen)
4+
if(DOXYGEN_FOUND)
5+
set(DOXYGEN_SKIP_DOT TRUE)
6+
add_custom_target(doc
7+
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/Doxyfile
8+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
9+
configure_file(Doxyfile.in Doxyfile)
10+
endif()
11+
endmacro()

0 commit comments

Comments
 (0)