summaryrefslogtreecommitdiffstats
path: root/doc/CMakeLists.txt
blob: 72a1fed886d2a129d8226379776af23ffb07d02c (plain)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
if (WITH_DOC OR WITH_DOC_MANPAGES OR WITH_DOC_GUIDES)
include(Documentation)
endif()

set(LINGUAS
    de
    es
    fr
    it
    ja
    nl
    pl
    pt_BR
    pt
)

set(TRANSLATED_ENTITIES
    apt.ent
)

set(ENTITIES
    apt-verbatim.ent
    ../vendor/${CURRENT_VENDOR}/apt-vendor.ent
)

if(WITH_DOC OR WITH_DOC_GUIDES)
add_docbook(apt-doc HTML TEXT ALL
    DOCUMENTS
        guide.dbk
        offline.dbk
    INSTALL ${CMAKE_INSTALL_DOCDIR}/../apt-doc
    LINGUAS ${LINGUAS}
    TRANSLATED_ENTITIES ${TRANSLATED_ENTITIES}
    DEPENDS ${ENTITIES}
)

add_docbook(libapt-pkg-doc HTML TEXT ALL
    DOCUMENTS
        design.dbk
        dpkg-tech.dbk
        files.dbk
        method.dbk
    INSTALL ${CMAKE_INSTALL_DOCDIR}/../libapt-pkg-doc
    LINGUAS ${LINGUAS}
    TRANSLATED_ENTITIES ${TRANSLATED_ENTITIES}
    DEPENDS ${ENTITIES}
)
endif()

if(WITH_DOC OR WITH_DOC_DOXYGEN)
find_package(Doxygen REQUIRED)

file(GLOB_RECURSE apt_pkg "../apt-pkg/*.h" "../apt-pkg/*.cc")
configure_file(Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)

add_custom_command(
    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/doxygen.stamp
    COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
    COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/doxygen.stamp
    DEPENDS ${apt_pkg} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
)

add_custom_target(apt-doxygen ALL
    DEPENDS ${PROJECT_BINARY_DIR}/doc/doxygen.stamp
)

install(DIRECTORY  ${PROJECT_BINARY_DIR}/doc/doxygen/html
        DESTINATION ${CMAKE_INSTALL_DOCDIR}/../libapt-pkg-doc
        PATTERN "*.map" EXCLUDE
        PATTERN "*.md5" EXCLUDE
)
endif()

if(WITH_DOC OR WITH_DOC_MANPAGES)
add_docbook(apt-man MANPAGE ALL
    DOCUMENTS
        apt.8.xml
        apt_auth.conf.5.xml
        apt-cache.8.xml
        apt-cdrom.8.xml
        apt.conf.5.xml
        apt-config.8.xml
        apt-extracttemplates.1.xml
        apt-ftparchive.1.xml
        apt-get.8.xml
        apt-key.8.xml
        apt-mark.8.xml
        apt_preferences.5.xml
        apt-patterns.7.xml
        apt-secure.8.xml
        apt-sortpkgs.1.xml
        apt-transport-http.1.xml
        apt-transport-https.1.xml
        apt-transport-mirror.1.xml
        sources.list.5.xml
    DEPENDS ${ENTITIES}
    TRANSLATED_ENTITIES ${TRANSLATED_ENTITIES}
    LINGUAS ${LINGUAS}
)
endif()

if(WITH_DOC OR WITH_DOC_MANPAGES OR WITH_DOC_GUIDES)
add_update_po4a(update-po4a po/${PROJECT_NAME}-doc.pot "po/header.pot.txt")
endif()

if(WITH_DOC OR WITH_DOC_EXAMPLES)
add_subdirectory(examples)
endif()