Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 22 additions & 20 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,9 @@ FILE(
)

INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR} # for "contrib/"
${CMAKE_SOURCE_DIR}/src # for "vmime/
${CMAKE_BINARY_DIR}/src # for "config.hpp" and other generated sources
${CMAKE_CURRENT_SOURCE_DIR} # for "contrib/"
${CMAKE_CURRENT_SOURCE_DIR}/src # for "vmime/
${CMAKE_CURRENT_BINARY_DIR}/src # for "config.hpp" and other generated sources
)

INCLUDE(GenerateExportHeader)
Expand All @@ -156,17 +156,18 @@ IF(VMIME_BUILD_SHARED_LIBRARY)

TARGET_INCLUDE_DIRECTORIES(${VMIME_LIBRARY_NAME} PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/src>
$<INSTALL_INTERFACE:include>
)

GENERATE_EXPORT_HEADER(
${VMIME_LIBRARY_NAME}
BASE_NAME VMIME
STATIC_DEFINE VMIME_STATIC
EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/src/vmime/export-shared.hpp
EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/src/vmime/export-shared.hpp
)

LIST(APPEND VMIME_LIBRARY_GENERATED_INCLUDE_FILES "${CMAKE_BINARY_DIR}/src/vmime/export-shared.hpp")
LIST(APPEND VMIME_LIBRARY_GENERATED_INCLUDE_FILES "${CMAKE_CURRENT_BINARY_DIR}/src/vmime/export-shared.hpp")

SET_TARGET_PROPERTIES(
${VMIME_LIBRARY_NAME}
Expand Down Expand Up @@ -199,17 +200,18 @@ IF(VMIME_BUILD_STATIC_LIBRARY)

TARGET_INCLUDE_DIRECTORIES(${VMIME_LIBRARY_NAME}-static PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/src>
$<INSTALL_INTERFACE:include>
)

GENERATE_EXPORT_HEADER(
${VMIME_LIBRARY_NAME}-static
BASE_NAME VMIME
STATIC_DEFINE VMIME_STATIC
EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/src/vmime/export-static.hpp
EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/src/vmime/export-static.hpp
)

LIST(APPEND VMIME_LIBRARY_GENERATED_INCLUDE_FILES "${CMAKE_BINARY_DIR}/src/vmime/export-static.hpp")
LIST(APPEND VMIME_LIBRARY_GENERATED_INCLUDE_FILES "${CMAKE_CURRENT_BINARY_DIR}/src/vmime/export-static.hpp")

SET_TARGET_PROPERTIES(
${VMIME_LIBRARY_NAME}-static
Expand Down Expand Up @@ -343,10 +345,10 @@ SET(CPACK_PACKAGE_VERSION "${VMIME_PACKAGE_VERSION}")
IF(APPLE)
# CPack/PackageManager won't allow file without recognized extension
# to be used as license file.
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/COPYING" "${CMAKE_BINARY_DIR}/COPYING.txt" COPYONLY)
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_BINARY_DIR}/COPYING.txt")
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/README" "${CMAKE_BINARY_DIR}/README.txt" COPYONLY)
SET(CPACK_RESOURCE_FILE_README "${CMAKE_BINARY_DIR}/README.txt")
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/COPYING" "${CMAKE_CURRENT_BINARY_DIR}/COPYING.txt" COPYONLY)
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_BINARY_DIR}/COPYING.txt")
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/README" "${CMAKE_CURRENT_BINARY_DIR}/README.txt" COPYONLY)
SET(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_BINARY_DIR}/README.txt")
ELSE()
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
SET(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README")
Expand Down Expand Up @@ -382,7 +384,7 @@ SET(ARCHIVE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION})
ADD_CUSTOM_TARGET(
dist
COMMAND git archive --prefix=${ARCHIVE_NAME}/ HEAD
| bzip2 > ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2
| bzip2 > ${CMAKE_CURRENT_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)

Expand Down Expand Up @@ -951,13 +953,13 @@ IF(VMIME_BUILD_DOCUMENTATION)
FIND_PACKAGE(Doxygen)

IF(DOXYGEN_FOUND)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_BINARY_DIR}/Doxyfile @ONLY)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)

# Make a target so that documentation can be generated by running "make doc"
ADD_CUSTOM_TARGET(
doc
${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM
)
ENDIF(DOXYGEN_FOUND)
Expand Down Expand Up @@ -1004,11 +1006,11 @@ ENDIF()


# Set our configure file
CONFIGURE_FILE(cmake/config.hpp.cmake ${CMAKE_BINARY_DIR}/src/vmime/config.hpp)
LIST(APPEND VMIME_LIBRARY_GENERATED_INCLUDE_FILES ${CMAKE_BINARY_DIR}/src/vmime/config.hpp)
CONFIGURE_FILE(cmake/config.hpp.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/vmime/config.hpp)
LIST(APPEND VMIME_LIBRARY_GENERATED_INCLUDE_FILES ${CMAKE_CURRENT_BINARY_DIR}/src/vmime/config.hpp)

# PkgConfig post-configuration
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/vmime.pc.in ${CMAKE_BINARY_DIR}/vmime.pc @ONLY)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/vmime.pc.in ${CMAKE_CURRENT_BINARY_DIR}/vmime.pc @ONLY)

INCLUDE(CPack)

Expand Down Expand Up @@ -1049,9 +1051,9 @@ IF(VMIME_INSTALL)

# Installation of header files
INSTALL_HEADERS_WITH_DIRECTORY(VMIME_LIBRARY_INCLUDE_FILES headers "${CMAKE_CURRENT_SOURCE_DIR}/src/")
INSTALL_HEADERS_WITH_DIRECTORY(VMIME_LIBRARY_GENERATED_INCLUDE_FILES headers "${CMAKE_BINARY_DIR}/src")
INSTALL_HEADERS_WITH_DIRECTORY(VMIME_LIBRARY_GENERATED_INCLUDE_FILES headers "${CMAKE_CURRENT_BINARY_DIR}/src")

INSTALL(FILES ${CMAKE_BINARY_DIR}/vmime.pc DESTINATION "${VMIME_INSTALL_LIBDIR}/pkgconfig" COMPONENT headers)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/vmime.pc DESTINATION "${VMIME_INSTALL_LIBDIR}/pkgconfig" COMPONENT headers)

MESSAGE("")
MESSAGE("VMime will install to the following directories:")
Expand Down
2 changes: 1 addition & 1 deletion src/vmime/vmime.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@


// Configuration
#include "config.hpp"
#include "vmime/config.hpp"

// Base definitions
#include "base.hpp"
Expand Down