From: Clayton Smith argilo@gmail.com
When gr-osmosdr was updated to GNU Radio 3.8, generation of gnuradio-osmosdr.pc was removed. Other software uses pkg-config to find gr-osmosdr, so I think we should add it back.
This fixes http://osmocom.org/issues/4423 --- CMakeLists.txt | 37 +++++++++++++++++++++++++++++++++++++ gnuradio-osmosdr.pc.in | 15 +++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 gnuradio-osmosdr.pc.in
diff --git a/CMakeLists.txt b/CMakeLists.txt index c23cb49530..868057dcc8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -275,6 +275,43 @@ if(ENABLE_PYTHON) endif(ENABLE_PYTHON) add_subdirectory(docs)
+######################################################################## +# Create Pkg Config File +######################################################################## +FOREACH(inc ${Boost_INCLUDE_DIRS}) + LIST(APPEND GR_OSMOSDR_PC_CFLAGS "-I${inc}") +ENDFOREACH(inc) + +FOREACH(lib ${Boost_LIBRARY_DIRS}) + LIST(APPEND GR_OSMOSDR_PC_LIBS "-L${lib}") +ENDFOREACH(lib) + +# use space-separation format for the pc file +STRING(REPLACE ";" " " GR_OSMOSDR_PC_REQUIRES "${GR_OSMOSDR_PC_REQUIRES}") +STRING(REPLACE ";" " " GR_OSMOSDR_PC_CFLAGS "${GR_OSMOSDR_PC_CFLAGS}") +STRING(REPLACE ";" " " GR_OSMOSDR_PC_LIBS "${GR_OSMOSDR_PC_LIBS}") + +# unset these vars to avoid hard-coded paths to cross environment +IF(CMAKE_CROSSCOMPILING) + UNSET(GR_OSMOSDR_PC_CFLAGS) + UNSET(GR_OSMOSDR_PC_LIBS) +ENDIF(CMAKE_CROSSCOMPILING) + +# fake gnuradio cpack behavior as long as we don't use it directly +set(CPACK_PACKAGE_NAME "gnuradio-osmosdr") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "GNU Radio block for various radio hardware") +set(CPACK_PACKAGE_VERSION ${VERSION}) + +CONFIGURE_FILE( + ${CMAKE_CURRENT_SOURCE_DIR}/gnuradio-osmosdr.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-osmosdr.pc +@ONLY) + +INSTALL( + FILES ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-osmosdr.pc + DESTINATION ${GR_LIBRARY_DIR}/pkgconfig +) + ######################################################################## # Print Summary ######################################################################## diff --git a/gnuradio-osmosdr.pc.in b/gnuradio-osmosdr.pc.in new file mode 100644 index 0000000000..5f1ae694e3 --- /dev/null +++ b/gnuradio-osmosdr.pc.in @@ -0,0 +1,15 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${exec_prefix}/@GR_LIBRARY_DIR@ +includedir=${prefix}/@GR_INCLUDE_DIR@ + +Name: @CPACK_PACKAGE_NAME@ +Description: @CPACK_PACKAGE_DESCRIPTION_SUMMARY@ +URL: http://sdr.osmocom.org/trac/wiki/GrOsmoSDR +Version: @CPACK_PACKAGE_VERSION@ +Requires: gnuradio-runtime gnuradio-blocks +Requires.private: @GR_OSMOSDR_PC_REQUIRES@ +Conflicts: +Cflags: -I${includedir} @GR_OSMOSDR_PC_CFLAGS@ +Libs: -L${libdir} -lgnuradio-osmosdr +Libs.private: @GR_OSMOSDR_PC_LIBS@