]> git.ipfire.org Git - thirdparty/sarg.git/blame - CMakeLists.txt
Add a configuration option to report any error in the sum of the in-cache and out...
[thirdparty/sarg.git] / CMakeLists.txt
CommitLineData
b3695c67
FM
1CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
2PROJECT(sarg C)
3SET(sarg_VERSION 2)
767103f5 4SET(sarg_REVISION "3")
e3af0ae9 5SET(sarg_BUILD "")
767103f5 6SET(sarg_BUILDDATE "Jun-21-2010")
b3695c67
FM
7
8INCLUDE(AddFileDependencies)
9INCLUDE(CheckIncludeFile)
10INCLUDE(CheckLibraryExists)
11INCLUDE(CheckFunctionExists)
12INCLUDE(CheckTypeSize)
13INCLUDE(CheckSymbolExists)
9c7c6346 14INCLUDE(CheckCCompilerFlag)
b3695c67
FM
15
16DEFINE_PROPERTY(GLOBAL PROPERTY enable-htmldir BRIEF_DOCS "--enable-htmldir=htmldir"
17 FULL_DOCS "Select htmldir as the root of your WWW documents")
18
19SET(PACKAGE_NAME "sarg")
594c9da4 20SET(PACKAGE_VERSION "${sarg_VERSION}.${sarg_REVISION}${sarg_BUILD}")
b3695c67
FM
21
22MACRO(SET_ABS_SOURCE VAR DOC)
23 IF(${VAR} AND NOT ${VAR}_SOURCE)
24 SET(PATH "${${VAR}}")
25 IF(NOT IS_ABSOLUTE ${PATH})
969129f9 26 SET(PATH "${CMAKE_INSTALL_PREFIX}/${PATH}")
b3695c67 27 ENDIF(NOT IS_ABSOLUTE ${PATH})
969129f9 28 GET_FILENAME_COMPONENT(SOURCE_PATH "${PATH}" ABSOLUTE)
b3695c67
FM
29 SET(${VAR}_SOURCE "${SOURCE_PATH}" CACHE PATH "${DOC}")
30 ENDIF(${VAR} AND NOT ${VAR}_SOURCE)
31ENDMACRO(SET_ABS_SOURCE VAR DOC)
32
33SET_ABS_SOURCE(SYSCONFDIR "The full path of the configuration directory to be compiled in the program")
34SET_ABS_SOURCE(LANGDIR "The full path of the language directory to be compiled in the program")
35SET_ABS_SOURCE(FONTDIR "The full path of the fonts directory to be compiled in the program")
36SET_ABS_SOURCE(IMAGEDIR "The full path of the images directory to be compiled in the program")
37
38SET(SYSCONFDIR "etc/sarg" CACHE PATH "The configuration directory relative to the install directory")
39SET(BINDIR "bin" CACHE PATH "The directory to install the exec relative to the install directory")
40SET(MANDIR "share/man" CACHE PATH "The directory to copy the man page relative to the install directory")
41SET(LANGDIR "share/sarg/languages" CACHE PATH "The directory to copy the languages files relative to the install directory")
42SET(FONTDIR "share/sarg/fonts" CACHE PATH "The directory to copy the fonts relative to the install directory")
43SET(IMAGEDIR "share/sarg/images" CACHE PATH "The directory to copy the images files relative to the install directory")
7bbc1de4 44SET(SARGPHPDIR "share/sarg/sarg-php" CACHE PATH "The directory to copy sarg-php relative to the install directory")
b3695c67
FM
45
46# Sources to compile
47INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}") #Make it find this config.h before the one in src/include
48INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/include")
49SET(SRC util.c log.c report.c topuser.c email.c sort.c html.c
50 totger.c index.c getconf.c usage.c decomp.c ip2name.c
51 useragent.c exclude.c convlog.c totday.c repday.c datafile.c
52 indexonly.c splitlog.c lastlog.c topsites.c siteuser.c css.c
c36c7384 53 smartfilter.c denied.c authfail.c charset.c
b3695c67 54 squidguard_log.c squidguard_report.c auth.c download.c grepday.c
8988b90d 55 dansguardian_log.c dansguardian_report.c realtime.c btree_cache.c
4ca814cc 56 usertab.c userinfo.c longline.c)
b3695c67
FM
57
58FOREACH(f ${SRC})
59 ADD_FILE_DEPENDENCIES(${f} ${CMAKE_BINARY_DIR}/config.h ${CMAKE_SOURCE_DIR}/include/conf.h ${CMAKE_SOURCE_DIR}/include/info.h ${CMAKE_SOURCE_DIR}/include/defs.h)
60ENDFOREACH(f)
61
62ADD_EXECUTABLE(sarg ${SRC})
63
b3695c67
FM
64SET_TARGET_PROPERTIES(sarg PROPERTIES VERSION "${sarg_VERSION}.${sarg_REVISION}.${sarg_BUILD}")
65
d25d4e6a 66SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "$ENV{CFLAGS} -Wall -Wno-sign-compare")
0a4e18e1
FM
67SET_TARGET_PROPERTIES(sarg PROPERTIES LINK_FLAGS "$ENV{LDFLAGS}")
68
d25d4e6a
FM
69CHECK_C_COMPILER_FLAG("-Wextra" HAVE_WEXTRA)
70IF(HAVE_WEXTRA)
71 # Not supported by gcc 3.3
72 GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS)
73 SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -Wextra -Wno-unused-parameter")
74ENDIF(HAVE_WEXTRA)
75
9c7c6346
FM
76CHECK_C_COMPILER_FLAG("-Werror=implicit-function-declaration" HAVE_WERROR_IMPLICIT_FUNCTION)
77IF(HAVE_WERROR_IMPLICIT_FUNCTION)
78 GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS)
79 SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -Werror=implicit-function-declaration")
80ENDIF(HAVE_WERROR_IMPLICIT_FUNCTION)
81
82CHECK_C_COMPILER_FLAG("-Werror=format" HAVE_WERROR_FORMAT)
83IF(HAVE_WERROR_FORMAT)
84 GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS)
85 SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -Werror=format")
86ENDIF(HAVE_WERROR_FORMAT)
87
b3695c67
FM
88# Required header files
89CHECK_INCLUDE_FILE(stdio.h HAVE_STDIO_H)
90CHECK_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H)
91CHECK_INCLUDE_FILE(string.h HAVE_STRING_H)
92CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H)
93CHECK_INCLUDE_FILE(sys/time.h HAVE_SYS_TIME_H)
94CHECK_INCLUDE_FILE(time.h HAVE_TIME_H)
95CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H)
96CHECK_INCLUDE_FILE(sys/dirent.h HAVE_SYS_DIRENT_H)
97CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H)
98CHECK_INCLUDE_FILE(sys/socket.h HAVE_SYS_SOCKET_H)
99CHECK_INCLUDE_FILE(netdb.h HAVE_NETDB_H)
100CHECK_INCLUDE_FILE(arpa/inet.h HAVE_ARPA_INET_H)
101CHECK_INCLUDE_FILE(sys/types.h HAVE_SYS_TYPES_H)
102CHECK_INCLUDE_FILE(netinet/in.h HAVE_NETINET_H)
103CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H)
104CHECK_INCLUDE_FILE(ctype.h HAVE_CTYPE_H)
105CHECK_INCLUDE_FILE(errno.h HAVE_ERRNO_H)
106CHECK_INCLUDE_FILE(sys/resource.h HAVE_SYS_RESOURCE_H)
107CHECK_INCLUDE_FILE(sys/wait.h HAVE_SYS_WAIT_H)
108CHECK_INCLUDE_FILE(stdarg.h HAVE_STDARG_H)
109CHECK_INCLUDE_FILE(inttypes.h HAVE_INTTYPES_H)
110CHECK_INCLUDE_FILE(limits.h HAVE_LIMITS_H)
8988b90d 111CHECK_INCLUDE_FILE(math.h HAVE_MATH_H)
a1de61fe 112CHECK_INCLUDE_FILE(locale.h HAVE_LOCALE_H)
e6414a9d 113CHECK_INCLUDE_FILE(execinfo.h HAVE_EXECINFO_H)
eca2cec9 114CHECK_INCLUDE_FILE(libintl.h HAVE_LIBINTL_H)
d5d021c5 115CHECK_INCLUDE_FILE(libgen.h HAVE_LIBGEN_H)
06b39c87 116CHECK_INCLUDE_FILE(stdbool.h HAVE_STDBOOL_H)
9b179eb0
FM
117CHECK_INCLUDE_FILE(getopt.h HAVE_GETOPT_H)
118
119IF(!HAVE_GETOPT_H)
120 MESSAGE(SEND_ERROR "getopt.h is required to compile sarg")
121ENDIF(!HAVE_GETOPT_H)
b3695c67 122
e9b33b57
FM
123# Windows need lib wsock32 and ws2_32
124IF(CMAKE_SYSTEM_NAME STREQUAL "Windows")
125 CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_H)
126 CHECK_INCLUDE_FILE(winsock.h HAVE_WINSOCK_H)
127 CHECK_INCLUDE_FILE(ws2tcpip.h HAVE_WS2TCPIP_H)
128
129 FIND_LIBRARY(WSOCK_LIB NAMES wsock32 DOC "The winsock library")
130 IF(WSOCK_LIB)
131 TARGET_LINK_LIBRARIES(sarg wsock32)
132 LIST(APPEND CMAKE_REQUIRED_LIBRARIES wsock32)
133 ENDIF(WSOCK_LIB)
134
135 FIND_LIBRARY(WSOCK2_LIB NAMES ws2_32 DOC "The winsock 2 library")
136 IF(WSOCK2_LIB)
137 TARGET_LINK_LIBRARIES(sarg ws2_32)
138 LIST(APPEND CMAKE_REQUIRED_LIBRARIES ws2_32)
139 ENDIF(WSOCK2_LIB)
140
141 ADD_DEFINITIONS(-DWINDOWS)
142ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Windows")
143
b3695c67 144CHECK_FUNCTION_EXISTS(bzero HAVE_BZERO)
e6414a9d 145CHECK_FUNCTION_EXISTS(backtrace HAVE_BACKTRACE)
b5f13803 146CHECK_FUNCTION_EXISTS(symlink HAVE_SYMLINK)
463f8e09 147CHECK_FUNCTION_EXISTS(lstat HAVE_LSTAT)
72c27633 148CHECK_FUNCTION_EXISTS(getnameinfo HAVE_GETNAMEINFO)
e9b33b57 149CHECK_FUNCTION_EXISTS(inet_aton HAVE_INET_ATON)
b3695c67
FM
150
151# Find gd
152CHECK_INCLUDE_FILE(gd.h HAVE_GD_H)
153IF(HAVE_GD_H)
154 CHECK_INCLUDE_FILE(gdfontl.h HAVE_GDFONTL_H)
155 CHECK_INCLUDE_FILE(gdfontt.h HAVE_GDFONTT_H)
156 CHECK_INCLUDE_FILE(gdfonts.h HAVE_GDFONTS_H)
157 CHECK_INCLUDE_FILE(gdfontmb.h HAVE_GDFONTMB_H)
158 CHECK_INCLUDE_FILE(gdfontg.h HAVE_GDFONTG_H)
a1de61fe 159 FIND_LIBRARY(GD_LIBRARY NAMES gd bgd DOC "The GD library")
b3695c67 160 IF(GD_LIBRARY)
2824ec9b 161 #CHECK_LIBRARY_EXISTS(gd gdImagePng "." HAVE_GD_LIB)
a1de61fe 162 TARGET_LINK_LIBRARIES(sarg ${GD_LIBRARY})
2824ec9b
FM
163 SET(HAVE_GD_LIB GD_LIBRARY CACHE PATH DOC "True IF GD was found")
164 SET(HAVE_GD_LIB CACHE BOOL DOC "True IF must use GD")
b3695c67
FM
165 ENDIF(GD_LIBRARY)
166ENDIF(HAVE_GD_H)
167
168# Find iconv
169OPTION(ENABLE_ICONV "Enable the usage of iconv" ON)
170IF(ENABLE_ICONV)
171 CHECK_INCLUDE_FILE(iconv.h HAVE_ICONV_H)
172 IF(HAVE_ICONV_H)
463f8e09
FM
173 FIND_PATH(ICONV_INCLUDE_PATH NAMES iconv.h)
174 FIND_LIBRARY(ICONV_LIBRARY NAMES iconv DOC "The ICONV library")
175 IF(ICONV_LIBRARY)
176 TARGET_LINK_LIBRARIES(sarg ${ICONV_LIBRARY})
177 ENDIF(ICONV_LIBRARY)
b3695c67 178 CHECK_FUNCTION_EXISTS(iconv_open HAVE_ICONV)
b3695c67 179
b8642c01
FM
180 IF(NOT USE_CONST_ICONV)
181 SET(ICONV_CONST_FILE ${CMAKE_BINARY_DIR}/consticonv.c)
182 FILE(WRITE ${ICONV_CONST_FILE} "
b3695c67 183#include <iconv.h>
b8642c01
FM
184#ifdef __CLASSIC_C__
185int main(){
186 int ac;
187 char*av[];
b3695c67 188#else
b8642c01 189int main(int ac, char*av[]){
b3695c67 190#endif
b8642c01
FM
191 iconv_t localtoutf=(iconv_t)-1;
192 const char *str=\"\";
193 char *sstr=\"\";
194 size_t slen=0, sslen=0;
195
196 iconv (localtoutf, (const char **)&str, &slen, &sstr, &sslen);
197 if(ac > 1000)
198 {
199 return *av[0];
200 }
201 return 0;
202}
b3695c67 203")
b8642c01
FM
204 TRY_COMPILE(USE_CONST_ICONV ${CMAKE_BINARY_DIR} ${ICONV_CONST_FILE} CMAKE_FLAGS -DLINK_LIBRARIES="iconv")
205 FILE(REMOVE ${ICONV_CONST_FILE})
206 IF(USE_CONST_ICONV)
207 SET(ICONV_CONST "const" CACHE STRING "The type of char to use with iconv")
208 MESSAGE(STATUS "iconv requires const char **")
209 ELSEIF(USE_CONST_ICONV)
210 SET(ICONV_CONST "" CACHE STRING "The type of char to use with iconv")
211 MESSAGE(STATUS "iconv requires char **")
212 ENDIF(USE_CONST_ICONV)
213 SET(USE_CONST_ICONV TRUE CACHE BOOL "Use const char ** with iconv")
214 ENDIF(NOT USE_CONST_ICONV)
b3695c67
FM
215 ENDIF(HAVE_ICONV_H)
216ENDIF(ENABLE_ICONV)
217
965c4a6f
FM
218# Find ldap
219CHECK_INCLUDE_FILE(ldap.h HAVE_LDAP_H)
220IF(HAVE_LDAP_H)
221 FIND_LIBRARY(LDAP_LIBRARY NAMES ldap DOC "The ldap library")
222 IF(LDAP_LIBRARY)
223 TARGET_LINK_LIBRARIES(sarg ${LDAP_LIBRARY})
224 SET(HAVE_LDAP LDAP_LIBRARY CACHE PATH DOC "True if LDAP was found")
225 SET(HAVE_LDAP CACHE BOOL DOC "True if must use LDAP")
226 ENDIF(LDAP_LIBRARY)
227ENDIF(HAVE_LDAP_H)
228
b3695c67
FM
229# Support for large files
230OPTION(ENABLE_LARGEFILE "Enable the usage of large files" ON)
231IF(ENABLE_LARGEFILE)
232 IF(LFS_SEARCHED MATCHES "^LFS_SEARCHED$")
233 SET(SEARCH_LARGEFILE TRUE)
234 ENDIF(LFS_SEARCHED MATCHES "^LFS_SEARCHED$")
235ENDIF(ENABLE_LARGEFILE)
236
237IF(SEARCH_LARGEFILE)
238 SET(LFS_SEARCHED TRUE CACHE INTERNAL "LFS has been searched")
239 MESSAGE(STATUS "Looking for large file support")
240 SET(LFS_FILE "${CMAKE_BINARY_DIR}/lfsfopen64.c")
241 FILE(WRITE ${LFS_FILE} "
242#include <stdio.h>
243int main(void)
244{
245FILE *f = fopen64 (\"/tmp/foo\",\"r\");
246return(0);
247}
248")
249 TRY_COMPILE(HAVE_FOPEN64 ${CMAKE_BINARY_DIR} ${LFS_FILE} COMPILE_DEFINITIONS "-Wall -Werror")
250 IF(HAVE_FOPEN64)
251 MESSAGE(STATUS "Looking for large file support - found")
252 ELSE(HAVE_FOPEN64)
253 SET(LFS_NEED_DEFINE FALSE CACHE BOOL "Does LFS require _LARGEFILE64_SOURCE ?")
254 MESSAGE(STATUS "Looking for large file support with _LARGEFILE64_SOURCE")
255 FILE(WRITE ${LFS_FILE} "
256#define _LARGEFILE64_SOURCE
257#include <stdio.h>
258int main(void)
259{
260FILE *f = fopen64 (\"/tmp/foo\",\"r\");
261return(0);
262}
263")
264 TRY_COMPILE(HAVE_FOPEN64 ${CMAKE_BINARY_DIR} ${LFS_FILE} OUTPUT_VARIABLE LFS_OUTPUT)
265 IF(HAVE_FOPEN64)
266 MESSAGE(STATUS "Looking for large file support with _LARGEFILE64_SOURCE - found")
267 SET(LFS_NEED_DEFINE TRUE CACHE BOOL "Does LFS require _LARGEFILE64_SOURCE ?" FORCE)
268 ELSE(HAVE_FOPEN64)
269 MESSAGE("Failed with output ${LFS_OUTPUT}")
270 ENDIF(HAVE_FOPEN64)
271 ENDIF(HAVE_FOPEN64)
272 FILE(REMOVE ${LFS_FILE})
273ENDIF(SEARCH_LARGEFILE)
274
275IF(LFS_NEED_DEFINE)
276 ADD_DEFINITIONS(-D_LARGEFILE64_SOURCE)
277ENDIF(LFS_NEED_DEFINE)
278
b3695c67
FM
279# Find rlim_t
280IF(HAVE_SYS_RESOURCE_H)
281 SET(CMAKE_EXTRA_INCLUDE_FILES "sys/resource.h")
282ENDIF(HAVE_SYS_RESOURCE_H)
283CHECK_TYPE_SIZE(rlim_t RLIM_T)
284IF(HAVE_RLIM_T)
285 IF(RLIM_T STREQUAL 4)
286 SET(RLIM_STRING "%d")
287 ELSEIF(RLIM_T STREQUAL 8)
288 SET(RLIM_STRING "%lli")
289 ELSE(RLIM_T STREQUAL 4)
290 MESSAGE("Unknown rlim_t size")
291 ENDIF(RLIM_T STREQUAL 4)
eca2cec9
FM
292#ELSE(HAVE_RLIM_T)
293# MESSAGE("Cannot detect the size of your system's rlim_t type")
b3695c67
FM
294ENDIF(HAVE_RLIM_T)
295
b3695c67 296CHECK_FUNCTION_EXISTS(mkstemp HAVE_MKSTEMP)
e112fa1f 297IF(NOT HAVE_MKSTEMP)
b3695c67 298 # MingW provide mkstemps in libiberty but doesn't declare it in any header file
9a2efbd0 299 FIND_LIBRARY(IBERTY_LIB NAMES iberty DOC "The library of mingw containing mkstemps")
b3695c67
FM
300 IF(IBERTY_LIB)
301 TARGET_LINK_LIBRARIES(sarg iberty)
302 ENDIF(IBERTY_LIB)
e112fa1f 303ENDIF(NOT HAVE_MKSTEMP)
b3695c67 304
eca2cec9
FM
305# Gettext and friends
306IF(NOT HAVE_LC_MESSAGES)
d25d4e6a 307 SET(FILES)
eca2cec9
FM
308 IF(HAVE_LOCALE_H)
309 LIST(APPEND FILES "locale.h")
310 ENDIF(HAVE_LOCALE_H)
311 IF(HAVE_LIBINTL_H)
312 LIST(APPEND FILES "libintl.h")
313 ENDIF(HAVE_LIBINTL_H)
314 LIST(LENGTH FILES NFILES)
315 IF(NFILES GREATER 0)
eca2cec9
FM
316 CHECK_SYMBOL_EXISTS(LC_MESSAGES "${FILES}" HAVE_LC_MESSAGES)
317 ENDIF(NFILES GREATER 0)
318ENDIF(NOT HAVE_LC_MESSAGES)
319
b3695c67 320# System particularities
e112fa1f 321IF(CMAKE_SYSTEM_NAME STREQUAL "solaris")
b3695c67
FM
322 TARGET_LINK_LIBRARIES(sarg socket nsl)
323 #SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_DEFINITIONS="-DSOLARIS ${COMPILE_DEFINITIONS}")
324 ADD_DEFINITIONS(-DSOLARIS)
e112fa1f 325ENDIF(CMAKE_SYSTEM_NAME STREQUAL "solaris")
b3695c67 326
05b90947
FM
327OPTION(ENABLE_EXTRA_PROTECT "Enable compile and runtime extra protections" OFF)
328IF(ENABLE_EXTRA_PROTECT)
9c7c6346
FM
329 GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS)
330 SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -fstack-protector -D_FORTIFY_SOURCE=2 -Werror")
d9c45e9c 331 CHECK_C_COMPILER_FLAG("-Wformat -Werror=format-security" HAVE_WERROR_FORMAT_SECURITY)
9c7c6346
FM
332 IF(HAVE_WERROR_FORMAT_SECURITY)
333 GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS)
d9c45e9c 334 SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -Wformat -Werror=format-security")
9c7c6346 335 ENDIF(HAVE_WERROR_FORMAT_SECURITY)
05b90947
FM
336ENDIF(ENABLE_EXTRA_PROTECT)
337
e9b33b57
FM
338# Compile sarg for debugging
339OPTION(ENABLE_DEBUG "Compile sarg with debugging symbols" OFF)
340IF(ENABLE_DEBUG)
341 GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS)
342 SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -g")
343ENDIF(ENABLE_DEBUG)
344
65b4ec2c
FM
345# Enable double check of the data written in the reports
346OPTION(ENABLE_DOUBLE_CHECK_DATA "Make sarg double check the data it manipulates and output a warning if an error is found" OFF)
347
b3695c67
FM
348# Save the configuration for the project
349CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/include/config.h.in" "${CMAKE_BINARY_DIR}/config.h" @ONLY)
350
351# Installation of the project
352INSTALL(TARGETS sarg DESTINATION "${BINDIR}")
6798f0a7
FM
353INSTALL(FILES sarg.conf DESTINATION "${SYSCONFDIR}" RENAME sarg.conf.exemple)
354INSTALL(FILES exclude_codes user_limit_block css.tpl DESTINATION "${SYSCONFDIR}")
b3695c67 355INSTALL(FILES sarg.1 DESTINATION "${MANDIR}")
a1de61fe
FM
356INSTALL(DIRECTORY languages/ DESTINATION "${LANGDIR}" PATTERN ".svn" EXCLUDE)
357INSTALL(DIRECTORY images/ DESTINATION "${IMAGEDIR}" PATTERN ".svn" EXCLUDE)
358INSTALL(DIRECTORY fonts/ DESTINATION "${FONTDIR}" FILES_MATCHING PATTERN "*.ttf" PATTERN ".svn" EXCLUDE)
7bbc1de4 359INSTALL(DIRECTORY sarg-php/ DESTINATION "${SARGPHPDIR}" PATTERN ".svn" EXCLUDE)
b3695c67
FM
360
361# Package creation
362SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Squid Analysis Report Generator")
363SET(CPACK_PACKAGE_VERSION_MAJOR "${sarg_VERSION}")
364SET(CPACK_PACKAGE_VERSION_MINOR "${sarg_REVISION}")
365SET(CPACK_PACKAGE_VERSION_PATCH "${sarg_BUILD}")
366SET(CPACK_GENERATOR TGZ)
367SET(CPACK_SOURCE_GENERATOR TGZ)
a1de61fe 368SET(CPACK_SOURCE_IGNORE_FILES "/.svn/" "/debian/" "/html/" "Makefile$" "config\\\\.log$" "config\\\\.status$" ".*~$" "\\\\.o$")
b3695c67 369INCLUDE(CPack)