File: CMakeLists.txt

package info (click to toggle)
process-cpp 3.0.2-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 632 kB
  • sloc: cpp: 2,545; ansic: 228; makefile: 17
file content (59 lines) | stat: -rw-r--r-- 1,752 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Copyright © 2013 Canonical Ltd.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# Authored by: Thomas Voss <thomas.voss@canonical.com>

option(
  PROCESS_CPP_ENABLE_DOC_GENERATION
  "Generate package documentation with doxygen"
  ON
)

string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_lower)

if("${cmake_build_type_lower}" STREQUAL "debug")
  option(
    PROCESS_CPP_ENABLE_DOC_GENERATION_BY_DEFAULT
    "Generate package by default"
    OFF
  )
else()
  option(
    PROCESS_CPP_ENABLE_DOC_GENERATION_BY_DEFAULT
    "Generate package by default"
    ON
  )
endif()

if (PROCESS_CPP_ENABLE_DOC_GENERATION)

if (${PROCESS_CPP_ENABLE_DOC_GENERATION_BY_DEFAULT})
  set (IS_ALL ALL)
endif ()

find_package(Doxygen)

if (DOXYGEN_FOUND)
  configure_file(
    ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in 
    ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
  add_custom_target(doc ${IS_ALL}
    ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
    COMMENT "Generating API documentation with Doxygen" VERBATIM)
  install(
    DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
    DESTINATION ${CMAKE_INSTALL_DOCDIR})
endif (DOXYGEN_FOUND)
endif (PROCESS_CPP_ENABLE_DOC_GENERATION)