mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-12-23 01:55:48 -05:00
SoapySDR support: new attempt for Debian build
This commit is contained in:
parent
f3b75ead00
commit
781eb0d97b
@ -346,6 +346,7 @@ if (BUILD_DEBIAN)
|
||||
add_subdirectory(libmirisdr)
|
||||
add_subdirectory(libperseus)
|
||||
add_subdirectory(libiio)
|
||||
add_subdirectory(libsoapysdr)
|
||||
endif (BUILD_DEBIAN)
|
||||
|
||||
add_subdirectory(devices)
|
||||
|
2
debian/rules
vendored
2
debian/rules
vendored
@ -21,5 +21,5 @@
|
||||
# dh_make generated override targets
|
||||
# This is example for Cmake (See https://bugs.debian.org/641051 )
|
||||
override_dh_auto_configure:
|
||||
dh_auto_configure -- -DCMAKE_INSTALL_PREFIX=/opt/sdrangel -DDEBUG_OUTPUT=ON -DBUILD_TYPE=DEBIAN -DRX_SAMPLE_24BIT=ON -DLIBCM256CCSRC=/z1/development/cm256cc -DLIBDSDCCSRC=/z1/development/dsdcc -DLIBAIRSPYSRC=/z1/development/libairspy -DLIBAIRSPYHFSRC=/z1/softs/airspyhf -DLIBHACKRFSRC=/z1/development/hackrf/host -DLIBRTLSDRSRC=/z1/development/librtlsdr.f4exb -DLIBMBELIBSRC=/z1/development/mbelib -DLIBSERIALDVSRC=/z1/development/serialDV -DLIBBLADERFSRC=/z1/softs/bladeRF -DLIBBLADERFCOMMONSRC=/z1/softs/bladeRF/host/common -DLIBBLADERFLIBSRC=/z1/softs/bladeRF/host/libraries/libbladeRF -DLIBMIRISDRSRC=/z1/development/libmirisdr-4 -DLIBLIMESUITESRC=/z1/softs/LimeSuite -DLIBIIOSRC=/z1/softs/libiio -DLIBPERSEUSSRC=/z1/softs/libperseus-sdr -DLIBSOAPYSDRSRC=/z1/softs/SoapySDR
|
||||
dh_auto_configure -- -DCMAKE_INSTALL_PREFIX=/opt/sdrangel -DDEBUG_OUTPUT=ON -DBUILD_TYPE=DEBIAN -DRX_SAMPLE_24BIT=ON -DLIBCM256CCSRC=/z1/development/cm256cc -DLIBDSDCCSRC=/z1/development/dsdcc -DLIBAIRSPYSRC=/z1/development/libairspy -DLIBAIRSPYHFSRC=/z1/softs/airspyhf -DLIBHACKRFSRC=/z1/development/hackrf/host -DLIBRTLSDRSRC=/z1/development/librtlsdr.f4exb -DLIBMBELIBSRC=/z1/development/mbelib -DLIBSERIALDVSRC=/z1/development/serialDV -DLIBBLADERFSRC=/z1/softs/bladeRF -DLIBBLADERFCOMMONSRC=/z1/softs/bladeRF/host/common -DLIBBLADERFLIBSRC=/z1/softs/bladeRF/host/libraries/libbladeRF -DLIBMIRISDRSRC=/z1/development/libmirisdr-4 -DLIBLIMESUITESRC=/z1/softs/LimeSuite -DLIBIIOSRC=/z1/softs/libiio -DLIBPERSEUSSRC=/z1/softs/libperseus-sdr -DSOAPYSDR_SOURCE_DIR=/z1/softs/SoapySDR
|
||||
|
||||
|
@ -1,12 +1,17 @@
|
||||
project(soapysdr)
|
||||
|
||||
########################################################################
|
||||
# Project setup
|
||||
########################################################################
|
||||
cmake_minimum_required(VERSION 2.8.7)
|
||||
project(SoapySDR)
|
||||
enable_language(CXX)
|
||||
enable_testing()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
|
||||
#set(SOAPYSDR_SOURCE_DIR "/opt/build/SoapySDR")
|
||||
########################################################################
|
||||
# gather version information
|
||||
# packagers may specify -DSOAPY_SDR_EXTVER="foo" to replace the git hash
|
||||
########################################################################
|
||||
file(READ "${LIBSOAPYSDRSRC}/Changelog.txt" changelog_txt)
|
||||
file(READ "${SOAPYSDR_SOURCE_DIR}/Changelog.txt" changelog_txt)
|
||||
string(REGEX MATCH "Release ([0-9]+\\.[0-9]+\\.[0-9]+) \\(" CHANGELOG_MATCH "${changelog_txt}")
|
||||
if(NOT CHANGELOG_MATCH)
|
||||
message(FATAL_ERROR "Failed to extract version number from Changelog.txt")
|
||||
@ -14,7 +19,7 @@ endif(NOT CHANGELOG_MATCH)
|
||||
set(SOAPY_SDR_LIBVER "${CMAKE_MATCH_1}")
|
||||
|
||||
if (NOT SOAPY_SDR_EXTVER)
|
||||
include(${LIBSOAPYSDRSRC}/cmake/Modules/GetGitRevisionDescription.cmake)
|
||||
include(${SOAPYSDR_SOURCE_DIR}/cmake/Modules/GetGitRevisionDescription.cmake)
|
||||
get_git_head_revision(GITREFSPEC GITHASH)
|
||||
if (GITHASH)
|
||||
string(SUBSTRING "${GITHASH}" 0 8 GITHASH)
|
||||
@ -72,44 +77,85 @@ endif(CMAKE_AUTOSET_INSTALL_RPATH)
|
||||
# which point to directories outside the build tree to the install RPATH
|
||||
option(CMAKE_INSTALL_RPATH_USE_LINK_PATH "build with automatic rpath" TRUE)
|
||||
|
||||
########################################################################
|
||||
|
||||
list(APPEND SOAPY_SDR_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/Modules.cpp)
|
||||
configure_file(
|
||||
${LIBSOAPYSDRSRC}/lib/Modules.in.cpp
|
||||
${CMAKE_CURRENT_BINARY_DIR}/Modules.cpp
|
||||
@ONLY)
|
||||
|
||||
list(APPEND SOAPY_SDR_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/Version.cpp)
|
||||
configure_file(
|
||||
${LIBSOAPYSDRSRC}/lib/Version.in.cpp
|
||||
${CMAKE_CURRENT_BINARY_DIR}/Version.cpp
|
||||
@ONLY)
|
||||
if(APPLE)
|
||||
set(CMAKE_MACOSX_RPATH ON)
|
||||
endif()
|
||||
|
||||
########################################################################
|
||||
# Allows in-tree module util
|
||||
########################################################################
|
||||
set(SoapySDR_DIR ${SOAPYSDR_SOURCE_DIR}/cmake/Modules)
|
||||
set(SOAPY_SDR_IN_TREE_SOURCE_DIR ${SOAPYSDR_SOURCE_DIR})
|
||||
find_package(SoapySDR NO_MODULE REQUIRED)
|
||||
include_directories(${SoapySDR_INCLUDE_DIRS}) #local include precedence
|
||||
|
||||
file(GLOB soapysdr_SOURCES
|
||||
${LIBSOAPYSDRSRC}/lib/*.cpp
|
||||
)
|
||||
########################################################################
|
||||
# Install cmake helper modules
|
||||
########################################################################
|
||||
configure_file(
|
||||
${SOAPYSDR_SOURCE_DIR}/cmake/Modules/SoapySDRConfigVersion.in.cmake
|
||||
${PROJECT_BINARY_DIR}/SoapySDRConfigVersion.cmake
|
||||
@ONLY)
|
||||
set(cmake_files
|
||||
${SOAPYSDR_SOURCE_DIR}/cmake/Modules/SoapySDRConfig.cmake
|
||||
${SOAPYSDR_SOURCE_DIR}/cmake/Modules/SoapySDRUtil.cmake
|
||||
${PROJECT_BINARY_DIR}/SoapySDRConfigVersion.cmake)
|
||||
if (UNIX)
|
||||
install(FILES ${cmake_files} DESTINATION share/cmake/${PROJECT_NAME})
|
||||
elseif (WIN32)
|
||||
install(FILES ${cmake_files} DESTINATION cmake)
|
||||
endif ()
|
||||
|
||||
file(GLOB soapysdr_HEADERS
|
||||
${LIBSOAPYSDRSRC}/include/SoapySDR/*.hpp
|
||||
${LIBSOAPYSDRSRC}/include/SoapySDR/*.h
|
||||
)
|
||||
########################################################################
|
||||
# Install headers
|
||||
########################################################################
|
||||
#install(DIRECTORY include/SoapySDR DESTINATION include)
|
||||
|
||||
include_directories(
|
||||
.
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${LIBSOAPYSDRSRC}/include
|
||||
${LIBSOAPYSDRSRC}/lib
|
||||
)
|
||||
########################################################################
|
||||
# Build subdirs
|
||||
########################################################################
|
||||
add_subdirectory(${SOAPYSDR_SOURCE_DIR}/lib ${PROJECT_BINARY_DIR}/lib)
|
||||
#add_subdirectory(apps)
|
||||
#add_subdirectory(tests)
|
||||
#add_subdirectory(docs)
|
||||
|
||||
add_definitions(-DQT_SHARED)
|
||||
########################################################################
|
||||
# uninstall target
|
||||
########################################################################
|
||||
configure_file(
|
||||
"${SOAPYSDR_SOURCE_DIR}/cmake_uninstall.cmake.in"
|
||||
"${SOAPYSDR_SOURCE_DIR}/cmake_uninstall.cmake"
|
||||
IMMEDIATE @ONLY)
|
||||
|
||||
message( STATUS "soapysdr_SOURCES: ${soapysdr_SOURCES}" )
|
||||
#only add uninstall target if this is the top project
|
||||
if(${CMAKE_PROJECT_NAME} STREQUAL ${PROJECT_NAME})
|
||||
add_custom_target(uninstall
|
||||
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
|
||||
endif()
|
||||
|
||||
add_library(soapysdr SHARED
|
||||
${soapysdr_SOURCES}
|
||||
)
|
||||
#########################################################################
|
||||
# summary
|
||||
#########################################################################
|
||||
include(FeatureSummary)
|
||||
message(STATUS "")
|
||||
message(STATUS "######################################################")
|
||||
message(STATUS "## ${PROJECT_NAME} enabled features")
|
||||
message(STATUS "######################################################")
|
||||
feature_summary(WHAT ENABLED_FEATURES)
|
||||
message(STATUS "######################################################")
|
||||
message(STATUS "## ${PROJECT_NAME} disabled features")
|
||||
message(STATUS "######################################################")
|
||||
feature_summary(WHAT DISABLED_FEATURES)
|
||||
message(STATUS "SoapySDR version: v${SOAPY_SDR_VERSION}")
|
||||
message(STATUS "ABI/so version: v${SOAPY_SDR_ABI_VERSION}")
|
||||
message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
install(TARGETS soapysdr DESTINATION lib)
|
||||
#add_definitions(-DQT_SHARED)
|
||||
#
|
||||
#message( STATUS "soapysdr_SOURCES: ${soapysdr_SOURCES}" )
|
||||
#
|
||||
#add_library(soapysdr SHARED
|
||||
# ${soapysdr_SOURCES}
|
||||
#)
|
||||
#
|
||||
#install(TARGETS soapysdr DESTINATION lib)
|
||||
|
Loading…
Reference in New Issue
Block a user