66# For more information see g3log/LICENSE or refer refer to http://unlicense.org
77# ============================================================================*/
88
9- # INSTALL( TARGETS g3logger_shared
10- # ARCHIVE
11- # LIBRARY DESTINATION lib/g3log
12- # COMPONENT libraries)
13-
14- # INSTALL( FILES ${HEADER_FILES}
15- # DESTINATION include
16- # COMPONENT headers)
17-
18- IF(NOT MINGW)
19- IF(NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
20- SET(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
21- ELSEIF(NOT CPACK_PACKAGING_INSTALL_PREFIX)
22- SET(CPACK_PACKAGING_INSTALL_PREFIX /usr/local)
9+ IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
10+ IF(NOT CPACK_PACKAGING_INSTALL_PREFIX)
11+ IF(NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
12+ SET(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
13+ ELSE()
14+ SET(CPACK_PACKAGING_INSTALL_PREFIX /usr/local)
15+ ENDIF()
2316 ENDIF()
2417ENDIF()
2518
26- SET(CMAKE_INSTALL_LIBDIR lib CACHE PATH "Output dir for libraries" )
27- SET(CMAKE_INSTALL_HEADERDIR include CACHE PATH "Output dir for headers" )
19+ INCLUDE(CMakePackageConfigHelpers )
20+ INCLUDE(GNUInstallDirs )
2821
2922SET(CPACK_PACKAGE_NAME g3log)
3023SET(CPACK_PACKAGE_VERSION_MAJOR ${MAJOR_VERSION})
@@ -37,33 +30,35 @@ SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${CPACK_PACKAGE_DESCRIPTION})
3730SET(CPACK_PACKAGE_CONTACT "Kjell Hedstrom hedstrom@kjellkoc.cc")
3831SET(CPACK_RESOURCE_FILE_LICENSE ${g3log_SOURCE_DIR}/LICENSE)
3932SET(CPACK_PACKAGE_VENDOR "KjellKod")
40- SET(CMAKE_INSTALL_HEADERDIR ${CMAKE_INSTALL_HEADERDIR}/g3log)
4133
42- IF(NOT MINGW)
43- INSTALL( TARGETS g3logger
44- ARCHIVE DESTINATION ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
45- LIBRARY DESTINATION ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
46- COMPONENT libraries)
47-
48- INSTALL( FILES ${HEADER_FILES}
49- DESTINATION ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_HEADERDIR}
50- COMPONENT headers)
51-
52- INSTALL( FILES ${PROJECT_SOURCE_DIR}/cmake/g3loggerConfig.cmake
53- DESTINATION ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake/g3logger)
54- ELSE()
55- INSTALL( TARGETS g3logger
56- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
57- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
58- COMPONENT libraries)
59-
60- INSTALL( FILES ${HEADER_FILES}
61- DESTINATION ${CMAKE_INSTALL_HEADERDIR}
62- COMPONENT headers)
63-
64- INSTALL( FILES ${PROJECT_SOURCE_DIR}/cmake/g3loggerConfig.cmake
65- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/g3logger)
66- ENDIF()
34+ INSTALL( TARGETS g3logger
35+ EXPORT g3logger-targets
36+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
37+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
38+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries
39+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
40+ )
41+
42+ INSTALL( FILES ${HEADER_FILES}
43+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/g3log
44+ COMPONENT headers)
45+
46+ INSTALL(
47+ EXPORT g3logger-targets
48+ FILE g3loggerTargets.cmake
49+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/g3logger
50+ )
51+
52+ CONFIGURE_PACKAGE_CONFIG_FILE(
53+ ${PROJECT_SOURCE_DIR}/cmake/g3loggerConfig.cmake
54+ ${CMAKE_CURRENT_BINARY_DIR}/g3loggerConfig.cmake
55+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/g3logger
56+ )
57+
58+ install(
59+ FILES ${CMAKE_CURRENT_BINARY_DIR}/g3loggerConfig.cmake
60+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/g3logger
61+ )
6762
6863SET(CPACK_COMPONENTS_ALL libraries headers)
6964SET(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "G3Log libraries")
@@ -72,6 +67,8 @@ SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "G3Log C++ headers")
7267IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
7368 SET(CPACK_GENERATOR "DEB")
7469 SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "KjellKod - Kjell Hedstrom")
70+ ELSEIF(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
71+ SET(CPACK_GENERATOR "ZIP") # Otherwise, NSIS is needed.
7572ENDIF()
7673
7774message( STATUS "\nTo create installation package: " )
@@ -80,7 +77,7 @@ message( STATUS "make package" )
8077message( STATUS "\nOption to install using 'make install'" )
8178message( STATUS "Installation locations: " )
8279message( STATUS "====================" )
83- message( STATUS "Headers: ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_HEADERDIR} " )
80+ message( STATUS "Headers: ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/g3log " )
8481message( STATUS "Library installation directory: ${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" )
8582
8683message( STATUS "For more information please see g3log/CPackLists.txt\n\n" )
@@ -96,8 +93,6 @@ ENDIF()
9693# CPACK_PACKAGING_INSTALL_PREFIX
9794# CPACK_OUTPUT_FILE_PREFIX
9895# CMAKE_INSTALL_PREFIX
99- # CMAKE_INSTALL_HEADERDIR
100- # CMAKE_INSTALL_LIBDIR
10196
10297
10398 INCLUDE(CPack)
0 commit comments