diff options
-rw-r--r-- | CMakeLists.txt | 65 |
1 files changed, 46 insertions, 19 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 19035b30..4aa5c3f8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,6 +69,27 @@ PROJECT( VERSION ${VMIME_VERSION} ) +# Install directories +IF(IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR}) + SET(VMIME_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR}) +ELSE() + SET(VMIME_INSTALL_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") +ENDIF() +MESSAGE("CMAKE_INSTALL_LIBDIR='${CMAKE_INSTALL_LIBDIR}") +MESSAGE("VMIME_INSTALL_LIBDIR='${VMIME_INSTALL_LIBDIR}") + +IF(IS_ABSOLUTE ${CMAKE_INSTALL_BINDIR}) + SET(VMIME_INSTALL_BINDIR ${CMAKE_INSTALL_BINDIR}) +ELSE() + SET(VMIME_INSTALL_BINDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") +ENDIF() + +IF(IS_ABSOLUTE ${CMAKE_INSTALL_INCLUDEDIR}) + SET(VMIME_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR}) +ELSE() + SET(VMIME_INSTALL_INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}") +ENDIF() + # Set base name SET(VMIME_LIBRARY_NAME vmime) SET(VMIME_LIBRARY_VENDOR Kisli) @@ -211,24 +232,32 @@ IF(VMIME_BUILD_STATIC_LIBRARY) SET_TARGET_PROPERTIES(${VMIME_LIBRARY_NAME}-static PROPERTIES CLEAN_DIRECT_OUTPUT 1) ENDIF() -SET(CMAKE_INSTALL_LIBDIR lib CACHE PATH "Output directory for libraries") - # Installation of libraries IF(VMIME_BUILD_SHARED_LIBRARY) INSTALL( TARGETS ${VMIME_LIBRARY_NAME} EXPORT ${VMIME_LIBRARY_NAME}-config - LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" COMPONENT sharedlibs - ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" COMPONENT sharedlibs + LIBRARY DESTINATION "${VMIME_INSTALL_LIBDIR}" + PUBLIC_HEADER DESTINATION "${VMIME_INSTALL_INCLUDEDIR}" + COMPONENT sharedlibs + ) + INSTALL( + EXPORT ${VMIME_LIBRARY_NAME}-config + DESTINATION "${VMIME_INSTALL_LIBDIR}/cmake/vmime" ) ENDIF() IF(VMIME_BUILD_STATIC_LIBRARY) INSTALL( TARGETS ${VMIME_LIBRARY_NAME}-static - EXPORT ${VMIME_LIBRARY_NAME}-config - LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" COMPONENT staticlibs - ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" COMPONENT staticlibs + EXPORT ${VMIME_LIBRARY_NAME}-static-config + ARCHIVE DESTINATION "${VMIME_INSTALL_LIBDIR}" + PUBLIC_HEADER DESTINATION "${VMIME_INSTALL_INCLUDEDIR}" + COMPONENT staticlibs + ) + INSTALL( + EXPORT ${VMIME_LIBRARY_NAME}-static-config + DESTINATION "${VMIME_INSTALL_LIBDIR}/cmake/vmime" ) ENDIF() @@ -236,14 +265,6 @@ ENDIF() 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( -# FILES ${VMIME_LIBRARY_INCLUDE_FILES} -# DESTINATION include -# COMPONENT headers -#) - -install(EXPORT ${VMIME_LIBRARY_NAME}-config DESTINATION cmake) - ############################################################################## # Tests @@ -404,9 +425,9 @@ ADD_CUSTOM_TARGET( # PkgConfig SET(prefix ${CMAKE_INSTALL_PREFIX}) -SET(exec_prefix ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}) -SET(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/vmime) -SET(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) +SET(exec_prefix ${VMIME_INSTALL_BINDIR}) +SET(includedir ${VMIME_INSTALL_INCLUDEDIR}/vmime) +SET(libdir ${VMIME_INSTALL_LIBDIR}) SET(VMIME_PKGCONFIG_LIBS "") SET(VMIME_PKGCONFIG_CFLAGS "") @@ -1029,7 +1050,13 @@ CONFIGURE_FILE(cmake/config.hpp.cmake ${CMAKE_BINARY_DIR}/src/vmime/config.hpp) # PkgConfig post-configuration CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/vmime.pc.in ${CMAKE_BINARY_DIR}/vmime.pc @ONLY) -INSTALL(FILES ${CMAKE_BINARY_DIR}/vmime.pc DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig" COMPONENT headers) +INSTALL(FILES ${CMAKE_BINARY_DIR}/vmime.pc DESTINATION "${VMIME_INSTALL_LIBDIR}/pkgconfig" COMPONENT headers) INCLUDE(CPack) + +MESSAGE("") +MESSAGE("VMime will install to the following directories:") +MESSAGE(" libraries: ${VMIME_INSTALL_LIBDIR}") +MESSAGE(" headers: ${VMIME_INSTALL_INCLUDEDIR}") +MESSAGE("") |