| From 9a1c2587d4ef18e2026811deabd024eb7577d9ce Mon Sep 17 00:00:00 2001 |
| From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com> |
| Date: Fri, 15 May 2020 16:14:48 +0200 |
| Subject: [PATCH] disable shared library target in build |
| |
| Disable shared library target if BUILD_SHARED_LIBS if OFF. |
| |
| Patch retrieved from |
| https://git.buildroot.net/buildroot/tree/package/librtlsdr/0001-disable_shared_library_target_in_build.patch?h=2020.02.x |
| |
| Patch has been updated to work with master and to be able to keep current |
| behavior of building shared and static version of library if |
| BUILD_SHARED_LIBS and BUILD_STATIC_LIBS are both set. |
| Moreover, if BUILD_STATIC_LIBS is OFF, only shared version of library |
| will be install. |
| |
| [Upstream status: http://lists.osmocom.org/pipermail/osmocom-sdr/2020-May/002075.html] |
| |
| Signed-off-by: Yuvaraj Patil <yuvaraj.patil@wipro.com> |
| Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
| Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com> |
| Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu> |
| --- |
| src/CMakeLists.txt | 30 +++++++++++++++++++++--------- |
| 1 file changed, 21 insertions(+), 9 deletions(-) |
| |
| diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt |
| index de93044..13b7b1a 100644 |
| --- a/src/CMakeLists.txt |
| +++ b/src/CMakeLists.txt |
| @@ -18,6 +18,8 @@ |
| ######################################################################## |
| # Setup shared library variant |
| ######################################################################## |
| +option(BUILD_SHARED_LIBS "Build shared library" ON) |
| +if(BUILD_SHARED_LIBS) |
| add_library(rtlsdr SHARED librtlsdr.c |
| tuner_e4k.c tuner_fc0012.c tuner_fc0013.c tuner_fc2580.c tuner_r82xx.c) |
| target_link_libraries(rtlsdr PkgConfig::LIBUSB) |
| @@ -30,10 +32,14 @@ set_target_properties(rtlsdr PROPERTIES OUTPUT_NAME rtlsdr) |
| set_target_properties(rtlsdr PROPERTIES SOVERSION ${MAJOR_VERSION}) |
| set_target_properties(rtlsdr PROPERTIES VERSION ${LIBVER}) |
| generate_export_header(rtlsdr) |
| +list(APPEND rtlsdr_lib rtlsdr) |
| +endif() |
| |
| ######################################################################## |
| # Setup static library variant |
| ######################################################################## |
| +option(BUILD_STATIC_LIBS "Build static library" ON) |
| +if(BUILD_STATIC_LIBS) |
| add_library(rtlsdr_static STATIC librtlsdr.c |
| tuner_e4k.c tuner_fc0012.c tuner_fc0013.c tuner_fc2580.c tuner_r82xx.c) |
| target_link_libraries(rtlsdr_static PkgConfig::LIBUSB) |
| @@ -47,6 +53,8 @@ if(NOT WIN32) |
| set_target_properties(rtlsdr_static PROPERTIES OUTPUT_NAME rtlsdr) |
| endif() |
| generate_export_header(rtlsdr_static) |
| +list(APPEND rtlsdr_lib rtlsdr_static) |
| +endif() |
| |
| ######################################################################## |
| # Set up Windows DLL resource files |
| @@ -90,37 +98,37 @@ add_executable(rtl_eeprom rtl_eeprom.c) |
| add_executable(rtl_adsb rtl_adsb.c) |
| add_executable(rtl_power rtl_power.c) |
| add_executable(rtl_biast rtl_biast.c) |
| -set(INSTALL_TARGETS rtlsdr rtlsdr_static rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast) |
| +set(INSTALL_TARGETS ${rtlsdr_lib} rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast) |
| |
| -target_link_libraries(rtl_sdr rtlsdr convenience_static |
| +target_link_libraries(rtl_sdr ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -target_link_libraries(rtl_tcp rtlsdr convenience_static |
| +target_link_libraries(rtl_tcp ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -target_link_libraries(rtl_test rtlsdr convenience_static |
| +target_link_libraries(rtl_test ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -target_link_libraries(rtl_fm rtlsdr convenience_static |
| +target_link_libraries(rtl_fm ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -target_link_libraries(rtl_eeprom rtlsdr convenience_static |
| +target_link_libraries(rtl_eeprom ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -target_link_libraries(rtl_adsb rtlsdr convenience_static |
| +target_link_libraries(rtl_adsb ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -target_link_libraries(rtl_power rtlsdr convenience_static |
| +target_link_libraries(rtl_power ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -target_link_libraries(rtl_biast rtlsdr convenience_static |
| +target_link_libraries(rtl_biast ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| @@ -156,12 +164,16 @@ endif() |
| ######################################################################## |
| # Install built library files & utilities |
| ######################################################################## |
| +if(BUILD_SHARED_LIBS) |
| install(TARGETS rtlsdr EXPORT RTLSDR-export |
| LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # .so/.dylib file |
| ) |
| +endif() |
| +if(BUILD_STATIC_LIBS) |
| install(TARGETS rtlsdr_static EXPORT RTLSDR-export |
| ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # .so/.dylib file |
| ) |
| +endif() |
| install(TARGETS rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast |
| DESTINATION ${CMAKE_INSTALL_BINDIR} |
| ) |
| -- |
| 2.25.3 |
| |