| From d47e3aed12414be59bf77177c93853ec4b24d705 Mon Sep 17 00:00:00 2001 |
| From: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
| Date: Sat, 2 Jun 2018 16:53:36 +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=2018.05 |
| |
| Patch has been updated to work with 0.5.4 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: https://github.com/steve-m/librtlsdr/pull/46] |
| |
| Signed-off-by: Yuvaraj Patil <yuvaraj.patil@wipro.com> |
| Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
| --- |
| src/CMakeLists.txt | 24 ++++++++++++++++-------- |
| 1 file changed, 16 insertions(+), 8 deletions(-) |
| |
| diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt |
| index 07d64ab..2b7cbae 100644 |
| --- a/src/CMakeLists.txt |
| +++ b/src/CMakeLists.txt |
| @@ -47,16 +47,22 @@ ENDIF(MSVC) |
| ######################################################################## |
| # Setup shared library variant |
| ######################################################################## |
| +option(BUILD_SHARED_LIBS "Build shared library" ON) |
| +if(BUILD_SHARED_LIBS) |
| add_library(rtlsdr_shared SHARED ${rtlsdr_srcs}) |
| target_link_libraries(rtlsdr_shared ${LIBUSB_LIBRARIES}) |
| set_target_properties(rtlsdr_shared PROPERTIES DEFINE_SYMBOL "rtlsdr_EXPORTS") |
| set_target_properties(rtlsdr_shared PROPERTIES OUTPUT_NAME rtlsdr) |
| set_target_properties(rtlsdr_shared PROPERTIES SOVERSION ${MAJOR_VERSION}) |
| set_target_properties(rtlsdr_shared PROPERTIES VERSION ${LIBVER}) |
| +list(APPEND rtlsdr_lib rtlsdr_shared) |
| +endif() |
| |
| ######################################################################## |
| # Setup static library variant |
| ######################################################################## |
| +option(BUILD_STATIC_LIBS "Build static library" ON) |
| +if(BUILD_STATIC_LIBS) |
| add_library(rtlsdr_static STATIC ${rtlsdr_srcs}) |
| target_link_libraries(rtlsdr_static ${LIBUSB_LIBRARIES}) |
| set_property(TARGET rtlsdr_static APPEND PROPERTY COMPILE_DEFINITIONS "rtlsdr_STATIC" ) |
| @@ -64,6 +70,8 @@ if(NOT WIN32) |
| # Force same library filename for static and shared variants of the library |
| set_target_properties(rtlsdr_static PROPERTIES OUTPUT_NAME rtlsdr) |
| endif() |
| +list(APPEND rtlsdr_lib rtlsdr_static) |
| +endif() |
| |
| ######################################################################## |
| # Setup libraries used in executables |
| @@ -91,33 +99,33 @@ add_executable(rtl_fm rtl_fm.c) |
| add_executable(rtl_eeprom rtl_eeprom.c) |
| add_executable(rtl_adsb rtl_adsb.c) |
| add_executable(rtl_power rtl_power.c) |
| -set(INSTALL_TARGETS rtlsdr_shared rtlsdr_static rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power) |
| +set(INSTALL_TARGETS ${rtlsdr_lib} rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power) |
| |
| -target_link_libraries(rtl_sdr rtlsdr_shared convenience_static |
| +target_link_libraries(rtl_sdr ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -target_link_libraries(rtl_tcp rtlsdr_shared convenience_static |
| +target_link_libraries(rtl_tcp ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -target_link_libraries(rtl_test rtlsdr_shared convenience_static |
| +target_link_libraries(rtl_test ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -target_link_libraries(rtl_fm rtlsdr_shared convenience_static |
| +target_link_libraries(rtl_fm ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -target_link_libraries(rtl_eeprom rtlsdr_shared convenience_static |
| +target_link_libraries(rtl_eeprom ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -target_link_libraries(rtl_adsb rtlsdr_shared convenience_static |
| +target_link_libraries(rtl_adsb ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -target_link_libraries(rtl_power rtlsdr_shared convenience_static |
| +target_link_libraries(rtl_power ${rtlsdr_lib} convenience_static |
| ${LIBUSB_LIBRARIES} |
| ${CMAKE_THREAD_LIBS_INIT} |
| ) |
| -- |
| 2.14.1 |
| |