From 9d0c9c4bb145a286f725cd38c90331eee7addc7f Mon Sep 17 00:00:00 2001 From: Cole Mickens Date: Wed, 24 Oct 2018 01:33:22 -0700 Subject: [PATCH] cmake: output share/fmt.pc --- .gitignore | 1 + CMakeLists.txt | 9 +++++++++ support/cmake/fmt.pc.in | 11 +++++++++++ 3 files changed, 21 insertions(+) create mode 100644 support/cmake/fmt.pc.in diff --git a/.gitignore b/.gitignore index 1e6172fe..694f8f8f 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ CMakeFiles FMT.build Makefile run-msbuild.bat +fmt.pc diff --git a/CMakeLists.txt b/CMakeLists.txt index 7cf74829..d1bc9558 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -202,6 +202,7 @@ if (FMT_INSTALL) "Installation directory for cmake files, relative to ${CMAKE_INSTALL_PREFIX}.") set(version_config ${PROJECT_BINARY_DIR}/fmt-config-version.cmake) set(project_config ${PROJECT_BINARY_DIR}/fmt-config.cmake) + set(pkgconfig ${PROJECT_BINARY_DIR}/fmt.pc) set(targets_export_name fmt-targets) set (INSTALL_TARGETS fmt) @@ -215,11 +216,18 @@ if (FMT_INSTALL) set(FMT_INC_DIR ${CMAKE_INSTALL_INCLUDEDIR}/fmt CACHE STRING "Installation directory for include files, relative to ${CMAKE_INSTALL_PREFIX}.") + set(FMT_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/share/pkgconfig" CACHE PATH + "Installation directory for pkgconfig (.pc) files, relative to ${CMAKE_INSTALL_PREFIX}.") + # Generate the version, config and target files into the build directory. write_basic_package_version_file( ${version_config} VERSION ${FMT_VERSION} COMPATIBILITY AnyNewerVersion) + configure_file( + "${PROJECT_SOURCE_DIR}/support/cmake/fmt.pc.in" + "${pkgconfig}" + @ONLY) configure_package_config_file( ${PROJECT_SOURCE_DIR}/support/cmake/fmt-config.cmake.in ${project_config} @@ -240,6 +248,7 @@ if (FMT_INSTALL) install(TARGETS ${INSTALL_TARGETS} EXPORT ${targets_export_name} DESTINATION ${FMT_LIB_DIR}) install(FILES ${FMT_HEADERS} DESTINATION ${FMT_INC_DIR}) + install(FILES "${pkgconfig}" DESTINATION "${FMT_PKGCONFIG_DIR}") endif () if (FMT_DOC) diff --git a/support/cmake/fmt.pc.in b/support/cmake/fmt.pc.in new file mode 100644 index 00000000..4b82ddb0 --- /dev/null +++ b/support/cmake/fmt.pc.in @@ -0,0 +1,11 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=@CMAKE_INSTALL_PREFIX@ +libdir=@CMAKE_INSTALL_LIBDIR@ +includedir=@CMAKE_INSTALL_INCLUDEDIR@ + +Name: fmt +Description: A modern formatting library +Version: @FMT_VERSION@ +Libs: -L${libdir} -lfmt +Cflags: -I${includedir} +