File: CLuceneDocs.cmake

package info (click to toggle)
clucene-core 2.3.3.4%2Bdfsg-1
  • links: PTS
  • area: main
  • in suites: bullseye, buster, stretch
  • size: 7,900 kB
  • sloc: cpp: 70,727; ansic: 39,655; sh: 338; makefile: 17; php: 5
file content (151 lines) | stat: -rw-r--r-- 5,431 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
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# - CLuceneDocs.cmake
# This file provides support for building the CLucene Documentation.
# To build the documention, you will have to enable it
# and then do the equivalent of "make doc".
OPTION(ENABLE_CLDOCS "Build the clucene documentation." OFF)

MACRO(SET_YESNO)
    FOREACH(param ${ARGV})
    	IF ( ${param} )
    	    SET(${param} "YES")
        ELSE ( ${param} )
            SET(${param} "NO")
    	ENDIF ( ${param} )
    ENDFOREACH(param)
ENDMACRO(SET_YESNO)
MACRO(SET_BLANK)
    FOREACH(param ${ARGV})
    	IF ( NOT ${param} )
    	    SET(${param} "")
    	ENDIF ( NOT ${param} )
    ENDFOREACH(param)
ENDMACRO(SET_BLANK)

IF (ENABLE_CLDOCS)
    OPTION(CLDOCS_HTML_HELP 
        "Doxygen should compile HTML into a Help file (CHM)." NO)
        
    OPTION(CLDOCS_HTML
        "Doxygen should build HTML documentation." YES)
    OPTION(CLDOCS_XML
        "Doxygen should build XML documentation." NO)
    OPTION(CLDOCS_RTF
        "Doxygen should build RTF documentation." NO)
    OPTION(CLDOCS_MAN
        "Doxygen should build man documentation." NO)
    OPTION(CLDOCS_TAGFILE
        "Doxygen should build a tagfile." NO)
        
    OPTION(CLDOCS_LATEX
        "Doxygen should build Latex documentation." NO )

    MARK_AS_ADVANCED(
        CLDOCS_HTML_HELP
        CLDOCS_LATEX
        CLDOCS_XML
        CLDOCS_HTML
        CLDOCS_RTF
        CLDOCS_MAN
        CLDOCS_TAGFILE
    )
    
    #
    # Check for the tools
    #
    FIND_PACKAGE(Doxygen)
    
    IF ( DOXYGEN_FOUND )
        # This creates a new target to build documentation.
        # It runs ${DOXYGEN_EXECUTABLE} which is the full path and executable to
        # Doxygen on your system, set by the FindDoxygen.cmake module
        # (called by FindDocumentation.cmake).
        # It runs the final generated Doxyfile against it.
        # The DOT_PATH is substituted into the Doxyfile.
        ADD_CUSTOM_TARGET(doc
            ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/doc/doxyfile
        )
        
        IF ( CLDOCS_HTML_HELP )
            IF ( NOT CLDOCS_HTML )
                MESSAGE ( FATAL_ERROR "CLDOCS_HTML is required to buidl CLDOCS_HTML_HELP" )
            ENDIF ( NOT CLDOCS_HTML )
            FIND_PACKAGE(HTMLHelp)
            IF ( NOT HTML_HELP_COMPILER )
                MESSAGE(FATAL_ERROR "HTML Help compiler not found, turn CLDOCS_HTML_HELP off to proceed")
            ENDIF ( NOT HTML_HELP_COMPILER )
            
            #make cygwin work with hhc...
            IF ( CYGWIN )
                EXECUTE_PROCESS ( COMMAND cygpath "${HTML_HELP_COMPILER}"
                    OUTPUT_VARIABLE HTML_HELP_COMPILER_EX )
                STRING ( REPLACE "\n" "" HTML_HELP_COMPILER_EX ${HTML_HELP_COMPILER_EX} )
                STRING ( REPLACE "\r" "" HTML_HELP_COMPILER_EX ${HTML_HELP_COMPILER_EX} )
                SET ( HTML_HELP_COMPILER_EX "\"${HTML_HELP_COMPILER_EX}\"" )
            ELSE ( CYGWIN )
                SET ( HTML_HELP_COMPILER_EX ${HTML_HELP_COMPILER} )
            ENDIF ( CYGWIN )
        ENDIF ( CLDOCS_HTML_HELP )
        
        IF ( CLDOCS_LATEX )
            FIND_PACKAGE(LATEX)
            IF ( NOT LATEX_COMPILER )
                MESSAGE(FATAL_ERROR "Latex compiler not found, turn CLDOCS_LATEX off to proceed")
            ENDIF ( NOT LATEX_COMPILER )
        ENDIF ( CLDOCS_LATEX )
    
        FIND_PACKAGE(Perl)
        
        IF ( DOXYGEN_DOT_EXECUTABLE )
            SET ( HAVE_DOT "YES" )
        ELSE ( DOXYGEN_DOT_EXECUTABLE )
            SET ( HAVE_DOT "NO" )
        ENDIF ( DOXYGEN_DOT_EXECUTABLE )
        
        #doxygen expects YES/NO parameters
        SET_YESNO(
            CLDOCS_HTML_HELP
            CLDOCS_LATEX
            CLDOCS_XML
            CLDOCS_HTML
            CLDOCS_RTF
            CLDOCS_MAN
        )
        #empty out paths if not found
        SET_BLANK(
            PERL_EXECUTABLE
            DOXYGEN_DOT_EXECUTABLE
            HTML_HELP_COMPILER
            LATEX_COMPILER
        )
        
        IF ( CLDOCS_TAGFILE )
            SET ( CLDOCS_TAGFILE_LOCATION "${PROJECT_BINARY_DIR}/doc/tag/clucene.tag"  )
        ENDIF ( CLDOCS_TAGFILE )
        
        # This processes our Doxyfile.cmake and substitutes paths to generate a final Doxyfile
        CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/doc/Doxyfile.cmake ${PROJECT_BINARY_DIR}/doc/doxyfile )
        CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/doc/helpheader.htm.cmake ${PROJECT_BINARY_DIR}/doc/helpheader.htm )
        CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/doc/helpfooter.htm.cmake ${PROJECT_BINARY_DIR}/doc/helpfooter.htm )
        CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/doc/doxygen.css.cmake ${PROJECT_BINARY_DIR}/doc/html/doxygen.css )
        
        #create a target for tar.gz html help
        FIND_PACKAGE(UnixCommands)
        IF ( TAR AND GZIP )
            ADD_CUSTOM_TARGET(doc-tarz
                COMMAND "${TAR}" "-cf" "doc/clucene-core-doc.tar" "${PROJECT_BINARY_DIR}/doc/html/"
                COMMAND "${GZIP}" "doc/clucene-core-doc.tar"
                #DEPENDS doc-doxygen
            )
        ENDIF ( TAR AND GZIP )
        
        #install man if it was built
        IF ( CLDOCS_MAN )
            INSTALL(DIRECTORY ${PROJECT_BINARY_DIR}/doc/man/ DESTINATION man)
        ENDIF ( CLDOCS_MAN )
        
    ELSE ( DOXYGEN_FOUND )
        MESSAGE(FATAL_ERROR "Doxygen not found, turn ENABLE_CLDOCS off to proceed")
    ENDIF ( DOXYGEN_FOUND )

    
ENDIF (ENABLE_CLDOCS)