Skip to content

Commit

Permalink
use preferred upstream style for CMake files
Browse files Browse the repository at this point in the history
Use lowercase for command names and drop any arguments in else(), endif() and
friends.
  • Loading branch information
DerDakon committed Jan 23, 2016
1 parent c8c4b95 commit 3cdb644
Show file tree
Hide file tree
Showing 18 changed files with 675 additions and 675 deletions.
214 changes: 107 additions & 107 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,170 +1,170 @@
PROJECT(Qsmtp C)
project(Qsmtp C)

CMAKE_MINIMUM_REQUIRED(VERSION 2.8.6 FATAL_ERROR)
cmake_minimum_required(VERSION 2.8.6 FATAL_ERROR)

OPTION(CHECK_MEMORY "Add memory access checks" OFF)
option(CHECK_MEMORY "Add memory access checks" OFF)

SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")

INCLUDE(AddCCompilerFlag)
INCLUDE(CheckCCompilerFlag)
INCLUDE(CheckSymbolExists)
INCLUDE(CheckFunctionExists)
include(AddCCompilerFlag)
include(CheckCCompilerFlag)
include(CheckSymbolExists)
include(CheckFunctionExists)

FIND_PACKAGE(owfat REQUIRED)
find_package(owfat REQUIRED)

IF (COMMAND cmake_policy)
CMAKE_POLICY(SET CMP0003 NEW)
ENDIF (COMMAND cmake_policy)
if (COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif ()

IF (AUTOQMAIL)
IF (NOT IS_ABSOLUTE "${AUTOQMAIL}")
MESSAGE(SEND_ERROR "The value '${AUTOQMAIL}' given for the AUTOQMAIL variable does not name an absolute path")
ENDIF ()
ELSE ()
SET(AUTOQMAIL /var/qmail)
ENDIF ()
SET(AUTOQMAIL "${AUTOQMAIL}" CACHE PATH "Directory of qmail installation (usually /var/qmail)")
if (AUTOQMAIL)
if (NOT IS_ABSOLUTE "${AUTOQMAIL}")
message(SEND_ERROR "The value '${AUTOQMAIL}' given for the AUTOQMAIL variable does not name an absolute path")
endif ()
else ()
set(AUTOQMAIL /var/qmail)
endif ()
set(AUTOQMAIL "${AUTOQMAIL}" CACHE PATH "Directory of qmail installation (usually /var/qmail)")

SET(QSMTP_VERSION_MAJOR 0)
SET(QSMTP_VERSION_MINOR 30)
SET(QSMTP_VERSION_EXTRAVERSION dev)
SET(QSMTP_VERSION "${QSMTP_VERSION_MAJOR}.${QSMTP_VERSION_MINOR}${QSMTP_VERSION_EXTRAVERSION}")
set(QSMTP_VERSION_MAJOR 0)
set(QSMTP_VERSION_MINOR 30)
set(QSMTP_VERSION_EXTRAVERSION dev)
set(QSMTP_VERSION "${QSMTP_VERSION_MAJOR}.${QSMTP_VERSION_MINOR}${QSMTP_VERSION_EXTRAVERSION}")

FIND_PACKAGE(OpenSSL REQUIRED)
find_package(OpenSSL REQUIRED)

CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/include/version.h.tmpl ${CMAKE_BINARY_DIR}/version.h @ONLY)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/include/qmaildir.h.tmpl ${CMAKE_BINARY_DIR}/qmaildir.h @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/version.h.tmpl ${CMAKE_BINARY_DIR}/version.h @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/qmaildir.h.tmpl ${CMAKE_BINARY_DIR}/qmaildir.h @ONLY)

ADD_SUPPORTED_C_COMPILER_FLAG(CFLAGS_NO_SIGN_COMPARE -Wno-sign-compare)
ADD_SUPPORTED_C_COMPILER_FLAG(CFLAGS_NO_POINTER_SIGN -Wno-pointer-sign)
ADD_SUPPORTED_C_COMPILER_FLAG(CFLAGS_SHADOW -Wshadow)

IF (CHECK_MEMORY)
if (CHECK_MEMORY)
ADD_SUPPORTED_C_COMPILER_FLAG(CFLAGS_STACK_PROTECTOR -fstack-protector-all)

