rework to prepare for use cpack; new sdrangel icon
148
CMakeLists.txt
@ -102,25 +102,26 @@ endif()
|
||||
# declare build structures
|
||||
# !! change sdrbase/plugin/pluginmanager.cpp too !!
|
||||
if(WIN32)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
|
||||
else()
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
|
||||
endif()
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
set(BUILD_PLUGINS_DIR ${CMAKE_BINARY_DIR}/lib/plugins)
|
||||
set(BUILD_PLUGINSSRV_DIR ${CMAKE_BINARY_DIR}/lib/pluginssrv)
|
||||
set(INSTALL_BIN_DIR "bin")
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
|
||||
set(BUILD_PLUGINS_DIR "${CMAKE_BINARY_DIR}/lib/plugins")
|
||||
set(BUILD_PLUGINSSRV_DIR "${CMAKE_BINARY_DIR}/lib/pluginssrv")
|
||||
# use only lib when create .app/.dmg
|
||||
if(APPLE AND BUNDLE AND BUILD_GUI)
|
||||
set(INSTALL_BIN_DIR ".")
|
||||
set(INSTALL_LIB_DIR "lib")
|
||||
set(INSTALL_DOC_DIR "doc")
|
||||
else()
|
||||
set(INSTALL_BIN_DIR "bin")
|
||||
set(INSTALL_LIB_DIR "lib/${CMAKE_PROJECT_NAME}")
|
||||
set(INSTALL_DOC_DIR "share/${CMAKE_PROJECT_NAME}")
|
||||
endif()
|
||||
set(INSTALL_PLUGINS_DIR ${INSTALL_LIB_DIR}/plugins)
|
||||
set(INSTALL_PLUGINSSRV_DIR ${INSTALL_LIB_DIR}/pluginssrv)
|
||||
set(INSTALL_PLUGINS_DIR "${INSTALL_LIB_DIR}/plugins")
|
||||
set(INSTALL_PLUGINSSRV_DIR "${INSTALL_LIB_DIR}/pluginssrv")
|
||||
set(EXTERNAL_BUILD_LIBRARIES "${CMAKE_BINARY_DIR}/external_build")
|
||||
set(EXTERNAL_INSTALL_LIBRARIES "${CMAKE_BINARY_DIR}/external")
|
||||
|
||||
@ -135,7 +136,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
endif()
|
||||
configure_file("${CMAKE_SOURCE_DIR}/custom/desktop/${CMAKE_PROJECT_NAME}.desktop.in"
|
||||
configure_file("${CMAKE_SOURCE_DIR}/cmake/cpack/${CMAKE_PROJECT_NAME}.desktop.in"
|
||||
"${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.desktop" @ONLY)
|
||||
elseif(APPLE)
|
||||
# check
|
||||
@ -143,7 +144,7 @@ elseif(APPLE)
|
||||
message(STATUS "Build for macOS version: ${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||
set(CMAKE_MACOSX_RPATH ON)
|
||||
|
||||
configure_file("${CMAKE_SOURCE_DIR}/custom/desktop/MacOSXBundleInfo.plist.in"
|
||||
configure_file("${CMAKE_SOURCE_DIR}/cmake/cpack/MacOSXBundleInfo.plist.in"
|
||||
"${CMAKE_BINARY_DIR}/Info.plist" @ONLY)
|
||||
elseif (WIN32)
|
||||
set(EXTERNAL_LIBRARY_FOLDER "${CMAKE_SOURCE_DIR}/external/windows")
|
||||
@ -270,10 +271,14 @@ if(ENABLE_RTLSDR)
|
||||
find_package(LibRTLSDR)
|
||||
endif()
|
||||
if(ENABLE_SOAPYSDR)
|
||||
find_package(SoapySDR 0.4.0)
|
||||
find_package(SoapySDR 0.4.0 NO_MODULE)
|
||||
if(NOT "${SoapySDR_LIBRARIES}" STREQUAL "" AND NOT "${SoapySDR_INCLUDE_DIRS}" STREQUAL "")
|
||||
set(SOAPYSDR_FOUND ON)
|
||||
message(STATUS "Found SoapySDR: ${SoapySDR_INCLUDE_DIRS}, ${SoapySDR_LIBRARIES}")
|
||||
endif()
|
||||
endif()
|
||||
if(ENABLE_XTRX)
|
||||
find_package(LibXTRX)
|
||||
find_package(LibXTRX)
|
||||
endif()
|
||||
|
||||
if (CODEC2_FOUND)
|
||||
@ -406,8 +411,8 @@ endif()
|
||||
|
||||
#install files and directories (linux specific)
|
||||
if (LINUX)
|
||||
install(FILES ${CMAKE_BINARY_DIR}/sdrangel.desktop DESTINATION share/applications)
|
||||
install(FILES ${CMAKE_SOURCE_DIR}/custom/desktop/sdrangel_icon.png DESTINATION share/pixmaps)
|
||||
install(FILES ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.desktop DESTINATION share/applications)
|
||||
install(FILES ${CMAKE_SOURCE_DIR}/cmake/cpack/${CMAKE_PROJECT_NAME}_icon.png DESTINATION share/pixmaps)
|
||||
endif()
|
||||
|
||||
############ uninstall target ################
|
||||
@ -421,117 +426,4 @@ add_custom_target(uninstall
|
||||
${CMAKE_CURRENT_BINARY_DIR}/uninstall.cmake)
|
||||
|
||||
############ packaging ################
|
||||
if(APPLE AND BUNDLE AND BUILD_GUI)
|
||||
|
||||
set(CPACK_GENERATOR "Bundle")
|
||||
set(CPACK_BINARY_DRAGNDROP ON)
|
||||
set(CPACK_BUNDLE_NAME "${APPLICATION_NAME}")
|
||||
set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/custom/desktop/sdrangel_icon.icns")
|
||||
set(CPACK_BUNDLE_PLIST "${CMAKE_BINARY_DIR}/Info.plist")
|
||||
set(CPACK_BUNDLE_STARTUP_COMMAND "${CMAKE_SOURCE_DIR}/cmake/sdrangel.sh")
|
||||
set(CPACK_BUNDLE_STARTUP_COMMAND "${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}")
|
||||
set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/custom/desktop/sdrangel_icon.icns")
|
||||
|
||||
# fixup_bundle() doesn't work correctly with RPATH so, I move on ;-)
|
||||
# GET_TARGET_PROPERTY(_qmake_path Qt5::qmake IMPORTED_LOCATION)
|
||||
# GET_FILENAME_COMPONENT(_qt_bindir ${_qmake_path} DIRECTORY)
|
||||
# INSTALL(
|
||||
# CODE "EXECUTE_PROCESS(COMMAND \"${_qt_bindir}/macdeployqt\" \"\${CMAKE_INSTALL_PREFIX}/../../\"
|
||||
# -appstore-compliant
|
||||
# -executable=\"\${CMAKE_INSTALL_PREFIX}/${INSTALL_BIN_DIR}/sdrangel\"
|
||||
# -executable=\"\${CMAKE_INSTALL_PREFIX}/${INSTALL_BIN_DIR}/sdrangelsrv\"
|
||||
# -executable=\"\${CMAKE_INSTALL_PREFIX}/${INSTALL_BIN_DIR}/sdrangelbench\")"
|
||||
# -libpath=\"${CMAKE_LIBRARY_OUTPUT_DIRECTORY}\")"
|
||||
# # -libpath=\"\${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR}\")"
|
||||
# COMPONENT applications)
|
||||
|
||||
INSTALL(CODE "
|
||||
SET(BU_COPY_FULL_FRAMEWORK_CONTENTS ON)
|
||||
include(BundleUtilities)
|
||||
fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/../../../${CPACK_BUNDLE_NAME}.app\" \"\" \"/opt/local/lib;/usr/local/lib\")
|
||||
" COMPONENT Runtime)
|
||||
|
||||
elseif(LINUX AND BUNDLE)
|
||||
|
||||
find_program (DPKG_BUILDER dpkg-buildpackage DOC "Debian package builder")
|
||||
if (DPKG_BUILDER)
|
||||
#
|
||||
# Derive the correct filename for a Debian package because the DEB
|
||||
# generator doesn't do this correctly at present.
|
||||
#
|
||||
find_program (DPKG_PROGRAM dpkg DOC "dpkg program of Debian-based systems")
|
||||
if (DPKG_PROGRAM)
|
||||
execute_process (
|
||||
COMMAND ${DPKG_PROGRAM} --print-architecture
|
||||
OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
else (DPKG_PROGRAM)
|
||||
set (CPACK_DEBIAN_PACKAGE_ARCHITECTURE noarch)
|
||||
endif (DPKG_PROGRAM)
|
||||
|
||||
# TODO:
|
||||
# - perseus package
|
||||
# - CHANGELOG see https://github.com/xbmc/xbmc/pull/9987/commits/0152e8f50c0f11c8bddcfdc65e1596851fe8b310
|
||||
# - verify dpkg info
|
||||
# - Boost seems used through Qt
|
||||
|
||||
# needs dpkg
|
||||
set(CPACK_GENERATOR "DEB")
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}_${LSB_CODENAME}_${CMAKE_SYSTEM_PROCESSOR}")
|
||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "${APPLICATION_MAINTAINER}")
|
||||
set(CPACK_DEBIAN_PACKAGE_SECTION "hamradio")
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libasound2, libfftw3-single3, libgcc1, libgl1-mesa-glx, libqt5core5a, libqt5gui5, libqt5multimedia5, libqt5network5, libqt5opengl5, libqt5widgets5, libqt5multimedia5-plugins, libstdc++6, libusb-1.0-0, pulseaudio, libxml2, ffmpeg, libopus0, codec2, libairspy0, libhackrf0, librtlsdr0, libbladerf1, libmirisdr0, libiio0, soapysdr-tools")
|
||||
|
||||
if ("${LSB_CODENAME}" STREQUAL "buster") # Debian 10
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec58, libavformat58, libairspyhf1, libopencv-imgproc3.2, libopencv-highgui3.2, limesuite")
|
||||
elseif("${LSB_CODENAME}" STREQUAL "stretch") # Debian 9
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec57, libavformat57, libopencv-imgproc2.45v5, libopencv-highgu2.4-deb0, limesuite")
|
||||
elseif("${LSB_CODENAME}" STREQUAL "bionic") # Ubuntu 18.04
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec57, libavformat57, libairspyhf0, libopencv-imgproc3.2, libopencv-highgui3.2, limesuite")
|
||||
elseif("${LSB_CODENAME}" STREQUAL "xenial") # Ubuntu 16.04
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec-ffmpeg56, libavformat-ffmpeg56, libopencv-imgproc2.4v5, libopencv-highgui2.4v5")
|
||||
endif()
|
||||
|
||||
set (CPACK_DEBIAN_PACKAGE_PACKAGE_SHLIBDEPS ON)
|
||||
endif (DPKG_BUILDER)
|
||||
|
||||
find_program (RPMBUILDER rpmbuild DOC "RPM package builder")
|
||||
if (RPMBUILDER)
|
||||
# TODO
|
||||
#list(APPEND CPACK_GENERATOR "RPM")
|
||||
#set(CPACK_RPM_PACKAGE_RELEASE "1")
|
||||
#set(CPACK_RPM_PACKAGE_LICENSE "GPL-3.0")
|
||||
#set(CPACK_RPM_PACKAGE_REQUIRES "libusb")
|
||||
#set (CPACK_RPM_PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
|
||||
endif (RPMBUILDER)
|
||||
|
||||
elseif((WIN32 OR MINGW) AND BUNDLE)
|
||||
|
||||
#set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
|
||||
|
||||
list(APPEND CPACK_GENERATOR "NSIS")
|
||||
set(CPACK_NSIS_PACKAGE_NAME "${APPLICATION_NAME}")
|
||||
set(CPACK_NSIS_CONTACT "${APPLICATION_MAINTAINER}")
|
||||
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
|
||||
set(CPACK_NSIS_MODIFY_PATH ON)
|
||||
|
||||
else()
|
||||
|
||||
if(NOT CMAKE_INSTALL_RPATH)
|
||||
set(CMAKE_INSTALL_RPATH
|
||||
${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR} CACHE
|
||||
PATH "Library Install RPath" FORCE)
|
||||
endif()
|
||||
|
||||
# force full path
|
||||
if(APPLE AND NOT CMAKE_INSTALL_NAME_DIR)
|
||||
set(CMAKE_INSTALL_NAME_DIR
|
||||
${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR} CACHE
|
||||
PATH "Library Install Name Destination Directory" FORCE)
|
||||
endif()
|
||||
|
||||
endif(APPLE AND BUNDLE AND BUILD_GUI)
|
||||
|
||||
message(STATUS "CPack generators: ${CPACK_GENERATOR}")
|
||||
include(CPack)
|
||||
|
159
CPack.cmake
Normal file
@ -0,0 +1,159 @@
|
||||
# Stuff qmake can tell us
|
||||
get_target_property (QMAKE_EXECUTABLE Qt5::qmake LOCATION)
|
||||
function (QUERY_QMAKE VAR RESULT)
|
||||
exec_program (${QMAKE_EXECUTABLE} ARGS "-query ${VAR}" RETURN_VALUE return_code OUTPUT_VARIABLE output)
|
||||
if (NOT return_code)
|
||||
file (TO_CMAKE_PATH "${output}" output)
|
||||
set (${RESULT} ${output} PARENT_SCOPE)
|
||||
endif (NOT return_code)
|
||||
message (STATUS "Asking qmake for ${RESULT} and got ${output}")
|
||||
endfunction (QUERY_QMAKE)
|
||||
|
||||
query_qmake (QT_INSTALL_PLUGINS QT_PLUGINS_DIR)
|
||||
query_qmake (QT_INSTALL_IMPORTS QT_IMPORTS_DIR)
|
||||
|
||||
if(APPLE AND BUNDLE AND BUILD_GUI)
|
||||
|
||||
set(CPACK_GENERATOR "Bundle")
|
||||
set(CPACK_BINARY_DRAGNDROP ON)
|
||||
set(CPACK_BUNDLE_NAME "${APPLICATION_NAME}")
|
||||
set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/custom/desktop/sdrangel_icon.icns")
|
||||
set(CPACK_BUNDLE_PLIST "${CMAKE_BINARY_DIR}/Info.plist")
|
||||
set(CPACK_BUNDLE_STARTUP_COMMAND "${CMAKE_SOURCE_DIR}/cmake/cpack/sdrangel.sh")
|
||||
set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/custom/desktop/sdrangel_icon.icns")
|
||||
|
||||
# Copy Qt Plugins; fixup_bundle doesn't do that
|
||||
install (
|
||||
DIRECTORY
|
||||
"${QT_PLUGINS_DIR}/platforms"
|
||||
"${QT_PLUGINS_DIR}/audio"
|
||||
"${QT_PLUGINS_DIR}/accessible"
|
||||
"${QT_PLUGINS_DIR}/imageformats"
|
||||
"${QT_PLUGINS_DIR}/mediaservice"
|
||||
"${QT_PLUGINS_DIR}/playlistformats"
|
||||
"${QT_PLUGINS_DIR}/styles"
|
||||
"${QT_PLUGINS_DIR}/iconengines"
|
||||
DESTINATION "../PlugIns"
|
||||
CONFIGURATIONS Release MinSizeRel
|
||||
COMPONENT runtime
|
||||
FILES_MATCHING PATTERN "*${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
||||
PATTERN "*minimal*${CMAKE_SHARED_LIBRARY_SUFFIX}" EXCLUDE
|
||||
PATTERN "*offscreen*${CMAKE_SHARED_LIBRARY_SUFFIX}" EXCLUDE
|
||||
PATTERN "*quick*${CMAKE_SHARED_LIBRARY_SUFFIX}" EXCLUDE
|
||||
PATTERN "*_debug${CMAKE_SHARED_LIBRARY_SUFFIX}" EXCLUDE
|
||||
)
|
||||
|
||||
# add plugins path for Mac Bundle
|
||||
install (CODE "
|
||||
get_filename_component (the_qt_conf \"\${CMAKE_INSTALL_PREFIX}/qt.conf\" REALPATH)
|
||||
file (WRITE \"\${the_qt_conf}\"
|
||||
\"
|
||||
[Paths]
|
||||
Plugins = ../PlugIns
|
||||
\")"
|
||||
)
|
||||
|
||||
# copy SoapySDR Modules
|
||||
# probably libmirsdrapi-rsp.dylib can't be re-distribuited
|
||||
# we remove the file at the end of fixup_bundle
|
||||
if(ENABLE_SOAPYSDR AND SOAPYSDR_FOUND)
|
||||
set(SOAPY_SDR_MOD_PATH "${SOAPY_SDR_ROOT}/lib/SoapySDR/modules${SOAPY_SDR_ABI_VERSION}")
|
||||
file(GLOB SOAPY_MODS ${SOAPY_SDR_MOD_PATH}/*.so)
|
||||
foreach(SOAPY_MOD_FILE ${SOAPY_MODS})
|
||||
install( FILES "${SOAPY_MOD_FILE}"
|
||||
DESTINATION "../Frameworks/SoapySDR/modules${SOAPY_SDR_ABI_VERSION}"
|
||||
COMPONENT Runtime
|
||||
)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
install(CODE "
|
||||
file(GLOB_RECURSE SDRANGEL_PLUGINS
|
||||
\"\${CMAKE_INSTALL_PREFIX}/${INSTALL_PLUGINS_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
|
||||
file(GLOB_RECURSE SDRANGEL_PLUGINSSRV
|
||||
\"\${CMAKE_INSTALL_PREFIX}/${INSTALL_PLUGINSSRV_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
|
||||
file(GLOB_RECURSE QTPLUGINS \"\${CMAKE_INSTALL_PREFIX}/../PlugIns/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
|
||||
file(GLOB_RECURSE SOAPYSDR_PLUGINS \"\${CMAKE_INSTALL_PREFIX}/../Frameworks/SoapySDR/modules${SOAPY_SDR_ABI_VERSION}/*.so\")
|
||||
|
||||
set(BU_CHMOD_BUNDLE_ITEMS ON)
|
||||
include(BundleUtilities)
|
||||
fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/${CMAKE_PROJECT_NAME}\" \"\${SDRANGEL_PLUGINS};\${SDRANGEL_PLUGINSSRV};\${QTPLUGINS};\${SOAPYSDR_PLUGINS}\" \"${CMAKE_LIBRARY_OUTPUT_DIRECTORY}\")
|
||||
|
||||
# remove non distribuitable files
|
||||
file(REMOVE \"\${CMAKE_INSTALL_PREFIX}/../Frameworks/libmirsdrapi-rsp.dylib\")
|
||||
|
||||
# Remove unused library
|
||||
#file(GLOB SDRANGEL_LIB \"\${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
|
||||
#file(REMOVE_RECURSE \"\${SDRANGEL_LIB}\")
|
||||
file(REMOVE \"\${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
|
||||
" COMPONENT Runtime)
|
||||
|
||||
elseif(LINUX AND BUNDLE)
|
||||
|
||||
find_program (DPKG_BUILDER dpkg-buildpackage DOC "Debian package builder")
|
||||
if (DPKG_BUILDER)
|
||||
#
|
||||
# Derive the correct filename for a Debian package because the DEB
|
||||
# generator doesn't do this correctly at present.
|
||||
#
|
||||
find_program (DPKG_PROGRAM dpkg DOC "dpkg program of Debian-based systems")
|
||||
if (DPKG_PROGRAM)
|
||||
execute_process (
|
||||
COMMAND ${DPKG_PROGRAM} --print-architecture
|
||||
OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
else (DPKG_PROGRAM)
|
||||
set (CPACK_DEBIAN_PACKAGE_ARCHITECTURE noarch)
|
||||
endif (DPKG_PROGRAM)
|
||||
|
||||
# TODO:
|
||||
# - perseus package
|
||||
# - CHANGELOG see https://github.com/xbmc/xbmc/pull/9987/commits/0152e8f50c0f11c8bddcfdc65e1596851fe8b310
|
||||
# - verify dpkg info
|
||||
# - Boost seems used through Qt
|
||||
|
||||
# needs dpkg
|
||||
set(CPACK_GENERATOR "DEB")
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}_${LSB_CODENAME}_${CMAKE_SYSTEM_PROCESSOR}")
|
||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "${APPLICATION_MAINTAINER}")
|
||||
set(CPACK_DEBIAN_PACKAGE_SECTION "hamradio")
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libasound2, libfftw3-single3, libgcc1, libgl1-mesa-glx, libqt5core5a, libqt5gui5, libqt5multimedia5, libqt5network5, libqt5opengl5, libqt5widgets5, libqt5multimedia5-plugins, libstdc++6, libusb-1.0-0, pulseaudio, libxml2, ffmpeg, libopus0, codec2, libairspy0, libhackrf0, librtlsdr0, libbladerf1, libmirisdr0, libiio0, soapysdr-tools")
|
||||
|
||||
if ("${LSB_CODENAME}" STREQUAL "buster") # Debian 10
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec58, libavformat58, libairspyhf1, libopencv-imgproc3.2, libopencv-highgui3.2, limesuite")
|
||||
elseif("${LSB_CODENAME}" STREQUAL "stretch") # Debian 9
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec57, libavformat57, libopencv-imgproc2.45v5, libopencv-highgu2.4-deb0, limesuite")
|
||||
elseif("${LSB_CODENAME}" STREQUAL "bionic") # Ubuntu 18.04
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec57, libavformat57, libairspyhf0, libopencv-imgproc3.2, libopencv-highgui3.2, limesuite")
|
||||
elseif("${LSB_CODENAME}" STREQUAL "xenial") # Ubuntu 16.04
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libavcodec-ffmpeg56, libavformat-ffmpeg56, libopencv-imgproc2.4v5, libopencv-highgui2.4v5")
|
||||
endif()
|
||||
|
||||
set (CPACK_DEBIAN_PACKAGE_PACKAGE_SHLIBDEPS ON)
|
||||
endif (DPKG_BUILDER)
|
||||
|
||||
find_program (RPMBUILDER rpmbuild DOC "RPM package builder")
|
||||
if (RPMBUILDER)
|
||||
# TODO
|
||||
#list(APPEND CPACK_GENERATOR "RPM")
|
||||
#set(CPACK_RPM_PACKAGE_RELEASE "1")
|
||||
#set(CPACK_RPM_PACKAGE_LICENSE "GPL-3.0")
|
||||
#set(CPACK_RPM_PACKAGE_REQUIRES "libusb")
|
||||
#set (CPACK_RPM_PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
|
||||
endif (RPMBUILDER)
|
||||
|
||||
elseif((WIN32 OR MINGW) AND BUNDLE)
|
||||
|
||||
#set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
|
||||
|
||||
list(APPEND CPACK_GENERATOR "NSIS")
|
||||
set(CPACK_NSIS_PACKAGE_NAME "${APPLICATION_NAME}")
|
||||
set(CPACK_NSIS_CONTACT "${APPLICATION_MAINTAINER}")
|
||||
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
|
||||
set(CPACK_NSIS_MODIFY_PATH ON)
|
||||
|
||||
endif(APPLE AND BUNDLE AND BUILD_GUI)
|
||||
|
||||
message(STATUS "CPack generators: ${CPACK_GENERATOR}")
|
||||
include(CPack)
|
@ -1,36 +0,0 @@
|
||||
# Find Soapy SDR
|
||||
|
||||
if (NOT SOAPYSDR_INCLUDE_DIR)
|
||||
find_path (SOAPYSDR_INCLUDE_DIR
|
||||
NAMES SoapySDR/Version.h
|
||||
PATHS ${SOAPYSDR_DIR}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
)
|
||||
endif()
|
||||
|
||||
if (NOT SOAPYSDR_LIBRARY)
|
||||
find_library (SOAPYSDR_LIBRARY
|
||||
NAMES SoapySDR
|
||||
HINTS ${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
PATHS ${SOAPYSDR_DIR}/lib
|
||||
${SOAPYSDR_DIR}/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
)
|
||||
endif()
|
||||
|
||||
if (SOAPYSDR_INCLUDE_DIR AND SOAPYSDR_LIBRARY)
|
||||
set(SOAPYSDR_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if (SOAPYSDR_FOUND)
|
||||
message (STATUS "Found SoapySDR: ${SOAPYSDR_INCLUDE_DIR}, ${SOAPYSDR_LIBRARY}")
|
||||
else()
|
||||
message (STATUS "Could not find SoapySDR")
|
||||
endif()
|
||||
|
||||
mark_as_advanced(SOAPYSDR_INCLUDE_DIR SOAPYSDR_LIBRARY)
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
@ -1,12 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
SDRANGEL_BUNDLE="`echo "$0" | sed -e 's/\/Contents\/MacOS\/.*//'`"
|
||||
SDRANGEL_RESOURCES="$SDRANGEL_BUNDLE/Contents/Resources"
|
||||
get_abs_dir() {
|
||||
# $1 : relative filename
|
||||
echo "$(cd "$(dirname "$1")" && pwd)"
|
||||
}
|
||||
|
||||
echo "running $0"
|
||||
echo "SDRANGEL_BUNDLE: $SDRANGEL_BUNDLE"
|
||||
SDRANGEL_RESOURCES="$(get_abs_dir "$0")/../Resources"
|
||||
exec "$SDRANGEL_RESOURCES/sdrangel"
|
||||
|
||||
export "DYLD_LIBRARY_PATH=$SDRANGEL_RESOURCES/lib"
|
||||
export "PATH=$SDRANGEL_RESOURCES/bin:$PATH"
|
||||
|
||||
exec "$SDRANGEL_RESOURCES/bin/sdrangel"
|
||||
|
@ -16,7 +16,7 @@ set(soapysdrdevice_HEADERS
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${SOAPYSDR_INCLUDE_DIR}
|
||||
${SoapySDR_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
add_library(soapysdrdevice SHARED
|
||||
@ -27,7 +27,7 @@ set_target_properties(soapysdrdevice
|
||||
PROPERTIES DEFINE_SYMBOL "devices_EXPORTS")
|
||||
|
||||
target_link_libraries(soapysdrdevice
|
||||
${SOAPYSDR_LIBRARY}
|
||||
${SoapySDR_LIBRARIES}
|
||||
sdrbase
|
||||
)
|
||||
|
||||
|
@ -18,7 +18,7 @@ include_directories(
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
|
||||
${CMAKE_SOURCE_DIR}/devices
|
||||
${SOAPYSDR_INCLUDE_DIR}
|
||||
${SoapySDR_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
if(NOT SERVER_MODE)
|
||||
@ -54,7 +54,7 @@ target_link_libraries(${TARGET_NAME}
|
||||
sdrbase
|
||||
${TARGET_LIB_GUI}
|
||||
swagger
|
||||
${SOAPYSDR_LIBRARY}
|
||||
${SoapySDR_LIBRARIES}
|
||||
soapysdrdevice
|
||||
)
|
||||
|
||||
|
@ -18,7 +18,7 @@ include_directories(
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
|
||||
${CMAKE_SOURCE_DIR}/devices
|
||||
${SOAPYSDR_INCLUDE_DIR}
|
||||
${SoapySDR_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
if(NOT SERVER_MODE)
|
||||
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 14 KiB |