]> git.ipfire.org Git - thirdparty/sarg.git/blame - CMakeLists.txt
Split the input log file into several files
[thirdparty/sarg.git] / CMakeLists.txt
CommitLineData
b3695c67
FM
1CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
2PROJECT(sarg C)
3SET(sarg_VERSION 2)
cdcff101 4SET(sarg_REVISION "3.2-pre1")
e3af0ae9 5SET(sarg_BUILD "")
2c7e8c23 6SET(sarg_BUILDDATE "Jan-25-2011")
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
9dc20988 50 index.c getconf.c usage.c decomp.c ip2name.c
b3695c67
FM
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)
4afbb7a5 149CHECK_FUNCTION_EXISTS(getaddrinfo HAVE_GETADDRINFO)
e9b33b57 150CHECK_FUNCTION_EXISTS(inet_aton HAVE_INET_ATON)
b3695c67
FM
151
152# Find gd
153CHECK_INCLUDE_FILE(gd.h HAVE_GD_H)
154IF(HAVE_GD_H)
155 CHECK_INCLUDE_FILE(gdfontl.h HAVE_GDFONTL_H)
156 CHECK_INCLUDE_FILE(gdfontt.h HAVE_GDFONTT_H)
157 CHECK_INCLUDE_FILE(gdfonts.h HAVE_GDFONTS_H)
158 CHECK_INCLUDE_FILE(gdfontmb.h HAVE_GDFONTMB_H)
159 CHECK_INCLUDE_FILE(gdfontg.h HAVE_GDFONTG_H)
a1de61fe 160 FIND_LIBRARY(GD_LIBRARY NAMES gd bgd DOC "The GD library")
b3695c67 161 IF(GD_LIBRARY)
2824ec9b 162 #CHECK_LIBRARY_EXISTS(gd gdImagePng "." HAVE_GD_LIB)
a1de61fe 163 TARGET_LINK_LIBRARIES(sarg ${GD_LIBRARY})
2824ec9b
FM
164 SET(HAVE_GD_LIB GD_LIBRARY CACHE PATH DOC "True IF GD was found")
165 SET(HAVE_GD_LIB CACHE BOOL DOC "True IF must use GD")
b3695c67
FM
166 ENDIF(GD_LIBRARY)
167ENDIF(HAVE_GD_H)
168
169# Find iconv
170OPTION(ENABLE_ICONV "Enable the usage of iconv" ON)
171IF(ENABLE_ICONV)
172 CHECK_INCLUDE_FILE(iconv.h HAVE_ICONV_H)
173 IF(HAVE_ICONV_H)
463f8e09
FM
174 FIND_PATH(ICONV_INCLUDE_PATH NAMES iconv.h)
175 FIND_LIBRARY(ICONV_LIBRARY NAMES iconv DOC "The ICONV library")
176 IF(ICONV_LIBRARY)
177 TARGET_LINK_LIBRARIES(sarg ${ICONV_LIBRARY})
178 ENDIF(ICONV_LIBRARY)
b3695c67 179 CHECK_FUNCTION_EXISTS(iconv_open HAVE_ICONV)
b3695c67 180
b8642c01
FM
181 IF(NOT USE_CONST_ICONV)
182 SET(ICONV_CONST_FILE ${CMAKE_BINARY_DIR}/consticonv.c)
183 FILE(WRITE ${ICONV_CONST_FILE} "
b3695c67 184#include <iconv.h>
b8642c01
FM
185#ifdef __CLASSIC_C__
186int main(){
187 int ac;
188 char*av[];
b3695c67 189#else
b8642c01 190int main(int ac, char*av[]){
b3695c67 191#endif
b8642c01
FM
192 iconv_t localtoutf=(iconv_t)-1;
193 const char *str=\"\";
194 char *sstr=\"\";
195 size_t slen=0, sslen=0;
196
197 iconv (localtoutf, (const char **)&str, &slen, &sstr, &sslen);
198 if(ac > 1000)
199 {
200 return *av[0];
201 }
202 return 0;
203}
b3695c67 204")
b8642c01
FM
205 TRY_COMPILE(USE_CONST_ICONV ${CMAKE_BINARY_DIR} ${ICONV_CONST_FILE} CMAKE_FLAGS -DLINK_LIBRARIES="iconv")
206 FILE(REMOVE ${ICONV_CONST_FILE})
207 IF(USE_CONST_ICONV)
208 SET(ICONV_CONST "const" CACHE STRING "The type of char to use with iconv")
209 MESSAGE(STATUS "iconv requires const char **")
210 ELSEIF(USE_CONST_ICONV)
211 SET(ICONV_CONST "" CACHE STRING "The type of char to use with iconv")
212 MESSAGE(STATUS "iconv requires char **")
213 ENDIF(USE_CONST_ICONV)
214 SET(USE_CONST_ICONV TRUE CACHE BOOL "Use const char ** with iconv")
215 ENDIF(NOT USE_CONST_ICONV)
b3695c67
FM
216 ENDIF(HAVE_ICONV_H)
217ENDIF(ENABLE_ICONV)
218
965c4a6f
FM
219# Find ldap
220CHECK_INCLUDE_FILE(ldap.h HAVE_LDAP_H)
221IF(HAVE_LDAP_H)
222 FIND_LIBRARY(LDAP_LIBRARY NAMES ldap DOC "The ldap library")
223 IF(LDAP_LIBRARY)
224 TARGET_LINK_LIBRARIES(sarg ${LDAP_LIBRARY})
225 SET(HAVE_LDAP LDAP_LIBRARY CACHE PATH DOC "True if LDAP was found")
226 SET(HAVE_LDAP CACHE BOOL DOC "True if must use LDAP")
227 ENDIF(LDAP_LIBRARY)
228ENDIF(HAVE_LDAP_H)
229
b3695c67
FM
230# Support for large files
231OPTION(ENABLE_LARGEFILE "Enable the usage of large files" ON)
232IF(ENABLE_LARGEFILE)
233 IF(LFS_SEARCHED MATCHES "^LFS_SEARCHED$")
234 SET(SEARCH_LARGEFILE TRUE)
235 ENDIF(LFS_SEARCHED MATCHES "^LFS_SEARCHED$")
236ENDIF(ENABLE_LARGEFILE)
237
238IF(SEARCH_LARGEFILE)
239 SET(LFS_SEARCHED TRUE CACHE INTERNAL "LFS has been searched")
240 MESSAGE(STATUS "Looking for large file support")
241 SET(LFS_FILE "${CMAKE_BINARY_DIR}/lfsfopen64.c")
242 FILE(WRITE ${LFS_FILE} "
243#include <stdio.h>
244int main(void)
245{
246FILE *f = fopen64 (\"/tmp/foo\",\"r\");
247return(0);
248}
249")
250 TRY_COMPILE(HAVE_FOPEN64 ${CMAKE_BINARY_DIR} ${LFS_FILE} COMPILE_DEFINITIONS "-Wall -Werror")
251 IF(HAVE_FOPEN64)
252 MESSAGE(STATUS "Looking for large file support - found")
253 ELSE(HAVE_FOPEN64)
254 SET(LFS_NEED_DEFINE FALSE CACHE BOOL "Does LFS require _LARGEFILE64_SOURCE ?")
255 MESSAGE(STATUS "Looking for large file support with _LARGEFILE64_SOURCE")
256 FILE(WRITE ${LFS_FILE} "
257#define _LARGEFILE64_SOURCE
258#include <stdio.h>
259int main(void)
260{
261FILE *f = fopen64 (\"/tmp/foo\",\"r\");
262return(0);
263}
264")
265 TRY_COMPILE(HAVE_FOPEN64 ${CMAKE_BINARY_DIR} ${LFS_FILE} OUTPUT_VARIABLE LFS_OUTPUT)
266 IF(HAVE_FOPEN64)
267 MESSAGE(STATUS "Looking for large file support with _LARGEFILE64_SOURCE - found")
268 SET(LFS_NEED_DEFINE TRUE CACHE BOOL "Does LFS require _LARGEFILE64_SOURCE ?" FORCE)
269 ELSE(HAVE_FOPEN64)
270 MESSAGE("Failed with output ${LFS_OUTPUT}")
271 ENDIF(HAVE_FOPEN64)
272 ENDIF(HAVE_FOPEN64)
273 FILE(REMOVE ${LFS_FILE})
274ENDIF(SEARCH_LARGEFILE)
275
276IF(LFS_NEED_DEFINE)
277 ADD_DEFINITIONS(-D_LARGEFILE64_SOURCE)
278ENDIF(LFS_NEED_DEFINE)
279
b3695c67
FM
280# Find rlim_t
281IF(HAVE_SYS_RESOURCE_H)
282 SET(CMAKE_EXTRA_INCLUDE_FILES "sys/resource.h")
283ENDIF(HAVE_SYS_RESOURCE_H)
284CHECK_TYPE_SIZE(rlim_t RLIM_T)
285IF(HAVE_RLIM_T)
286 IF(RLIM_T STREQUAL 4)
287 SET(RLIM_STRING "%d")
288 ELSEIF(RLIM_T STREQUAL 8)
289 SET(RLIM_STRING "%lli")
290 ELSE(RLIM_T STREQUAL 4)
291 MESSAGE("Unknown rlim_t size")
292 ENDIF(RLIM_T STREQUAL 4)
eca2cec9
FM
293#ELSE(HAVE_RLIM_T)
294# MESSAGE("Cannot detect the size of your system's rlim_t type")
b3695c67
FM
295ENDIF(HAVE_RLIM_T)
296
b3695c67 297CHECK_FUNCTION_EXISTS(mkstemp HAVE_MKSTEMP)
e112fa1f 298IF(NOT HAVE_MKSTEMP)
b3695c67 299 # MingW provide mkstemps in libiberty but doesn't declare it in any header file
9a2efbd0 300 FIND_LIBRARY(IBERTY_LIB NAMES iberty DOC "The library of mingw containing mkstemps")
b3695c67
FM
301 IF(IBERTY_LIB)
302 TARGET_LINK_LIBRARIES(sarg iberty)
303 ENDIF(IBERTY_LIB)
e112fa1f 304ENDIF(NOT HAVE_MKSTEMP)
b3695c67 305
eca2cec9
FM
306# Gettext and friends
307IF(NOT HAVE_LC_MESSAGES)
d25d4e6a 308 SET(FILES)
eca2cec9
FM
309 IF(HAVE_LOCALE_H)
310 LIST(APPEND FILES "locale.h")
311 ENDIF(HAVE_LOCALE_H)
312 IF(HAVE_LIBINTL_H)
313 LIST(APPEND FILES "libintl.h")
314 ENDIF(HAVE_LIBINTL_H)
315 LIST(LENGTH FILES NFILES)
316 IF(NFILES GREATER 0)
eca2cec9
FM
317 CHECK_SYMBOL_EXISTS(LC_MESSAGES "${FILES}" HAVE_LC_MESSAGES)
318 ENDIF(NFILES GREATER 0)
319ENDIF(NOT HAVE_LC_MESSAGES)
320
b3695c67 321# System particularities
e112fa1f 322IF(CMAKE_SYSTEM_NAME STREQUAL "solaris")
b3695c67
FM
323 TARGET_LINK_LIBRARIES(sarg socket nsl)
324 #SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_DEFINITIONS="-DSOLARIS ${COMPILE_DEFINITIONS}")
325 ADD_DEFINITIONS(-DSOLARIS)
e112fa1f 326ENDIF(CMAKE_SYSTEM_NAME STREQUAL "solaris")
b3695c67 327
05b90947
FM
328OPTION(ENABLE_EXTRA_PROTECT "Enable compile and runtime extra protections" OFF)
329IF(ENABLE_EXTRA_PROTECT)
9c7c6346
FM
330 GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS)
331 SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -fstack-protector -D_FORTIFY_SOURCE=2 -Werror")
d9c45e9c 332 CHECK_C_COMPILER_FLAG("-Wformat -Werror=format-security" HAVE_WERROR_FORMAT_SECURITY)
9c7c6346
FM
333 IF(HAVE_WERROR_FORMAT_SECURITY)
334 GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS)
d9c45e9c 335 SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -Wformat -Werror=format-security")
9c7c6346 336 ENDIF(HAVE_WERROR_FORMAT_SECURITY)
05b90947
FM
337ENDIF(ENABLE_EXTRA_PROTECT)
338
e9b33b57
FM
339# Compile sarg for debugging
340OPTION(ENABLE_DEBUG "Compile sarg with debugging symbols" OFF)
341IF(ENABLE_DEBUG)
342 GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS)
343 SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -g")
344ENDIF(ENABLE_DEBUG)
345
04a01ed3
FM
346# Enable double check of the data written in the reports
347OPTION(ENABLE_DOUBLE_CHECK_DATA "Make sarg double check the data it manipulates and output a warning if an error is found" OFF)
348
b3695c67
FM
349# Save the configuration for the project
350CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/include/config.h.in" "${CMAKE_BINARY_DIR}/config.h" @ONLY)
351
352# Installation of the project
353INSTALL(TARGETS sarg DESTINATION "${BINDIR}")
6798f0a7
FM
354INSTALL(FILES sarg.conf DESTINATION "${SYSCONFDIR}" RENAME sarg.conf.exemple)
355INSTALL(FILES exclude_codes user_limit_block css.tpl DESTINATION "${SYSCONFDIR}")
b3695c67 356INSTALL(FILES sarg.1 DESTINATION "${MANDIR}")
a1de61fe
FM
357INSTALL(DIRECTORY languages/ DESTINATION "${LANGDIR}" PATTERN ".svn" EXCLUDE)
358INSTALL(DIRECTORY images/ DESTINATION "${IMAGEDIR}" PATTERN ".svn" EXCLUDE)
359INSTALL(DIRECTORY fonts/ DESTINATION "${FONTDIR}" FILES_MATCHING PATTERN "*.ttf" PATTERN ".svn" EXCLUDE)
7bbc1de4 360INSTALL(DIRECTORY sarg-php/ DESTINATION "${SARGPHPDIR}" PATTERN ".svn" EXCLUDE)
b3695c67
FM
361
362# Package creation
363SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Squid Analysis Report Generator")
364SET(CPACK_PACKAGE_VERSION_MAJOR "${sarg_VERSION}")
365SET(CPACK_PACKAGE_VERSION_MINOR "${sarg_REVISION}")
366SET(CPACK_PACKAGE_VERSION_PATCH "${sarg_BUILD}")
367SET(CPACK_GENERATOR TGZ)
368SET(CPACK_SOURCE_GENERATOR TGZ)
a1de61fe 369SET(CPACK_SOURCE_IGNORE_FILES "/.svn/" "/debian/" "/html/" "Makefile$" "config\\\\.log$" "config\\\\.status$" ".*~$" "\\\\.o$")
b3695c67 370INCLUDE(CPack)