CHECK_C_COMPILER_FLAG(-fmudflap CFLAGS_MUDFLAP)

IF (CFLAGS_MUDFLAP)
FIND_PACKAGE(mudflap)
IF (MUDFLAP_FOUND)
if (CFLAGS_MUDFLAP)
find_package(mudflap)
if (MUDFLAP_FOUND)
ADD_C_COMPILER_FLAG(-fmudflap)
ENDIF (MUDFLAP_FOUND)
ENDIF (CFLAGS_MUDFLAP)
endif ()
endif ()

FIND_PACKAGE(ElectricFence)
IF (EFENCE_FOUND)
SET(MEMCHECK_LIBRARIES ${EFENCE_LIBRARIES})
ENDIF (EFENCE_FOUND)
ENDIF (CHECK_MEMORY)
find_package(ElectricFence)
if (EFENCE_FOUND)
set(MEMCHECK_LIBRARIES ${EFENCE_LIBRARIES})
endif ()
endif ()

SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -fprofile-arcs -ftest-coverage")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -fprofile-arcs -ftest-coverage")

ADD_C_COMPILER_FLAG(-Wall -W -Wshadow)
ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64)
add_definitions(-D_FILE_OFFSET_BITS=64)

CHECK_SYMBOL_EXISTS(O_CLOEXEC "fcntl.h" HAS_O_CLOEXEC)
IF (NOT HAS_O_CLOEXEC)
ADD_DEFINITIONS(-DO_CLOEXEC=0)
ENDIF ()
if (NOT HAS_O_CLOEXEC)
add_definitions(-DO_CLOEXEC=0)
endif ()

CHECK_SYMBOL_EXISTS(O_DIRECTORY "fcntl.h" HAS_O_DIRECTORY)
IF (NOT HAS_O_DIRECTORY)
ADD_DEFINITIONS(-DO_DIRECTORY=0)
ENDIF ()
if (NOT HAS_O_DIRECTORY)
add_definitions(-DO_DIRECTORY=0)
endif ()

SET(CMAKE_REQUIRED_INCLUDES fcntl.h)
set(CMAKE_REQUIRED_INCLUDES fcntl.h)
CHECK_FUNCTION_EXISTS(openat HAS_OPENAT)
UNSET(CMAKE_REQUIRED_INCLUDES)
IF (NOT HAS_OPENAT)
MESSAGE(SEND_ERROR "Support for openat() is missing")
ENDIF ()

OPTION(NOSTDERR "Do not print error messages to stderr" ON)

OPTION(USESYSLOG "Use syslog() for logging" ON)
IF(USESYSLOG)
ADD_DEFINITIONS(-DUSESYSLOG)
ENDIF(USESYSLOG)

OPTION(IPV4ONLY "Disable support for IPv6 connections" OFF)
IF(IPV4ONLY)
ADD_DEFINITIONS(-DIPV4ONLY)
ENDIF(IPV4ONLY)

OPTION(CHUNKING "Enable CHUNKING extension (RfC 3030)" OFF)
IF(CHUNKING)
ADD_DEFINITIONS(-DCHUNKING)
ENDIF(CHUNKING)

OPTION(DEBUG_IO "Log the SMTP session" OFF)
IF(DEBUG_IO)
ADD_DEFINITIONS(-DDEBUG_IO)
ENDIF(DEBUG_IO)

OPTION(AUTHCRAM "Support CRAMMD5 authentication method" OFF)
IF(AUTHCRAM)
ADD_DEFINITIONS(-DAUTHCRAM)
ENDIF(AUTHCRAM)

INCLUDE_DIRECTORIES(
unset(CMAKE_REQUIRED_INCLUDES)
if (NOT HAS_OPENAT)
message(SEND_ERROR "Support for openat() is missing")
endif ()

option(NOSTDERR "Do not print error messages to stderr" ON)

option(USESYSLOG "Use syslog() for logging" ON)
if(USESYSLOG)
add_definitions(-DUSESYSLOG)
endif()

option(IPV4ONLY "Disable support for IPv6 connections" OFF)
if(IPV4ONLY)
add_definitions(-DIPV4ONLY)
endif()

option(CHUNKING "Enable CHUNKING extension (RfC 3030)" OFF)
if(CHUNKING)
add_definitions(-DCHUNKING)
endif()

option(DEBUG_IO "Log the SMTP session" OFF)
if(DEBUG_IO)
add_definitions(-DDEBUG_IO)
endif()

option(AUTHCRAM "Support CRAMMD5 authentication method" OFF)
if(AUTHCRAM)
add_definitions(-DAUTHCRAM)
endif()

include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/include
${OPENSSL_INCLUDE_DIR}
${CMAKE_BINARY_DIR}
)

