CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
PROJECT(sarg C)
SET(sarg_VERSION 2)
-SET(sarg_REVISION 2)
-SET(sarg_BUILD "7rc1")
-SET(sarg_BUILDDATE "Jan-22-2010")
+SET(sarg_REVISION "3rc1")
+SET(sarg_BUILD "")
+SET(sarg_BUILDDATE "Mar-02-2010")
INCLUDE(AddFileDependencies)
INCLUDE(CheckIncludeFile)
FULL_DOCS "Select htmldir as the root of your WWW documents")
SET(PACKAGE_NAME "sarg")
-SET(PACKAGE_VERSION "${sarg_VERSION}.${sarg_REVISION}.${sarg_BUILD}")
+SET(PACKAGE_VERSION "${sarg_VERSION}.${sarg_REVISION}${sarg_BUILD}")
MACRO(SET_ABS_SOURCE VAR DOC)
IF(${VAR} AND NOT ${VAR}_SOURCE)
totger.c index.c getconf.c usage.c decomp.c ip2name.c
useragent.c exclude.c convlog.c totday.c repday.c datafile.c
indexonly.c splitlog.c lastlog.c topsites.c siteuser.c css.c
- smartfilter.c denied.c authfail.c language.c charset.c
+ smartfilter.c denied.c authfail.c charset.c
squidguard_log.c squidguard_report.c auth.c download.c grepday.c
- dansguardian_log.c dansguardian_report.c realtime.c)
+ dansguardian_log.c dansguardian_report.c realtime.c btree_cache.c
+ usertab.c userinfo.c)
FOREACH(f ${SRC})
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)
SET_TARGET_PROPERTIES(sarg PROPERTIES VERSION "${sarg_VERSION}.${sarg_REVISION}.${sarg_BUILD}")
-SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "$ENV{CFLAGS} -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter")
+SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "$ENV{CFLAGS} -Wall -Wno-sign-compare")
SET_TARGET_PROPERTIES(sarg PROPERTIES LINK_FLAGS "$ENV{LDFLAGS}")
+CHECK_C_COMPILER_FLAG("-Wextra" HAVE_WEXTRA)
+IF(HAVE_WEXTRA)
+ # Not supported by gcc 3.3
+ GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS)
+ SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -Wextra -Wno-unused-parameter")
+ENDIF(HAVE_WEXTRA)
+
CHECK_C_COMPILER_FLAG("-Werror=implicit-function-declaration" HAVE_WERROR_IMPLICIT_FUNCTION)
IF(HAVE_WERROR_IMPLICIT_FUNCTION)
GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS)
CHECK_INCLUDE_FILE(stdarg.h HAVE_STDARG_H)
CHECK_INCLUDE_FILE(inttypes.h HAVE_INTTYPES_H)
CHECK_INCLUDE_FILE(limits.h HAVE_LIMITS_H)
+CHECK_INCLUDE_FILE(math.h HAVE_MATH_H)
CHECK_INCLUDE_FILE(locale.h HAVE_LOCALE_H)
CHECK_INCLUDE_FILE(execinfo.h HAVE_EXECINFO_H)
+CHECK_INCLUDE_FILE(libintl.h HAVE_LIBINTL_H)
CHECK_FUNCTION_EXISTS(bzero HAVE_BZERO)
CHECK_FUNCTION_EXISTS(backtrace HAVE_BACKTRACE)
ENDIF(HAVE_ICONV_H)
ENDIF(ENABLE_ICONV)
+# Find ldap
+CHECK_INCLUDE_FILE(ldap.h HAVE_LDAP_H)
+IF(HAVE_LDAP_H)
+ FIND_LIBRARY(LDAP_LIBRARY NAMES ldap DOC "The ldap library")
+ IF(LDAP_LIBRARY)
+ TARGET_LINK_LIBRARIES(sarg ${LDAP_LIBRARY})
+ SET(HAVE_LDAP LDAP_LIBRARY CACHE PATH DOC "True if LDAP was found")
+ SET(HAVE_LDAP CACHE BOOL DOC "True if must use LDAP")
+ ENDIF(LDAP_LIBRARY)
+ENDIF(HAVE_LDAP_H)
+
# Support for large files
OPTION(ENABLE_LARGEFILE "Enable the usage of large files" ON)
IF(ENABLE_LARGEFILE)
ELSE(RLIM_T STREQUAL 4)
MESSAGE("Unknown rlim_t size")
ENDIF(RLIM_T STREQUAL 4)
-ELSE(HAVE_RLIM_T)
- MESSAGE("Cannot detect the size of your system's rlim_t type")
+#ELSE(HAVE_RLIM_T)
+# MESSAGE("Cannot detect the size of your system's rlim_t type")
ENDIF(HAVE_RLIM_T)
# Windows need lib wsock32
ENDIF(IBERTY_LIB)
ENDIF(NOT HAVE_MKSTEMP)
+# Gettext and friends
+IF(NOT HAVE_LC_MESSAGES)
+ SET(FILES)
+ IF(HAVE_LOCALE_H)
+ LIST(APPEND FILES "locale.h")
+ ENDIF(HAVE_LOCALE_H)
+ IF(HAVE_LIBINTL_H)
+ LIST(APPEND FILES "libintl.h")
+ ENDIF(HAVE_LIBINTL_H)
+ LIST(LENGTH FILES NFILES)
+ IF(NFILES GREATER 0)
+ CHECK_SYMBOL_EXISTS(LC_MESSAGES "${FILES}" HAVE_LC_MESSAGES)
+ ENDIF(NFILES GREATER 0)
+ENDIF(NOT HAVE_LC_MESSAGES)
+
# System particularities
IF(CMAKE_SYSTEM_NAME STREQUAL "solaris")
TARGET_LINK_LIBRARIES(sarg socket nsl)