X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=CMakeLists.txt;h=67bede316a720be0aa8b1e1c6e07383cf89f1d78;hp=ec93ee7c3bc9ee95ef502b53f984cbd20f7acdc8;hb=cfe08f2ca21af629f74268f1f1425a5fec0494cd;hpb=bc89c69d31e242e2ff4589438f4eb5869d5899f9 diff --git a/CMakeLists.txt b/CMakeLists.txt index ec93ee7..67bede3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,9 +4,6 @@ SET(CMAKE_MODULE_PATH ${madmutt_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) # TODO {{{ # USE_SETGID -# DOTLOCK_{GROUP,PERMISSION} -# ENABLE_NLS -SET(ENABLE_NLS 1) # }}} INCLUDE(CMakeDetermineCCompiler) @@ -15,7 +12,7 @@ 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") @@ -36,8 +33,6 @@ 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]") -OPTION(WITH_LIBESMTP "Use libESMTP [default: off]") -OPTION(WITH_SLANG "Use S-Lang instead of ncurses [default:off]") OPTION(USE_FLOCK "Use flock to lock files [default: off]") OPTION(USE_FCNTL "Use fcntl to lock files [default: on]" ON) @@ -47,10 +42,6 @@ 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) @@ -119,22 +110,7 @@ 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) -CHECK_FUNCTION_EXISTS(iswalnum HAVE_ISWALNUM) -CHECK_FUNCTION_EXISTS(iswalpha HAVE_ISWALPHA) -CHECK_FUNCTION_EXISTS(iswcntrl HAVE_ISWCNTRL) -CHECK_FUNCTION_EXISTS(iswdigit HAVE_ISWDIGIT) -CHECK_FUNCTION_EXISTS(iswgraph HAVE_ISWGRAPH) -CHECK_FUNCTION_EXISTS(iswlower HAVE_ISWLOWER) -CHECK_FUNCTION_EXISTS(iswprint HAVE_ISWPRINT) -CHECK_FUNCTION_EXISTS(iswpunct HAVE_ISWPUNCT) -CHECK_FUNCTION_EXISTS(iswspace HAVE_ISWSPACE) -CHECK_FUNCTION_EXISTS(iswupper HAVE_ISWUPPER) -CHECK_FUNCTION_EXISTS(iswxdigit HAVE_ISWXDIGIT) -CHECK_FUNCTION_EXISTS(towupper HAVE_TOWUPPER) -CHECK_FUNCTION_EXISTS(towlower HAVE_TOWLOWER) CHECK_FUNCTION_EXISTS(nl_langinfo HAVE_LANGINFO_CODESET) # }}} @@ -142,40 +118,22 @@ CHECK_FUNCTION_EXISTS(nl_langinfo HAVE_LANGINFO_CODESET) INCLUDE(CheckLibraryExists) INCLUDE(UsePkgConfig) -IF(WITH_SLANG) - IF(EXISTS ${CMAKE_INSTALL_PREFIX}/include/slang) - INCLUDE_DIRECTORIES(${CMAKE_INSTALL_PREFIX}/include/slang) - ELSEIF(EXISTS /usr/include/slang) - INCLUDE_DIRECTORIES(/usr/include/slang) - ENDIF(EXISTS ${CMAKE_INSTALL_PREFIX}/include/slang) - CHECK_LIBRARY_EXISTS(slang SLtt_get_terminfo "" USE_SLANG_CURSES) - IF(NOT USE_SLANG_CURSES) - MESSAGE(FATAL_ERROR "s-lang not found") - ENDIF(NOT USE_SLANG_CURSES) -ELSE(WITH_SLANG) - IF(HAVE_NCURSESW_NCURSES_H) - SET(CMAKE_REQUIRED_INCLUDES "ncursesw/ncurses.h") - SET(MUTTLIBS "${MUTTLIBS} -lncursesw") - ELSEIF(HAVE_NCURSES_H) - SET(CMAKE_REQUIRED_INCLUDES "ncurses.h") - SET(MUTTLIBS "${MUTTLIBS} -lncurses") - ELSEIF(HAVE_NCURSES_H OR HAVE_NCURSES_NCURSES_H) - SET(CMAKE_REQUIRED_INCLUDES "ncurses/ncurses.h") - SET(MUTTLIBS "${MUTTLIBS} -lncurses") - ELSE(HAVE_NCURSESW_NCURSES_H) - MESSAGE(FATAL_ERROR "could not find ncurses.h") - ENDIF(HAVE_NCURSESW_NCURSES_H) - SET(CMAKE_REQUIRED_LIBRARIES ${MUTTLIBS}) - CHECK_FUNCTION_EXISTS(start_color HAVE_START_COLOR) - CHECK_FUNCTION_EXISTS(typeahead HAVE_TYPEAHEAD) - CHECK_FUNCTION_EXISTS(bkgdset HAVE_BKGDSET) - CHECK_FUNCTION_EXISTS(curs_set HAVE_CURS_SET) - CHECK_FUNCTION_EXISTS(meta HAVE_META) - CHECK_FUNCTION_EXISTS(use_default_colors HAVE_USE_DEFAULT_COLORS) - CHECK_FUNCTION_EXISTS(resizeterm HAVE_RESIZETERM) - SET(CMAKE_REQUIRED_LIBRARIES) - SET(CMAKE_REQUIRED_INCLUDES) -ENDIF(WITH_SLANG) +IF(HAVE_NCURSESW_NCURSES_H) + SET(CMAKE_REQUIRED_INCLUDES "ncursesw/ncurses.h") + SET(MUTTLIBS "${MUTTLIBS} -lncursesw") +ELSEIF(HAVE_NCURSES_H) + SET(CMAKE_REQUIRED_INCLUDES "ncurses.h") + SET(MUTTLIBS "${MUTTLIBS} -lncurses") +ELSEIF(HAVE_NCURSES_H OR HAVE_NCURSES_NCURSES_H) + SET(CMAKE_REQUIRED_INCLUDES "ncurses/ncurses.h") + SET(MUTTLIBS "${MUTTLIBS} -lncurses") +ELSE(HAVE_NCURSESW_NCURSES_H) + MESSAGE(FATAL_ERROR "could not find ncurses.h") +ENDIF(HAVE_NCURSESW_NCURSES_H) +SET(CMAKE_REQUIRED_LIBRARIES ${MUTTLIBS}) +CHECK_FUNCTION_EXISTS(resizeterm HAVE_RESIZETERM) +SET(CMAKE_REQUIRED_LIBRARIES) +SET(CMAKE_REQUIRED_INCLUDES) PKGCONFIG(lua5.1 lua_INCDIR lua_LINKDIR lua_LDFLAGS lua_CFLAGS) MESSAGE(STATUS "found lua5.1 at: INCDIR ${lua_INCDIR}") @@ -194,6 +152,7 @@ ENDIF(WITH_GPGME) XCONFIG(libgnutls-config gnutls_INCDIR gnutls_LINKDIR gnutls_LDFLAGS gnutls_CFLAGS) INCLUDE_DIRECTORIES(${gnutls_INCDIR}) ADD_DEFINITIONS(${gnutls_CFLAGS}) +CHECK_INCLUDE_FILE(gnutls/openssl.h HAVE_GNUTLS_OPENSSL_H) SET(MUTTLIBS "${MUTTLIBS} ${gnutls_LDFLAGS}") CHECK_LIBRARY_EXISTS(sasl2 sasl_client_init "" WITH_SASL) @@ -208,6 +167,12 @@ IF(WITH_IDN) SET(HAVE_LIBIDN 1) ENDIF(WITH_IDN) +CHECK_LIBRARY_EXISTS(lockfile lockfile_create "" WITH_LOCKFILE) +IF(NOT WITH_LOCKFILE) + MESSAGE(FATAL_ERROR "lockfile not found") +ENDIF(NOT WITH_LOCKFILE) +SET(MUTTLIBS "${MUTTLIBS} -llockfile") + IF(USE_HCACHE) OPTION(WITH_QDBM "Use qdbm for header caching [default: on]" ON) OPTION(WITH_GDBM "Use gdbm for header caching [default: off]") @@ -242,11 +207,6 @@ IF(USE_HCACHE) ENDIF(NOT USE_HCACHE) ENDIF(USE_HCACHE) -IF(WITH_LIBESMTP) - SET(USE_LIBESMTP 1) - SET(MUTTLIBS "${MUTTLIBS} -lesmtp") -ENDIF(WITH_LIBESMTP) - IF(WITH_NNTP AND NOT USE_NNTP) SET(USE_NNTP 1) MESSAGE(STATUS "building NNTP support") @@ -309,28 +269,25 @@ ADD_SUBDIRECTORY(lib-mime) ADD_SUBDIRECTORY(lib-sys) ADD_SUBDIRECTORY(lib-ui) ADD_SUBDIRECTORY(imap) -IF(WITH_NNTP) - ADD_SUBDIRECTORY(nntp) -ENDIF(WITH_NNTP) ADD_SUBDIRECTORY(lib-mx) ADD_SUBDIRECTORY(lib-lua) +ADD_SUBDIRECTORY(po) MADMUTT_SOURCES(madmuttsrc madmuttgen alias.cpkg buffy.cpkg charset.cpkg crypt.cpkg + score.cpkg account.c attach.c - base64.c browser.c commands.c compose.c copy.c editmsg.c flags.c - from.c handler.c headers.c help.c @@ -346,35 +303,30 @@ MADMUTT_SOURCES(madmuttsrc madmuttgen postpone.c recvattach.c recvcmd.c - remailer.c - score.c send.c sendlib.c - send_smtp.c sort.c state.c thread.c main.c ) - -ADD_EXECUTABLE(madmutt ${madmuttsrc}) IF(WITH_NNTP) - TARGET_LINK_LIBRARIES(madmutt mime sys mx lua imap nntp ui lib) -ELSE(WITH_NNTP) - TARGET_LINK_LIBRARIES(madmutt mime sys mx lua imap ui lib) + MADMUTT_SOURCES(madmuttsrc madmuttgen + nntp.c + ) ENDIF(WITH_NNTP) -SET_TARGET_PROPERTIES(madmutt PROPERTIES LINK_FLAGS ${MUTTLIBS}) -ADD_EXECUTABLE(madmutt_dotlock dotlock.c) -TARGET_LINK_LIBRARIES(madmutt_dotlock lib) +ADD_EXECUTABLE(madmutt ${madmuttsrc}) +TARGET_LINK_LIBRARIES(madmutt mime sys mx lua imap ui lib) +SET_TARGET_PROPERTIES(madmutt PROPERTIES LINK_FLAGS ${MUTTLIBS}) # generate_files hack {{{ 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( @@ -383,37 +335,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) # }}}