Compare commits

...

2 Commits

5 changed files with 29 additions and 6 deletions

View File

@@ -31,6 +31,7 @@ include(CMLibCotire)
include(CMLibBuildTypes)
include(CMLibCommonTargetProperties)
include(CMLibCommonLibraryTarget)
include(CMLibPkgConfig)
include(CMLibCodeAnalysisPvsStudio)
include(CMLibCodeAnalysisClangAnalyze)
include(CMLibCodeAnalysisClangTidy)

View File

@@ -35,7 +35,4 @@ function(add_common_library target)
install(TARGETS ${target}_static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
# cmake-format: on
configure_file(${CMLIB_MODULE_DIR}/pc/lib.pc.in ${CMAKE_BINARY_DIR}/${target}.pc)
install(FILES ${CMAKE_BINARY_DIR}/${target}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
endfunction()

14
CMLibPkgConfig.cmake Normal file
View File

@@ -0,0 +1,14 @@
function(generate_pkgconfig library_name)
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()

11
pc/lib-header-only.pc.in Normal file
View File

@@ -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@

View File

@@ -3,11 +3,11 @@ exec_prefix=@CMAKE_INSTALL_PREFIX@
libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@
Name: @current_target@
Description: @current_target@ library
Name: @library_name@
Description: @library_name@ library
Version: @PROJECT_VERSION@
Requires:
Libs: -L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -l@current_target@
Libs: -L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -l@library_name@
Cflags: -I@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@