# TODO {{{
# USE_SETGID
# DOTLOCK_{GROUP,PERMISSION}
-# ENABLE_NLS
-SET(ENABLE_NLS 1)
# }}}
INCLUDE(CMakeDetermineCCompiler)
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")
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)
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)
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)
# }}}
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}")
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)
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")
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
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)
+
+ADD_EXECUTABLE(madmutt ${madmuttsrc})
+TARGET_LINK_LIBRARIES(madmutt mime sys mx lua imap ui lib)
SET_TARGET_PROPERTIES(madmutt PROPERTIES LINK_FLAGS ${MUTTLIBS})
ADD_EXECUTABLE(madmutt_dotlock dotlock.c)
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(
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 ${madmutt_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 ${madmutt_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 ${madmutt_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)
# }}}