mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-12-23 01:55:48 -05:00
some tests on cpack; use cmake own FindIconv
This commit is contained in:
parent
06b9baadee
commit
f276051725
@ -23,7 +23,7 @@ set(COMPANY "f4exb")
|
||||
add_definitions("-DCOMPANY=\"${COMPANY}\"")
|
||||
set(APPLICATION_NAME "SDRangel")
|
||||
add_definitions("-DAPPLICATION_NAME=\"${APPLICATION_NAME}\"")
|
||||
set(APPLICATION_MAINTAINER="Edouard Griffiths")
|
||||
set(APPLICATION_MAINTAINER="Edouard Griffiths, F4EXB <f4exb06@gmail.com>")
|
||||
set(COPYRIGHT "Copyright (c) 2019 Edouard Griffiths. All rights reserved.")
|
||||
add_definitions("-DCOPYRIGHT=\"${COPYRIGHT}\"")
|
||||
set(IDENTIFIER "com.${COMPANY}.${APPLICATION_NAME}")
|
||||
@ -48,28 +48,25 @@ add_definitions("-DSDRANGEL_LIB_VERSION=\"${sdrangel_VERSION_MAJOR}.${sdrangel_V
|
||||
add_definitions("-DSDRANGEL_VERSION=\"${sdrangel_VERSION}\"")
|
||||
|
||||
# configure CPACK infomation
|
||||
set(CPACK_PACKAGE_NAME "${APPLICATION_NAME}")
|
||||
set(CPACK_PACKAGE_NAME "${CMAKE_PACKAGE_NAME}")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "SDR Rx/Tx software for Airspy, Airspy HF+, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube")
|
||||
set(CPACK_PACKAGE_VENDOR "${COMPANY}")
|
||||
set(CPACK_PACKAGE_CONTACT "https://github.com/f4exb/sdrangel")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/Readme.md")
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}")
|
||||
set(CPACK_PACKAGE_VERSION "${sdrangel_VERSION}")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${sdrangel_VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${sdrangel_VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${sdrangel_VERSION_PATCH})
|
||||
set(CPACK_SOURCE_STRIP_FILES true)
|
||||
set(CPACK_STRIP_FILES true)
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${sdrangel_VERSION}-${CMAKE_SYSTEM_PROCESSOR}")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
|
||||
set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/Readme.md")
|
||||
set(CPACK_SOURCE_IGNORE_FILES "${PROJECT_BINARY_DIR};/.git/;.gitignore;menu.yml;.travis.yml;.appveyor.yml;default.nix;.envrc;TODOs.org;/.scripts/")
|
||||
set(CPACK_SOURCE_GENERATOR "ZIP;TGZ")
|
||||
set(CPACK_GENERATOR "ZIP;TGZ")
|
||||
|
||||
# quite unfair with *BSD/...
|
||||
if(UNIX AND NOT APPLE)
|
||||
set(LINUX TRUE)
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
set(LINUX TRUE)
|
||||
endif()
|
||||
|
||||
# SDRAngel cmake options
|
||||
@ -130,7 +127,9 @@ set(EXTERNAL_BUILD_LIBRARIES "${CMAKE_BINARY_DIR}/external_build")
|
||||
set(EXTERNAL_INSTALL_LIBRARIES "${CMAKE_BINARY_DIR}/external")
|
||||
|
||||
if(APPLE)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET, "10.9")
|
||||
# check
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9")
|
||||
message(STATUS "Build for macOS version: ${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||
set(CMAKE_MACOSX_RPATH ON)
|
||||
endif()
|
||||
|
||||
@ -216,7 +215,7 @@ find_package(OpenCV) # channeltx/modatv
|
||||
|
||||
# macOS compatibility
|
||||
if(APPLE)
|
||||
find_package(ICONV)
|
||||
find_package(Iconv)
|
||||
endif()
|
||||
|
||||
# include external cmake if needed
|
||||
@ -365,21 +364,16 @@ if (BUILD_SERVER)
|
||||
endif()
|
||||
|
||||
############ install/package targets ################
|
||||
if(APPLE AND BUNDLE AND BUILD_GUI)
|
||||
# https://cmake.org/cmake/help/v3.0/module/InstallRequiredSystemLibraries.html
|
||||
#include(InstallRequiredSystemLibraries)
|
||||
|
||||
# https://cmake.org/cmake/help/v3.0/module/InstallRequiredSystemLibraries.html
|
||||
#CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
|
||||
if(APPLE AND BUNDLE AND BUILD_GUI)
|
||||
|
||||
install(TARGETS sdrangelbench)
|
||||
if (BUILD_SERVER)
|
||||
install(TARGETS sdrangelsrv)
|
||||
endif()
|
||||
|
||||
#include(DeployQt)
|
||||
#macdeployqt(sdrangel)
|
||||
|
||||
include(InstallRequiredSystemLibraries)
|
||||
|
||||
configure_file("${CMAKE_SOURCE_DIR}/custom/desktop/MacOSXBundleInfo.plist.in"
|
||||
"${CMAKE_BINARY_DIR}/Info.plist" @ONLY)
|
||||
|
||||
@ -390,9 +384,16 @@ if(APPLE AND BUNDLE AND BUILD_GUI)
|
||||
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_BINARY_DIR}/${CMAKE_PROJECT_NAME}")
|
||||
|
||||
# CPACK_INSTALL_CMAKE_PROJECTS
|
||||
|
||||
#set(CPACK_INSTALL_CMAKE_PROJECTS "${CMAKE_BINARY_DIR};${CMAKE_PROJECT_NAME};lib;/")
|
||||
|
||||
set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/custom/desktop/sdrangel_icon.icns")
|
||||
# set(CPACK_APP_BUNDLE_DIR "${CPACK_PACKAGE_DIRECTORY}/_CPack_Packages/Darwin/Bundle/${CPACK_PACKAGE_FILE_NAME}/${APPLICATION_NAME}.app")
|
||||
# install( CODE "
|
||||
# INCLUDE(BundleUtilities)
|
||||
# fixup_bundle( ${CPACK_APP_BUNDLE_DIR} \"\" \"\" )"
|
||||
# COMPONENT Runtime )
|
||||
|
||||
elseif(LINUX AND BUNDLE)
|
||||
|
||||
@ -400,7 +401,7 @@ elseif(LINUX AND BUNDLE)
|
||||
list(APPEND CPACK_GENERATOR "DEB")
|
||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "${APPLICATION_MAINTAINER}")
|
||||
set(CPACK_DEBIAN_PACKAGE_SECTION "hamradio")
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libgcc1 (>= 1:3.4.2-12)")
|
||||
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, libopencv, pulseaudio, libxml2, ffmpeg, libavcodec, libavformat, libopus, libcodec2")
|
||||
|
||||
list(APPEND CPACK_GENERATOR "RPM")
|
||||
set(CPACK_RPM_PACKAGE_RELEASE "1")
|
||||
@ -409,7 +410,7 @@ elseif(LINUX AND BUNDLE)
|
||||
|
||||
elseif((WIN32 OR MINGW) AND BUNDLE)
|
||||
|
||||
set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
|
||||
#set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
|
||||
|
||||
list(APPEND CPACK_GENERATOR "NSIS")
|
||||
set(CPACK_NSIS_PACKAGE_NAME "${APPLICATION_NAME}")
|
||||
|
@ -1,73 +0,0 @@
|
||||
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
|
||||
include(CheckFunctionExists)
|
||||
if (ICONV_INCLUDE_DIR)
|
||||
# Already in cache, be silent
|
||||
set(ICONV_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
|
||||
find_path(ICONV_INCLUDE_DIR iconv.h
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include)
|
||||
|
||||
set(POTENTIAL_ICONV_LIBS iconv libiconv libiconv2)
|
||||
|
||||
find_library(ICONV_LIBRARY NAMES ${POTENTIAL_ICONV_LIBS}
|
||||
PATHS /usr/lib /usr/local/lib /opt/local/lib)
|
||||
|
||||
if(WIN32)
|
||||
set(ICONV_DLL_NAMES iconv.dll libiconv.dll libiconv2.dll)
|
||||
find_file(ICONV_DLL
|
||||
NAMES ${ICONV_DLL_NAMES}
|
||||
PATHS ENV PATH
|
||||
NO_DEFAULT_PATH)
|
||||
find_file(ICONV_DLL_HELP
|
||||
NAMES ${ICONV_DLL_NAMES}
|
||||
PATHS ENV PATH
|
||||
${ICONV_INCLUDE_DIR}/../bin)
|
||||
if(ICONV_FIND_REQUIRED)
|
||||
if(NOT ICONV_DLL AND NOT ICONV_DLL_HELP)
|
||||
message(FATAL_ERROR "Could not find iconv.dll, please add correct your PATH environment variable")
|
||||
endif()
|
||||
if(NOT ICONV_DLL AND ICONV_DLL_HELP)
|
||||
get_filename_component(ICONV_DLL_HELP ${ICONV_DLL_HELP} PATH)
|
||||
message(STATUS)
|
||||
message(STATUS "Could not find iconv.dll in standard search path, please add ")
|
||||
message(STATUS "${ICONV_DLL_HELP}")
|
||||
message(STATUS "to your PATH environment variable.")
|
||||
message(STATUS)
|
||||
message(FATAL_ERROR "exit cmake")
|
||||
endif()
|
||||
endif()
|
||||
if(ICONV_INCLUDE_DIR AND ICONV_LIBRARY AND ICONV_DLL)
|
||||
set(ICONV_FOUND TRUE)
|
||||
endif()
|
||||
else()
|
||||
check_function_exists(iconv HAVE_ICONV_IN_LIBC)
|
||||
if(ICONV_INCLUDE_DIR AND HAVE_ICONV_IN_LIBC)
|
||||
set(ICONV_FOUND TRUE)
|
||||
set(ICONV_LIBRARY CACHE TYPE STRING FORCE)
|
||||
endif()
|
||||
if(ICONV_INCLUDE_DIR AND ICONV_LIBRARY)
|
||||
set(ICONV_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
if(ICONV_FOUND)
|
||||
if(NOT ICONV_FIND_QUIETLY)
|
||||
message(STATUS "Found iconv library: ${ICONV_LIBRARY}")
|
||||
#message(STATUS "Found iconv dll : ${ICONV_DLL}")
|
||||
endif()
|
||||
else()
|
||||
if(ICONV_FIND_REQUIRED)
|
||||
message(STATUS "Looked for iconv library named ${POTENTIAL_ICONV_LIBS}.")
|
||||
message(STATUS "Found no acceptable iconv library. This is fatal.")
|
||||
message(STATUS "iconv header: ${ICONV_INCLUDE_DIR}")
|
||||
message(STATUS "iconv lib : ${ICONV_LIBRARY}")
|
||||
message(FATAL_ERROR "Could NOT find iconv library")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
mark_as_advanced(ICONV_LIBRARY ICONV_INCLUDE_DIR)
|
@ -16,7 +16,7 @@ set(fcdhid_HEADERS
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${LIBUSB_INCLUDE_DIR}
|
||||
${ICONV_INCLUDE_DIR}
|
||||
${Iconv_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
add_library(fcdhid SHARED
|
||||
@ -25,7 +25,7 @@ add_library(fcdhid SHARED
|
||||
|
||||
target_link_libraries(fcdhid
|
||||
${LIBUSB_LIBRARIES}
|
||||
${ICONV_LIBRARY}
|
||||
${Iconv_LIBRARY}
|
||||
)
|
||||
|
||||
install(TARGETS fcdhid DESTINATION ${INSTALL_LIB_DIR})
|
||||
|
Loading…
Reference in New Issue
Block a user