]> git.ipfire.org Git - thirdparty/sarg.git/blobdiff - CMakeLists.txt
Automated replacement of the translated strings by a gettext macro
[thirdparty/sarg.git] / CMakeLists.txt
index bcd3f7fae2e9e1d112564850ecf3d6beb65d0ea0..bcd378ead78da5f2a08d3d8c583c14a6273ded3b 100755 (executable)
@@ -1,9 +1,9 @@
 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)
@@ -17,7 +17,7 @@ DEFINE_PROPERTY(GLOBAL PROPERTY enable-htmldir BRIEF_DOCS "--enable-htmldir=html
                         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)
@@ -50,9 +50,10 @@ SET(SRC util.c log.c report.c topuser.c email.c sort.c html.c
        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)
@@ -62,9 +63,16 @@ ADD_EXECUTABLE(sarg ${SRC})
 
 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)
@@ -100,8 +108,10 @@ CHECK_INCLUDE_FILE(sys/wait.h HAVE_SYS_WAIT_H)
 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)
@@ -159,6 +169,17 @@ size_t iconv();
    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)
@@ -222,8 +243,8 @@ IF(HAVE_RLIM_T)
    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
@@ -248,6 +269,21 @@ IF(NOT HAVE_MKSTEMP)
    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)