X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=CMakeLists.txt;h=e844caa95c3c3be7bc14834032bd185da3052858;hp=25ded1b733e7ad174b2d07b60275237576f8fff3;hb=5d88c27be2e8f16849640ee321d8d543170a4461;hpb=d4b790a79307b4f53c49f4c25223977a8baa6aa1 diff --git a/CMakeLists.txt b/CMakeLists.txt index 25ded1b..e844caa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,10 +1,10 @@ PROJECT(madmutt C) +SET(PACKAGE madmutt) SET(CMAKE_MODULE_PATH ${madmutt_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) # TODO {{{ # USE_SETGID # DOTLOCK_{GROUP,PERMISSION} -# HAVE_DIRENT_D_INO # }}} INCLUDE(CMakeDetermineCCompiler) @@ -13,9 +13,10 @@ include(XConfig) ADD_DEFINITIONS(-DHAVE_CONFIG_H) ADD_DEFINITIONS(-D_GNU_SOURCE) -INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR} ${madmutt_SOURCE_DIR}) +INCLUDE_DIRECTORIES(${madmutt_BINARY_DIR} ${madmutt_SOURCE_DIR}) SET(BINDIR "${CMAKE_INSTALL_PREFIX}/bin") +SET(DATADIR "${CMAKE_INSTALL_PREFIX}/share") SET(PKGDATADIR "${CMAKE_INSTALL_PREFIX}/share/madmutt") SET(PKGDOCDIR "${CMAKE_INSTALL_PREFIX}/share/doc/madmutt") SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc") @@ -27,8 +28,9 @@ ADD_DEFINITIONS("-DPKGDATADIR=\\\"${PKGDATADIR}\\\"") ADD_DEFINITIONS("-DPKGDOCDIR=\\\"${PKGDOCDIR}\\\"") ADD_DEFINITIONS("-DSYSCONFDIR=\\\"${SYSCONFDIR}\\\"") ADD_DEFINITIONS("-DVERSION=\\\"${VERSION}\\\"") +ADD_DEFINITIONS("-DMUTTLOCALEDIR=\\\"${DATADIR}/locale\\\"") -OPTION(WITH_MAILPATH "Where new mail is spooled") +SET(MAILPATH CACHE STRING "Where new mail is spooled") OPTION(WITH_GPGME "Use GPGME [default: on]" ON) OPTION(WITH_NNTP "Build NNTP support [default: off]") OPTION(WITH_IDN "Use GNU libidn for domain names [default: off]") @@ -39,21 +41,28 @@ OPTION(USE_FLOCK "Use flock to lock files [default: off]") OPTION(USE_FCNTL "Use fcntl to lock files [default: on]" ON) OPTION(USE_HCACHE "Enable headers caching [default: off]") -FIND_FILE(GPERF gperf) -FIND_FILE(SENDMAIL sendmail PATHS /usr/sbin /sbin /usr/lib) -FIND_FILE(MIXMASTER mixmaster) - -IF(WITH_MAILPATH) - SET(MAILPATH ${WITH_MAILPATH}) -ELSEIF(EXISTS /var/mail) - SET(MAILPATH "/var/mail") -ELSEIF(EXISTS /var/spool/mail) - SET(MAILPATH "/var/spool/mail") -ELSEIF(EXISTS /usr/spool/mail) - SET(MAILPATH "/usr/spool/mail") -ELSEIF(EXISTS /usr/mail) - SET(MAILPATH "/usr/mail") -ENDIF(WITH_MAILPATH) +FIND_FILE(SENDMAIL sendmail + PATHS /usr/sbin /sbin /usr/lib + DOC "path to sendmail executable" +) +FIND_FILE(MIXMASTER mixmaster DOC "path to mixmaster") +IF(NOT MIXMASTER) + SET(MIXMASTER "mixmaster") +ENDIF(NOT MIXMASTER) + +IF(NOT MAILPATH) + IF(EXISTS /var/mail) + SET(MAILPATH "/var/mail") + ELSEIF(EXISTS /var/spool/mail) + SET(MAILPATH "/var/spool/mail") + ELSEIF(EXISTS /usr/spool/mail) + SET(MAILPATH "/usr/spool/mail") + ELSEIF(EXISTS /usr/mail) + SET(MAILPATH "/usr/mail") + ELSE(EXISTS /var/mail) + MESSAGE(FATAL_ERROR "Unable to determine MAILPATH") + ENDIF(EXISTS /var/mail) +ENDIF(NOT MAILPATH) # headers {{{ INCLUDE(CheckIncludeFile) @@ -94,12 +103,20 @@ IF(NOT HAVE_ICONV_H) MESSAGE(FATAL_ERROR "inconv.h not found") ENDIF(NOT HAVE_ICONV_H) +# }}} +# types {{{ + +INCLUDE(CheckStructMember) + +CHECK_STRUCT_MEMBER("struct dirent" "d_ino" "dirent.h" HAVE_DIRENT_D_INO) + # }}} # functions {{{ INCLUDE (CheckFunctionExists) CHECK_FUNCTION_EXISTS(strlimit HAVE_SETRLIMIT) CHECK_FUNCTION_EXISTS(getsid HAVE_GETSID) +CHECK_FUNCTION_EXISTS(setegid HAVE_SETEGID) CHECK_FUNCTION_EXISTS(isctype HAVE_ISCTYPE) CHECK_FUNCTION_EXISTS(getopt HAVE_GETOPT) CHECK_FUNCTION_EXISTS(regcomp HAVE_REGCOMP) @@ -169,6 +186,7 @@ IF(WITH_GPGME) INCLUDE_DIRECTORIES(${gpgme_INCDIR}) ADD_DEFINITIONS(${gpgme_CFLAGS}) SET(MUTTLIBS "${MUTTLIBS} ${gpgme_LDFLAGS}") + SET(HAVE_GPGME 1) ENDIF(WITH_GPGME) XCONFIG(libgnutls-config gnutls_INCDIR gnutls_LINKDIR gnutls_LDFLAGS gnutls_CFLAGS) @@ -227,10 +245,10 @@ IF(WITH_LIBESMTP) SET(MUTTLIBS "${MUTTLIBS} -lesmtp") ENDIF(WITH_LIBESMTP) -IF(WITH_NNTP) +IF(WITH_NNTP AND NOT USE_NNTP) SET(USE_NNTP 1) MESSAGE(STATUS "building NNTP support") -ENDIF(WITH_NNTP) +ENDIF(WITH_NNTP AND NOT USE_NNTP) # }}} # C flags {{{ @@ -300,10 +318,10 @@ MADMUTT_SOURCES(madmuttsrc madmuttgen buffy.cpkg charset.cpkg crypt.cpkg + score.cpkg account.c attach.c - base64.c browser.c commands.c compose.c @@ -327,7 +345,6 @@ MADMUTT_SOURCES(madmuttsrc madmuttgen recvattach.c recvcmd.c remailer.c - score.c send.c sendlib.c send_smtp.c @@ -353,8 +370,8 @@ TARGET_LINK_LIBRARIES(madmutt_dotlock lib) ADD_CUSTOM_COMMAND( OUTPUT ${madmutt_SOURCE_DIR}/keymap_defs.h - DEPENDS ${madmutt_SOURCE_DIR}/OPS - COMMAND ${madmutt_SOURCE_DIR}/gen_defs ${madmutt_SOURCE_DIR}/OPS > ${madmutt_SOURCE_DIR}/keymap_defs.h + DEPENDS ${madmutt_SOURCE_DIR}/OPS ${madmutt_SOURCE_DIR}/tools/gen_defs + COMMAND ${madmutt_SOURCE_DIR}/tools/gen_defs ${madmutt_SOURCE_DIR}/OPS > ${madmutt_SOURCE_DIR}/keymap_defs.h COMMENT "Generating ${madmutt_SOURCE_DIR}/keymap_defs.h from ${madmutt_SOURCE_DIR}/OPS" ) ADD_CUSTOM_COMMAND( @@ -363,37 +380,12 @@ ADD_CUSTOM_COMMAND( COMMAND sh ${madmutt_SOURCE_DIR}/charset.def > ${madmutt_SOURCE_DIR}/charset.gperf COMMENT "Generating ${madmutt_SOURCE_DIR}/charset.gperf from ${madmutt_SOURCE_DIR}/charset.def" ) -SET(__mt ${CMAKE_CURRENT_SOURCE_DIR}/lib-mime/mime-token) -ADD_CUSTOM_COMMAND( - OUTPUT ${__mt}.h - MAIN_DEPENDENCY ${__mt}.sh ${__mt}.def - COMMAND sh ${__mt}.sh ${__mt}.h < ${__mt}.def - COMMENT "Generating ${__mt}.h from ${__mt}.def" -) -SET(__lt ${CMAKE_CURRENT_SOURCE_DIR}/lib-lua/lua-token) -ADD_CUSTOM_COMMAND( - OUTPUT ${__lt}.h - MAIN_DEPENDENCY ${__lt}.gperf - COMMAND sh ${__lt}.gperf ${__lt}.h || \(${RM} ${__lt}.h; exit 1\) - COMMENT "Generating ${__lt}.h from ${__lt}.gperf" -) -SET(__lm ${CMAKE_CURRENT_SOURCE_DIR}/lib-lua/madmutt) -ADD_CUSTOM_COMMAND( - OUTPUT ${__lm}.li - MAIN_DEPENDENCY ${__lm}.cpkg - COMMAND ${madmutt_SOURCE_DIR}/tools/cpkg2c -h ${__lm}.cpkg > ${__lm}.li || \(${RM} ${__lm}.li; exit 1\) - COMMENT "Generating ${__lm}.li from ${__lm}.cpkg" -) -ADD_CUSTOM_TARGET( - generate_files - DEPENDS - ${madmuttgen} - ${madmutt_SOURCE_DIR}/keymap_defs.h - ${madmutt_SOURCE_DIR}/charset.gperf - ${madmutt_SOURCE_DIR}/lib-mime/mime-token.h - ${madmutt_SOURCE_DIR}/lib-lua/lua-token.h - ${madmutt_SOURCE_DIR}/lib-lua/madmutt.li +ADD_CUSTOM_TARGET(generate_file + DEPENDS ${madmuttgen} + ${madmutt_SOURCE_DIR}/keymap_defs.h + ${madmutt_SOURCE_DIR}/charset.gperf ) -ADD_DEPENDENCIES(madmutt generate_files) +ADD_DEPENDENCIES(generate_file generate_files) +ADD_DEPENDENCIES(madmutt generate_file) # }}}