ADD_SUBDIRECTORY(lib)
ADD_SUBDIRECTORY(qsmtpd)
ADD_SUBDIRECTORY(qremote)
ADD_SUBDIRECTORY(tools)
add_subdirectory(lib)
add_subdirectory(qsmtpd)
add_subdirectory(qremote)
add_subdirectory(tools)

OPTION(BUILD_TESTS "Build testcases" ON)
option(BUILD_TESTS "Build testcases" ON)

IF (BUILD_TESTS)
INCLUDE(CTest)
if (BUILD_TESTS)
include(CTest)

CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/CTestCustom.cmake ${CMAKE_CURRENT_BINARY_DIR}/CTestCustom.cmake @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CTestCustom.cmake ${CMAKE_CURRENT_BINARY_DIR}/CTestCustom.cmake @ONLY)

ENABLE_TESTING()
enable_testing()

ADD_SUBDIRECTORY(tests)
ENDIF ()
add_subdirectory(tests)
endif ()

OPTION(BUILD_DOC "Build documentation" ON)
IF (BUILD_DOC)
option(BUILD_DOC "Build documentation" ON)
if (BUILD_DOC)
# API documentation
FIND_PACKAGE(Doxygen REQUIRED)
find_package(Doxygen REQUIRED)

CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)

ADD_CUSTOM_TARGET(docu ALL
add_custom_target(docu ALL
COMMAND ${DOXYGEN_EXECUTABLE}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})

IF (NOT DOC_DESTINATION_DIRECTORY)
SET(DOC_DESTINATION_DIRECTORY "doc/")
ENDIF (NOT DOC_DESTINATION_DIRECTORY)
if (NOT DOC_DESTINATION_DIRECTORY)
set(DOC_DESTINATION_DIRECTORY "doc/")
endif ()

INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${DOC_DESTINATION_DIRECTORY})
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${DOC_DESTINATION_DIRECTORY})

# general documentation
INSTALL(FILES
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/doc/CREDITS
${CMAKE_CURRENT_SOURCE_DIR}/doc/INSTALL
${CMAKE_CURRENT_SOURCE_DIR}/doc/THOUGHTS
${CMAKE_CURRENT_SOURCE_DIR}/doc/faq.html
DESTINATION ${DOC_DESTINATION_DIRECTORY})

# man pages
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/doc/man/Qremote.8 ${CMAKE_CURRENT_BINARY_DIR}/Qremote.8 @ONLY)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/doc/man/Qsmtpd.8 ${CMAKE_CURRENT_BINARY_DIR}/Qsmtpd.8 @ONLY)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/doc/man/filterconf.5 ${CMAKE_CURRENT_BINARY_DIR}/filterconf.5 @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doc/man/Qremote.8 ${CMAKE_CURRENT_BINARY_DIR}/Qremote.8 @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doc/man/Qsmtpd.8 ${CMAKE_CURRENT_BINARY_DIR}/Qsmtpd.8 @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doc/man/filterconf.5 ${CMAKE_CURRENT_BINARY_DIR}/filterconf.5 @ONLY)

INSTALL(FILES
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/Qremote.8
${CMAKE_CURRENT_BINARY_DIR}/Qsmtpd.8
DESTINATION man/man8)
INSTALL(FILES
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/filterconf.5
DESTINATION man/man5)
ENDIF (BUILD_DOC)
endif ()
4 changes: 2 additions & 2 deletions CTestConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
## Then modify the CMakeLists.txt file in the root directory of your
## project to incorporate the testing dashboard.
## # The following are required to uses Dart and the Cdash dashboard
## ENABLE_TESTING()
## INCLUDE(CTest)
## enable_testing()
## include(CTest)
set(CTEST_PROJECT_NAME "Qsmtp")
set(CTEST_NIGHTLY_START_TIME "00:00:00 UTC")

