mirror of
				https://github.com/Telecominfraproject/wlan-cloud-lib-cppkafka.git
				synced 2025-11-04 04:27:48 +00:00 
			
		
		
		
	Merge pull request #190 from accelerated/pc_config
Support for generating pkg-config file
This commit is contained in:
		@@ -56,6 +56,10 @@ if (CPPKAFKA_RDKAFKA_STATIC_LIB)
 | 
			
		||||
    add_definitions("-DLIBRDKAFKA_STATICLIB")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if (NOT CPPKAFKA_PKGCONFIG_DIR)
 | 
			
		||||
    set(CPPKAFKA_PKGCONFIG_DIR share/pkgconfig)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# Look for Boost (just need boost.optional headers here)
 | 
			
		||||
find_package(Boost REQUIRED ${FIND_PACKAGE_QUIET})
 | 
			
		||||
find_package(RdKafka REQUIRED ${FIND_PACKAGE_QUIET})
 | 
			
		||||
 
 | 
			
		||||
@@ -80,6 +80,7 @@ The following cmake options can be specified:
 | 
			
		||||
* `CPPKAFKA_BOOST_STATIC_LIBS` : Link with Boost static libraries. Default is `ON`.
 | 
			
		||||
* `CPPKAFKA_BOOST_USE_MULTITHREADED` : Use Boost multi-threaded libraries. Default is `ON`.
 | 
			
		||||
* `CPPKAFKA_RDKAFKA_STATIC_LIB` : Link to Rdkafka static library. Default is `OFF`.
 | 
			
		||||
* `CPPKAFKA_PKGCONFIG_DIR` : Install location of the .pc file. Default is `share/pkgconfig`.
 | 
			
		||||
 | 
			
		||||
Example:
 | 
			
		||||
```Shell
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								cppkafka.pc.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								cppkafka.pc.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
prefix=@CMAKE_INSTALL_PREFIX@
 | 
			
		||||
exec_prefix=${prefix}
 | 
			
		||||
libdir=${prefix}/lib
 | 
			
		||||
sharedlibdir=${prefix}/lib
 | 
			
		||||
includedir=${prefix}/include
 | 
			
		||||
 | 
			
		||||
Name: cppkafka
 | 
			
		||||
Url: https://github.com/mfontanini/cppkafka
 | 
			
		||||
Description: C++ wrapper library on top of RdKafka
 | 
			
		||||
Version: @CPPKAFKA_VERSION@
 | 
			
		||||
Requires: librdkafka >= 0.9.4
 | 
			
		||||
Requires.private:
 | 
			
		||||
Libs: -L${libdir} -L${sharedlibdir} -L@RDKAFKA_ROOT_DIR@/lib -lcppkafka -lrdkafka -lpthread -lrt -lssl -lcrypto -ldl -lz
 | 
			
		||||
Cflags: -I${includedir} -I${includedir}/cppkafka -I@RDKAFKA_INCLUDE_DIR@ -I@Boost_INCLUDE_DIRS@
 | 
			
		||||
@@ -10,7 +10,7 @@ function(make_cppkafka_header)
 | 
			
		||||
    endforeach()
 | 
			
		||||
 | 
			
		||||
    #create file from template
 | 
			
		||||
    configure_file(${PROJECT_SOURCE_DIR}/cppkafka.h.in ${CPPKAFKA_HEADER})
 | 
			
		||||
    configure_file(${PROJECT_SOURCE_DIR}/cppkafka.h.in ${CPPKAFKA_HEADER} @ONLY)
 | 
			
		||||
endfunction()
 | 
			
		||||
 | 
			
		||||
# Run file generation function
 | 
			
		||||
 
 | 
			
		||||
@@ -47,3 +47,13 @@ install(
 | 
			
		||||
    ARCHIVE DESTINATION lib
 | 
			
		||||
    COMPONENT dev
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# Generate package configuration file
 | 
			
		||||
set(PKG_CONFIG ${PROJECT_SOURCE_DIR}/package/cppkafka.pc)
 | 
			
		||||
configure_file(${PROJECT_SOURCE_DIR}/cppkafka.pc.in ${PKG_CONFIG} @ONLY)
 | 
			
		||||
 | 
			
		||||
install(
 | 
			
		||||
    FILES ${PKG_CONFIG}
 | 
			
		||||
    DESTINATION ${CPPKAFKA_PKGCONFIG_DIR}
 | 
			
		||||
    COMPONENT pkgconfig
 | 
			
		||||
)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user