diff --git a/CMLibPkgConfig.cmake b/CMLibPkgConfig.cmake index 1bd7897..aaef671 100644 --- a/CMLibPkgConfig.cmake +++ b/CMLibPkgConfig.cmake @@ -1,4 +1,14 @@ function(generate_pkgconfig library_name) - configure_file(${CMLIB_MODULE_DIR}/pc/lib.pc.in ${CMAKE_BINARY_DIR}/${library_name}.pc) - install(FILES ${CMAKE_BINARY_DIR}/${library_name}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + set(options) + set(oneValueArgs COMPONENT INSTALL_LIBRARY) + set(multiValueArgs) + + cmake_parse_arguments(_PKG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + if(${_PKG_INSTALL_LIBRARY}) + configure_file(${CMLIB_MODULE_DIR}/pc/lib.pc.in ${CMAKE_BINARY_DIR}/${library_name}.pc) + else() + configure_file(${CMLIB_MODULE_DIR}/pc/lib-header-only.pc.in ${CMAKE_BINARY_DIR}/${library_name}.pc) + endif() + install(FILES ${CMAKE_BINARY_DIR}/${library_name}.pc COMPONENT ${_PKG_COMPONENT} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) endfunction() diff --git a/pc/lib-header-only.pc.in b/pc/lib-header-only.pc.in new file mode 100644 index 0000000..61b6119 --- /dev/null +++ b/pc/lib-header-only.pc.in @@ -0,0 +1,11 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=@CMAKE_INSTALL_PREFIX@ +includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@ + +Name: @library_name@ +Description: @library_name@ library +Version: @PROJECT_VERSION@ + +Requires: +Cflags: -I@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@ +