Expand Down
4 changes: 2 additions & 2 deletions cmake/Modules/AddCCompilerFlag.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ macro(ADD_C_COMPILER_FLAG)
unset(_found)
endforeach()
endif ()
endmacro(ADD_C_COMPILER_FLAG)
endmacro()

macro(ADD_SUPPORTED_C_COMPILER_FLAG VARNAME FLAG)
if (NOT ${ARGC} EQUAL 2)
Expand All @@ -24,4 +24,4 @@ macro(ADD_SUPPORTED_C_COMPILER_FLAG VARNAME FLAG)
ADD_C_COMPILER_FLAG("${FLAG}")
endif ()
endif ()
endmacro(ADD_SUPPORTED_C_COMPILER_FLAG)
endmacro()
12 changes: 6 additions & 6 deletions cmake/Modules/FindElectricFence.cmake
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
INCLUDE(FindPackageHandleStandardArgs)
include(FindPackageHandleStandardArgs)

FIND_LIBRARY(EFENCE_LIBRARY
find_library(EFENCE_LIBRARY
NAMES efence
)
MARK_AS_ADVANCED(EFENCE_LIBRARY)
mark_as_advanced(EFENCE_LIBRARY)

FIND_PACKAGE_HANDLE_STANDARD_ARGS(efence DEFAULT_MSG EFENCE_LIBRARY)

IF(EFENCE_FOUND)
SET(EFENCE_LIBRARIES ${EFENCE_LIBRARY})
ENDIF(EFENCE_FOUND)
if(EFENCE_FOUND)
set(EFENCE_LIBRARIES ${EFENCE_LIBRARY})
endif()
12 changes: 6 additions & 6 deletions cmake/Modules/Findmudflap.cmake
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
INCLUDE(FindPackageHandleStandardArgs)
include(FindPackageHandleStandardArgs)

FIND_LIBRARY(MUDFLAP_LIBRARY
find_library(MUDFLAP_LIBRARY
NAMES mudflap
)
MARK_AS_ADVANCED(MUDFLAP_LIBRARY)
mark_as_advanced(MUDFLAP_LIBRARY)

FIND_PACKAGE_HANDLE_STANDARD_ARGS(mudflap DEFAULT_MSG MUDFLAP_LIBRARY)

IF(MUDFLAP_FOUND)
SET(MUDFLAP_LIBRARIES ${MUDFLAP_LIBRARY})
ENDIF(MUDFLAP_FOUND)
if(MUDFLAP_FOUND)
set(MUDFLAP_LIBRARIES ${MUDFLAP_LIBRARY})
endif()
18 changes: 9 additions & 9 deletions cmake/Modules/Findowfat.cmake
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
INCLUDE(FindPackageHandleStandardArgs)
include(FindPackageHandleStandardArgs)

FIND_PATH(OWFAT_INCLUDE_DIR
find_path(OWFAT_INCLUDE_DIR
PATH_SUFFIXES libowfat
PATHS /opt/diet/include
NAMES taia.h
)
MARK_AS_ADVANCED(OWFAT_INCLUDE_DIR)
mark_as_advanced(OWFAT_INCLUDE_DIR)

FIND_LIBRARY(OWFAT_LIBRARY
find_library(OWFAT_LIBRARY
NAMES owfat
PATHS /opt/diet/lib
)
MARK_AS_ADVANCED(OWFAT_LIBRARY)
mark_as_advanced(OWFAT_LIBRARY)

FIND_PACKAGE_HANDLE_STANDARD_ARGS(owfat DEFAULT_MSG OWFAT_LIBRARY OWFAT_INCLUDE_DIR)

IF(OWFAT_FOUND)
SET(OWFAT_INCLUDE_DIRS ${OWFAT_INCLUDE_DIR})
SET(OWFAT_LIBRARIES ${OWFAT_LIBRARY})
ENDIF(OWFAT_FOUND)
if(OWFAT_FOUND)
set(OWFAT_INCLUDE_DIRS ${OWFAT_INCLUDE_DIR})
set(OWFAT_LIBRARIES ${OWFAT_LIBRARY})
endif()
Loading

0 comments on commit 3cdb644

Please sign in to comment.