diff --git a/software/libosmosdr/CMakeLists.txt b/software/libosmosdr/CMakeLists.txt index bb95c15..868d03c 100644 --- a/software/libosmosdr/CMakeLists.txt +++ b/software/libosmosdr/CMakeLists.txt @@ -86,3 +86,39 @@ add_custom_target(uninstall ######################################################################## add_subdirectory(include) add_subdirectory(src) + +######################################################################## +# Create Pkg Config File +######################################################################## +FOREACH(inc ${LIBUSB_INCLUDE_DIR}) + LIST(APPEND OSMOSDR_PC_CFLAGS "-I${inc}") +ENDFOREACH(inc) + +FOREACH(lib ${LIBUSB_LIBRARY_DIRS}) + LIST(APPEND OSMOSDR_PC_LIBS "-L${lib}") +ENDFOREACH(lib) + +# use space-separation format for the pc file +STRING(REPLACE ";" " " OSMOSDR_PC_CFLAGS "${OSMOSDR_PC_CFLAGS}") +STRING(REPLACE ";" " " OSMOSDR_PC_LIBS "${OSMOSDR_PC_LIBS}") + +# unset these vars to avoid hard-coded paths to cross environment +IF(CMAKE_CROSSCOMPILING) + UNSET(OSMOSDR_PC_CFLAGS) + UNSET(OSMOSDR_PC_LIBS) +ENDIF(CMAKE_CROSSCOMPILING) + +set(prefix ${CMAKE_INSTALL_PREFIX}) +set(exec_prefix \${prefix}) +set(libdir \${exec_prefix}/lib) +set(includedir \${prefix}/include) + +CONFIGURE_FILE( + ${CMAKE_CURRENT_SOURCE_DIR}/libosmosdr.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/libosmosdr.pc +@ONLY) + +INSTALL( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libosmosdr.pc + DESTINATION lib/pkgconfig +) diff --git a/software/libosmosdr/libosmosdr.pc.in b/software/libosmosdr/libosmosdr.pc.in index ed6145d..0da8975 100644 --- a/software/libosmosdr/libosmosdr.pc.in +++ b/software/libosmosdr/libosmosdr.pc.in @@ -6,5 +6,6 @@ includedir=@includedir@ Name: OsmoSDR Library Description: C Utility Library Version: @VERSION@ +Cflags: -I${includedir}/ @OSMOSDR_PC_CFLAGS@ Libs: -L${libdir} -losmosdr -lusb-1.0 -Cflags: -I${includedir}/ +Libs.private: @OSMOSDR_PC_LIBS@