diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/rtlsdr/library-linkage.diff | |
Diffstat (limited to 'vcpkg/ports/rtlsdr/library-linkage.diff')
| -rw-r--r-- | vcpkg/ports/rtlsdr/library-linkage.diff | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/vcpkg/ports/rtlsdr/library-linkage.diff b/vcpkg/ports/rtlsdr/library-linkage.diff new file mode 100644 index 0000000..79fd14d --- /dev/null +++ b/vcpkg/ports/rtlsdr/library-linkage.diff @@ -0,0 +1,100 @@ +diff --git a/librtlsdr.pc.in b/librtlsdr.pc.in +index 92bbddf..20a2735 100644 +--- a/librtlsdr.pc.in ++++ b/librtlsdr.pc.in +@@ -7,6 +7,7 @@ Name: RTL-SDR Library + Description: C Utility Library + Version: @VERSION@ + Cflags: -I${includedir}/ ++Cflags.private: -Drtlsdr_STATIC + Libs: -L${libdir} -lrtlsdr + Libs.private: @RTLSDR_PC_LIBS@ + Requires.private: libusb-1.0 +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 3c02e6c..e6585ee 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -45,12 +45,11 @@ target_include_directories(rtlsdr_static PUBLIC + ${LIBUSB_INCLUDE_DIRS} + ${THREADS_PTHREADS_INCLUDE_DIR} + ) +-set_property(TARGET rtlsdr_static APPEND PROPERTY COMPILE_DEFINITIONS "rtlsdr_STATIC" ) ++target_compile_definitions(rtlsdr_static PUBLIC "rtlsdr_STATIC") + 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() +-generate_export_header(rtlsdr_static) + + ######################################################################## + # Set up Windows DLL resource files +@@ -66,6 +65,14 @@ IF(MSVC) + target_sources(rtlsdr_static PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/rtlsdr.rc) + ENDIF(MSVC) + ++if(BUILD_SHARED_LIBS) ++ set(rtlsdr_target rtlsdr) ++ set_target_properties(rtlsdr_static PROPERTIES EXCLUDE_FROM_ALL 1) ++else() ++ set(rtlsdr_target rtlsdr_static) ++ set_target_properties(rtlsdr PROPERTIES EXCLUDE_FROM_ALL 1) ++endif() ++ + ######################################################################## + # Setup libraries used in executables + ######################################################################## +@@ -79,7 +86,7 @@ add_library(libgetopt_static STATIC + getopt/getopt.c + ) + target_link_libraries(convenience_static +- rtlsdr ++ ${rtlsdr_target} + ) + endif() + +@@ -96,6 +103,10 @@ 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) + ++foreach(executable IN ITEMS rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast) ++ target_link_libraries(${executable} convenience_static ${rtlsdr_target} ${THREADS_PTHREADS_LIBRARY}) ++endforeach() ++if(0) + target_link_libraries(rtl_sdr rtlsdr convenience_static + ${LIBUSB_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} +@@ -128,6 +139,7 @@ target_link_libraries(rtl_biast rtlsdr convenience_static + ${LIBUSB_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ) ++endif(0) + if(UNIX) + target_link_libraries(rtl_fm m) + target_link_libraries(rtl_adsb m) +@@ -148,6 +160,7 @@ target_link_libraries(rtl_eeprom libgetopt_static) + target_link_libraries(rtl_adsb libgetopt_static) + target_link_libraries(rtl_power libgetopt_static) + target_link_libraries(rtl_biast libgetopt_static) ++if(0) + set_property(TARGET rtl_sdr APPEND PROPERTY COMPILE_DEFINITIONS "rtlsdr_STATIC" ) + set_property(TARGET rtl_tcp APPEND PROPERTY COMPILE_DEFINITIONS "rtlsdr_STATIC" ) + set_property(TARGET rtl_test APPEND PROPERTY COMPILE_DEFINITIONS "rtlsdr_STATIC" ) +@@ -156,16 +169,12 @@ set_property(TARGET rtl_eeprom APPEND PROPERTY COMPILE_DEFINITIONS "rtlsdr_STATI + set_property(TARGET rtl_adsb APPEND PROPERTY COMPILE_DEFINITIONS "rtlsdr_STATIC" ) + set_property(TARGET rtl_power APPEND PROPERTY COMPILE_DEFINITIONS "rtlsdr_STATIC" ) + set_property(TARGET rtl_biast APPEND PROPERTY COMPILE_DEFINITIONS "rtlsdr_STATIC" ) ++endif(0) + endif() + ######################################################################## + # Install built library files & utilities + ######################################################################## +-install(TARGETS rtlsdr EXPORT RTLSDR-export +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # .so/.dylib file +- ) +-install(TARGETS rtlsdr_static EXPORT RTLSDR-export +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # .so/.dylib file +- ) ++install(TARGETS ${rtlsdr_target} EXPORT RTLSDR-export) + install(TARGETS rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast + DESTINATION ${CMAKE_INSTALL_BINDIR} + ) |