2023-04-11 21:28:09 -04:00
cmake_minimum_required ( VERSION 2.8.12 )
2014-10-27 20:05:40 -04:00
2016-01-04 22:50:21 -05:00
project ( CubicSDR )
list ( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/" )
2015-02-22 23:02:39 -05:00
SET ( CUBICSDR_VERSION_MAJOR "0" )
2016-06-03 20:44:08 -04:00
SET ( CUBICSDR_VERSION_MINOR "2" )
2023-01-11 15:27:04 -05:00
SET ( CUBICSDR_VERSION_PATCH "8" )
2023-04-11 21:28:09 -04:00
SET ( CUBICSDR_VERSION_SUFFIX "" )
2016-10-20 21:44:33 -04:00
SET ( CUBICSDR_VERSION "${CUBICSDR_VERSION_MAJOR}.${CUBICSDR_VERSION_MINOR}.${CUBICSDR_VERSION_PATCH}${CUBICSDR_VERSION_SUFFIX}" )
2015-02-22 23:02:39 -05:00
2015-03-04 22:58:50 -05:00
SET ( CPACK_PACKAGE_VERSION "${CUBICSDR_VERSION_MAJOR}.${CUBICSDR_VERSION_MINOR}.${CUBICSDR_VERSION_PATCH}" )
2015-02-22 23:02:39 -05:00
SET ( CPACK_PACKAGE_VERSION_MAJOR ${ CUBICSDR_VERSION_MAJOR } )
SET ( CPACK_PACKAGE_VERSION_MINOR ${ CUBICSDR_VERSION_MINOR } )
SET ( CPACK_PACKAGE_VERSION_PATCH ${ CUBICSDR_VERSION_PATCH } )
2016-10-20 21:44:33 -04:00
SET ( CUSTOM_BUILD OFF CACHE BOOL "Enable custom build options" )
# Build options for custom deploys, optimization and debugging
IF ( CUSTOM_BUILD )
SET ( CUBICSDR_BUILD_TITLE CACHE STRING "Custom Title" )
# bundle flags
SET ( CUBICSDR_INSTALL_NAME CACHE "CubicSDR" "Installation Name" )
SET ( CUBICSDR_INSTALL_TITLE CACHE "CubicSDR" "Installation Title" )
SET ( CUBICSDR_HEADER_IMAGE CACHE "" "Image file to display in header" )
SET ( CUBICSDR_HEADER_BG CACHE "000000" "Background Color (HEX) for header" )
# feature flags
SET ( CUBICSDR_ENABLE_VIEW_DEMOD ON CACHE BOOL "Enable Second Demodulator Spectrum/Waterfall view." )
SET ( CUBICSDR_ENABLE_VIEW_SCOPE ON CACHE BOOL "Enable Demodulator Scope/Spectrum view." )
2017-03-20 20:20:17 -04:00
SET ( CUBICSDR_ENABLE_ABOUT_DIALOG ON CACHE BOOL "Enable About Dialog." )
SET ( CUBICSDR_DEFAULT_HIDE_BOOKMARKS OFF CACHE BOOL "Hide Bookmarks by Default." )
2016-10-20 21:44:33 -04:00
SET ( CUBICSDR_MODEM_EXCLUDE CACHE "" "Comma-separated list of modems to exclude." )
IF ( NOT CUBICSDR_HEADER_IMAGE STREQUAL "" )
SET ( CUBICSDR_HAS_HEADER_IMAGE TRUE )
GET_FILENAME_COMPONENT ( CUBICSDR_HEADER_IMAGE_FILE "${CUBICSDR_HEADER_IMAGE}" NAME )
GET_FILENAME_COMPONENT ( CUBICSDR_HEADER_IMAGE_DIR "${CUBICSDR_HEADER_IMAGE}" PATH )
ADD_DEFINITIONS (
- D C U B I C S D R _ H E A D E R _ I M A G E = " $ { C U B I C S D R _ H E A D E R _ I M A G E _ F I L E } "
- D C U B I C S D R _ H E A D E R _ B G = " $ { C U B I C S D R _ H E A D E R _ B G } "
)
ENDIF ( )
IF ( NOT CUBICSDR_MODEM_EXCLUDE STREQUAL "" )
ADD_DEFINITIONS (
- D C U B I C S D R _ M O D E M _ E X C L U D E = " $ { C U B I C S D R _ M O D E M _ E X C L U D E } "
)
ENDIF ( )
ELSE ( )
2017-02-07 21:48:22 -05:00
SET ( CUBICSDR_BUILD_TITLE "CubicSDR v${CUBICSDR_VERSION} :: www.cubicsdr.com" )
2016-10-20 21:44:33 -04:00
# bundle flags
SET ( CUBICSDR_INSTALL_NAME "CubicSDR" )
SET ( CUBICSDR_INSTALL_TITLE "CubicSDR ${CUBICSDR_VERSION} Installer" )
SET ( CUBICSDR_HEADER_IMAGE "" )
SET ( CUBICSDR_HEADER_BG "" )
# feature flags
2017-03-20 20:20:17 -04:00
SET ( CUBICSDR_ENABLE_VIEW_DEMOD ON )
SET ( CUBICSDR_ENABLE_VIEW_SCOPE ON )
SET ( CUBICSDR_DEFAULT_HIDE_BOOKMARKS OFF )
SET ( CUBICSDR_ENABLE_ABOUT_DIALOG ON )
2016-10-20 21:44:33 -04:00
SET ( CUBICSDR_EXCLUDE_MODEM "" )
ENDIF ( )
IF ( CUBICSDR_ENABLE_VIEW_DEMOD )
ADD_DEFINITIONS ( -DCUBICSDR_ENABLE_VIEW_DEMOD=1 )
ENDIF ( )
IF ( CUBICSDR_ENABLE_VIEW_SCOPE )
ADD_DEFINITIONS ( -DCUBICSDR_ENABLE_VIEW_SCOPE=1 )
ENDIF ( )
2015-11-10 19:25:41 -05:00
2017-03-20 20:20:17 -04:00
IF ( CUBICSDR_DEFAULT_HIDE_BOOKMARKS )
ADD_DEFINITIONS ( -DCUBICSDR_DEFAULT_HIDE_BOOKMARKS=1 )
ENDIF ( )
IF ( CUBICSDR_ENABLE_ABOUT_DIALOG )
ADD_DEFINITIONS ( -DCUBICSDR_ENABLE_ABOUT_DIALOG=1 )
ENDIF ( )
2015-02-22 23:02:39 -05:00
ADD_DEFINITIONS (
2016-11-01 22:29:58 -04:00
- D C U B I C S D R _ I N S T A L L _ N A M E = " $ { C U B I C S D R _ I N S T A L L _ N A M E } "
2016-10-20 21:44:33 -04:00
- D C U B I C S D R _ V E R S I O N = " $ { C U B I C S D R _ V E R S I O N } "
- D C U B I C S D R _ B U I L D _ T I T L E = " $ { C U B I C S D R _ B U I L D _ T I T L E } "
2015-02-22 23:02:39 -05:00
)
2015-11-15 13:52:54 -05:00
SET ( ENABLE_DIGITAL_LAB OFF CACHE BOOL "Enable 'Digital Lab' testing features." )
IF ( ENABLE_DIGITAL_LAB )
ADD_DEFINITIONS (
- D E N A B L E _ D I G I T A L _ L A B = 1
)
ENDIF ( )
2015-02-17 21:26:14 -05:00
2016-01-11 12:55:02 -05:00
set ( USE_HAMLIB OFF CACHE BOOL "Support hamlib for radio control functions." )
2016-01-03 15:39:29 -05:00
if ( USE_HAMLIB )
find_package ( hamlib REQUIRED )
2016-01-04 22:50:21 -05:00
if ( NOT HAMLIB_FOUND )
2016-01-03 15:39:29 -05:00
message ( FATAL_ERROR "hamlib development files not found..." )
endif ( )
2016-01-04 22:50:21 -05:00
include_directories ( ${ HAMLIB_INCLUDE_DIR } )
link_libraries ( ${ HAMLIB_LIBRARY } )
2016-01-03 15:39:29 -05:00
2016-12-23 18:45:25 -05:00
ADD_DEFINITIONS ( -DUSE_HAMLIB )
2016-01-03 15:39:29 -05:00
endif ( )
2014-12-07 21:06:05 -05:00
macro ( configure_files srcDir destDir globStr )
message ( STATUS "Copying ${srcDir}/${globStr} to directory ${destDir}" )
2014-10-27 20:05:40 -04:00
make_directory ( ${ destDir } )
2015-11-12 20:31:55 -05:00
file ( GLOB templateFiles RELATIVE ${ srcDir } ${ srcDir } / ${ globStr } )
foreach ( templateFile ${ templateFiles } )
set ( srcTemplatePath ${ srcDir } / ${ templateFile } )
2014-12-07 21:06:05 -05:00
message ( STATUS "Configuring file ${templateFile}" )
2015-11-12 20:31:55 -05:00
if ( NOT IS_DIRECTORY ${ srcTemplatePath } )
2014-10-27 20:05:40 -04:00
configure_file (
2015-11-12 20:31:55 -05:00
$ { s r c T e m p l a t e P a t h }
$ { d e s t D i r } / $ { t e m p l a t e F i l e }
2014-10-27 20:05:40 -04:00
C O P Y O N L Y )
2015-11-12 20:31:55 -05:00
endif ( NOT IS_DIRECTORY ${ srcTemplatePath } )
2014-10-27 20:05:40 -04:00
endforeach ( templateFile )
endmacro ( configure_files )
macro ( configure_files_recurse srcDir destDir )
message ( STATUS "Configuring directory ${destDir}" )
make_directory ( ${ destDir } )
2015-11-12 20:31:55 -05:00
file ( GLOB_RECURSE templateFiles RELATIVE ${ srcDir } ${ srcDir } /* )
foreach ( templateFile ${ templateFiles } )
set ( srcTemplatePath ${ srcDir } / ${ templateFile } )
2014-12-07 21:06:05 -05:00
message ( STATUS "Configuring file ${templateFile}" )
2015-11-12 20:31:55 -05:00
if ( NOT IS_DIRECTORY ${ srcTemplatePath } )
2014-10-27 20:05:40 -04:00
configure_file (
2015-11-12 20:31:55 -05:00
$ { s r c T e m p l a t e P a t h }
$ { d e s t D i r } / $ { t e m p l a t e F i l e }
2014-10-27 20:05:40 -04:00
C O P Y O N L Y )
2015-11-12 20:31:55 -05:00
endif ( NOT IS_DIRECTORY ${ srcTemplatePath } )
2014-10-27 20:05:40 -04:00
endforeach ( templateFile )
endmacro ( configure_files_recurse )
2015-01-25 16:57:23 -05:00
if ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
MESSAGE ( "64 bit compiler detected" )
SET ( EX_PLATFORM 64 )
SET ( EX_PLATFORM_NAME "x64" )
else ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
MESSAGE ( "32 bit compiler detected" )
SET ( EX_PLATFORM 32 )
SET ( EX_PLATFORM_NAME "x86" )
endif ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
2015-02-20 00:34:32 -05:00
2015-11-12 20:31:55 -05:00
SET ( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${ PROJECT_BINARY_DIR } / ${ EX_PLATFORM_NAME } )
SET ( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${ PROJECT_BINARY_DIR } / ${ EX_PLATFORM_NAME } )
SET ( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${ PROJECT_BINARY_DIR } / ${ EX_PLATFORM_NAME } )
2014-10-27 20:05:40 -04:00
2015-11-09 22:05:12 -05:00
IF ( MSVC )
2016-12-23 18:45:25 -05:00
include_directories ( "${PROJECT_SOURCE_DIR}/external/wglext" )
SET ( LIQUID_INCLUDES "${PROJECT_SOURCE_DIR}/external/liquid-dsp/include/" CACHE STRING "Liquid-DSP include directory" )
SET ( LIQUID_LIBRARIES "${PROJECT_SOURCE_DIR}/external/liquid-dsp/msvc/${EX_PLATFORM}/libliquid.lib" CACHE STRING "Liquid-DSP Library" )
SET ( LIQUID_DLL "${PROJECT_SOURCE_DIR}/external/liquid-dsp/msvc/${EX_PLATFORM}/libliquid.dll" CACHE STRING "Liquid-DSP DLL" )
2021-08-02 08:29:29 -04:00
SET ( HAMLIB_DLLS "${PROJECT_SOURCE_DIR}/external/hamlib/${EX_PLATFORM}/libhamlib-4.dll" CACHE STRING "HAMLIB DLLS" )
2015-11-09 22:05:12 -05:00
ELSE ( MSVC )
2016-12-23 18:45:25 -05:00
ADD_DEFINITIONS (
- s t d = c + + 0 x
- p t h r e a d
)
2015-11-09 22:05:12 -05:00
ENDIF ( MSVC )
2014-10-27 20:05:40 -04:00
find_package ( OpenGL REQUIRED )
2015-09-13 22:18:29 -04:00
find_package ( Liquid REQUIRED )
2016-03-20 18:56:13 -04:00
include_directories ( ${ LIQUID_INCLUDES } )
SET ( OTHER_LIBRARIES ${ OTHER_LIBRARIES } ${ LIQUID_LIBRARIES } )
2014-10-27 20:05:40 -04:00
2015-11-09 22:05:12 -05:00
find_package ( wxWidgets COMPONENTS gl core propgrid adv base REQUIRED )
2014-10-27 20:05:40 -04:00
set ( wxWidgets_CONFIGURATION mswu )
include ( ${ wxWidgets_USE_FILE } )
2015-10-23 02:53:51 -04:00
find_package ( SoapySDR "0.4.0" NO_MODULE REQUIRED )
2015-10-19 23:02:50 -04:00
include_directories ( ${ SOAPY_SDR_INCLUDE_DIR } )
SET ( OTHER_LIBRARIES ${ SOAPY_SDR_LIBRARY } ${ OTHER_LIBRARIES } )
ADD_DEFINITIONS (
2016-12-23 18:45:25 -05:00
- D U S E _ S O A P Y _ S D R = 1
2015-10-19 23:02:50 -04:00
)
2015-01-25 16:57:23 -05:00
2014-12-07 21:06:05 -05:00
IF ( WIN32 )
2016-12-23 18:45:25 -05:00
set ( wxWidgets_USE_STATIC ON )
set ( BUILD_INSTALLER OFF CACHE BOOL "Build Installer" )
# Audio device selection is not mandatory, dummy audio device is used if none are compiled in.
# Can also compile support for more than one simultaneously.
2017-09-27 15:45:08 -04:00
set ( USE_AUDIO_DS ON CACHE BOOL "Include support for DirectSound" )
set ( USE_AUDIO_WASAPI OFF CACHE BOOL "Include support for WASAPI Audio" )
2016-12-23 18:45:25 -05:00
# TODO:
# set(USE_AUDIO_ASIO OFF CACHE BOOL "Include support for ASIO Audio")
# WASAPI
IF ( USE_AUDIO_WASAPI )
ADD_DEFINITIONS ( -D__WINDOWS_WASAPI__ )
IF ( NOT MSVC )
SET ( OTHER_LIBRARIES ${ OTHER_LIBRARIES } -luuid -lksuser )
ENDIF ( NOT MSVC )
ENDIF ( USE_AUDIO_WASAPI )
# DirectSound
IF ( USE_AUDIO_DS )
ADD_DEFINITIONS ( -D__WINDOWS_DS__ )
IF ( MSVC )
SET ( OTHER_LIBRARIES ${ OTHER_LIBRARIES } dsound.lib )
ELSE ( MSVC )
SET ( OTHER_LIBRARIES ${ OTHER_LIBRARIES } -ldsound )
ENDIF ( MSVC )
ENDIF ( USE_AUDIO_DS )
2015-01-26 22:18:15 -05:00
2016-12-23 18:45:25 -05:00
SET ( USE_MINGW_PATCH OFF CACHE BOOL "Add some missing functions when compiling against mingw liquid-dsp." )
IF ( USE_MINGW_PATCH )
SET ( CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} legacy_stdio_definitions.lib libgcc.a" )
ADD_DEFINITIONS (
- D M I N G W _ P A T C H = 1
)
SET ( GCC_LINKDIR "" CACHE STRING "" )
IF ( GCC_LINKDIR )
link_directories ( "${GCC_LINKDIR}" )
ENDIF ( )
ENDIF ( )
2014-12-07 21:06:05 -05:00
ENDIF ( WIN32 )
2014-12-04 22:25:18 -05:00
2017-02-07 11:07:44 -05:00
MACRO ( use_included_rtaudio )
2016-09-02 11:54:23 -04:00
SET ( cubicsdr_sources
$ { c u b i c s d r _ s o u r c e s }
e x t e r n a l / r t a u d i o / R t A u d i o . c p p
)
SET ( cubicsdr_headers
$ { c u b i c s d r _ h e a d e r s }
e x t e r n a l / r t a u d i o / R t A u d i o . h
)
SOURCE_GROUP ( "_ext-RTAudio" REGULAR_EXPRESSION "external/rtaudio/.*${REG_EXT}" )
include_directories ( ${ PROJECT_SOURCE_DIR } /external/rtaudio )
2017-02-07 11:07:44 -05:00
ENDMACRO ( use_included_rtaudio )
IF ( UNIX AND NOT APPLE )
set ( BUILD_DEB OFF CACHE BOOL "Build DEB" )
SET ( USE_SYSTEM_RTAUDIO OFF CACHE BOOL "Use the system RtAudio which in turn provides OSS, ALSA, JACK, PulseAudio support depending on how it was compiled" )
SET ( LIQUID_LIB liquid )
SET ( OTHER_LIBRARIES ${ OTHER_LIBRARIES } dl )
IF ( USE_SYSTEM_RTAUDIO )
find_package ( RtAudio )
SET ( OTHER_LIBRARIES ${ OTHER_LIBRARIES } ${ RTAUDIO_LIBRARIES } )
ADD_DEFINITIONS ( ${ RTAUDIO_DEFINITIONS } )
include_directories ( ${ RTAUDIO_INCLUDE_DIR } )
ELSE ( USE_SYSTEM_RTAUDIO )
use_included_rtaudio ( )
2017-02-07 18:29:34 -05:00
SET ( USE_AUDIO_PULSE ON CACHE BOOL "Use Pulse Audio" )
SET ( USE_AUDIO_JACK OFF CACHE BOOL "Use Jack Audio" )
SET ( USE_AUDIO_ALSA OFF CACHE BOOL "Use ALSA Audio" )
SET ( USE_AUDIO_OSS OFF CACHE BOOL "Use OSS Audio" )
2017-02-07 11:07:44 -05:00
IF ( USE_AUDIO_PULSE )
SET ( OTHER_LIBRARIES ${ OTHER_LIBRARIES } pulse-simple pulse )
ADD_DEFINITIONS (
- D _ _ L I N U X _ P U L S E _ _
)
ENDIF ( USE_AUDIO_PULSE )
IF ( USE_AUDIO_JACK )
find_package ( Jack )
SET ( OTHER_LIBRARIES ${ OTHER_LIBRARIES } ${ JACK_LIBRARIES } )
ADD_DEFINITIONS (
- D _ _ U N I X _ J A C K _ _
)
include_directories ( ${ JACK_INCLUDE_DIRS } )
ENDIF ( USE_AUDIO_JACK )
IF ( USE_AUDIO_ALSA )
SET ( OTHER_LIBRARIES ${ OTHER_LIBRARIES } asound )
set ( ALSA_INCLUDE_DIR "/usr/include" CACHE FILEPATH "ALSA include path" )
include_directories ( ${ ALSA_INCLUDE_DIR } )
set ( ALSA_LIB_DIR "/usr/lib" CACHE FILEPATH "ALSA lib path" )
link_directories ( ${ ALSA_LIB_DIR } )
ADD_DEFINITIONS (
- D _ _ L I N U X _ A L S A _ _
)
ENDIF ( USE_AUDIO_ALSA )
IF ( USE_AUDIO_OSS )
SET ( OTHER_LIBRARIES ${ OTHER_LIBRARIES } oss )
ADD_DEFINITIONS (
- D _ _ L I N U X _ O S S _ _
)
ENDIF ( USE_AUDIO_OSS )
ENDIF ( USE_SYSTEM_RTAUDIO )
ELSE ( UNIX AND NOT APPLE )
use_included_rtaudio ( )
2015-01-19 19:24:15 -05:00
ENDIF ( UNIX AND NOT APPLE )
2014-12-04 22:25:18 -05:00
IF ( APPLE )
2016-03-17 18:31:02 -04:00
SET ( CMAKE_OSX_DEPLOYMENT_TARGET, "10.9" )
2014-11-06 21:30:47 -05:00
2015-09-13 22:18:29 -04:00
SET ( LIQUID_LIB liquid )
link_directories ( /usr/local/lib )
link_directories ( /opt/local/lib )
2014-12-04 22:25:18 -05:00
ADD_DEFINITIONS (
- D _ _ M A C O S X _ C O R E _ _
)
2014-10-27 23:52:25 -04:00
2014-12-04 22:25:18 -05:00
FIND_LIBRARY ( COREAUDIO_LIBRARY CoreAudio )
2015-09-13 22:18:29 -04:00
SET ( OTHER_LIBRARIES ${ COREAUDIO_LIBRARY } ${ OTHER_LIBRARIES } )
2015-02-17 21:26:14 -05:00
set ( BUNDLE_APP OFF CACHE BOOL "Bundle Application" )
2014-12-04 22:25:18 -05:00
ENDIF ( APPLE )
2014-10-27 23:52:25 -04:00
2014-10-27 20:05:40 -04:00
SET ( cubicsdr_sources
2017-02-07 11:07:44 -05:00
$ { c u b i c s d r _ s o u r c e s }
2016-12-23 18:45:25 -05:00
s r c / C u b i c S D R . c p p
s r c / A p p F r a m e . c p p
s r c / A p p C o n f i g . c p p
s r c / F r e q u e n c y D i a l o g . c p p
2016-06-11 04:08:12 -04:00
s r c / D e m o d L a b e l D i a l o g . c p p
2015-07-29 18:34:58 -04:00
s r c / I O T h r e a d . c p p
2015-11-23 21:32:50 -05:00
s r c / M o d e m P r o p e r t i e s . c p p
2016-09-14 19:46:57 -04:00
s r c / B o o k m a r k M g r . c p p
2019-01-30 23:24:33 -05:00
s r c / S e s s i o n M g r . c p p
2016-12-23 18:45:25 -05:00
s r c / s d r / S D R D e v i c e I n f o . c p p
s r c / s d r / S D R P o s t T h r e a d . c p p
s r c / s d r / S D R E n u m e r a t o r . c p p
s r c / s d r / S o a p y S D R T h r e a d . h
s r c / d e m o d / D e m o d u l a t o r P r e T h r e a d . c p p
s r c / d e m o d / D e m o d u l a t o r T h r e a d . c p p
s r c / d e m o d / D e m o d u l a t o r W o r k e r T h r e a d . c p p
s r c / d e m o d / D e m o d u l a t o r I n s t a n c e . c p p
s r c / d e m o d / D e m o d u l a t o r M g r . c p p
2015-11-16 23:49:54 -05:00
s r c / m o d u l e s / m o d e m / M o d e m . c p p
s r c / m o d u l e s / m o d e m / M o d e m A n a l o g . c p p
2015-11-18 21:09:51 -05:00
s r c / m o d u l e s / m o d e m / M o d e m D i g i t a l . c p p
2015-11-16 23:49:54 -05:00
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m A M . c p p
2021-01-15 10:11:49 -05:00
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m C W . c p p
2015-11-16 23:49:54 -05:00
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m D S B . c p p
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m F M . c p p
2016-05-11 23:05:56 -04:00
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m N B F M . c p p
2015-11-16 23:49:54 -05:00
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m F M S t e r e o . c p p
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m I Q . c p p
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m L S B . c p p
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m U S B . c p p
2016-12-23 18:45:25 -05:00
s r c / a u d i o / A u d i o T h r e a d . c p p
2017-09-24 23:50:08 -04:00
s r c / a u d i o / A u d i o S i n k T h r e a d . c p p
2017-09-26 23:25:55 -04:00
s r c / a u d i o / A u d i o S i n k F i l e T h r e a d . c p p
s r c / a u d i o / A u d i o F i l e . c p p
s r c / a u d i o / A u d i o F i l e W A V . c p p
2016-12-23 18:45:25 -05:00
s r c / u t i l / G r a d i e n t . c p p
s r c / u t i l / T i m e r . c p p
s r c / u t i l / M o u s e T r a c k e r . c p p
s r c / u t i l / G L E x t . c p p
s r c / u t i l / G L F o n t . c p p
s r c / u t i l / D a t a T r e e . c p p
2015-08-09 12:51:01 -04:00
s r c / p a n e l / S c o p e P a n e l . c p p
2015-08-09 23:00:51 -04:00
s r c / p a n e l / S p e c t r u m P a n e l . c p p
s r c / p a n e l / W a t e r f a l l P a n e l . c p p
2016-07-03 20:59:49 -04:00
s r c / p a n e l / M e t e r P a n e l . c p p
s r c / p a n e l / M e t e r P a n e l . h
2016-12-23 18:45:25 -05:00
s r c / v i s u a l / C o l o r T h e m e . c p p
s r c / v i s u a l / P r i m a r y G L C o n t e x t . c p p
s r c / v i s u a l / I n t e r a c t i v e C a n v a s . c p p
s r c / v i s u a l / M e t e r C a n v a s . c p p
s r c / v i s u a l / M e t e r C o n t e x t . c p p
s r c / v i s u a l / T u n i n g C a n v a s . c p p
s r c / v i s u a l / T u n i n g C o n t e x t . c p p
s r c / v i s u a l / M o d e S e l e c t o r C a n v a s . c p p
s r c / v i s u a l / M o d e S e l e c t o r C o n t e x t . c p p
s r c / v i s u a l / S c o p e C a n v a s . c p p
s r c / v i s u a l / S c o p e C o n t e x t . c p p
s r c / v i s u a l / S p e c t r u m C a n v a s . c p p
s r c / v i s u a l / W a t e r f a l l C a n v a s . c p p
2015-10-27 01:56:49 -04:00
s r c / v i s u a l / G a i n C a n v a s . c p p
2016-12-23 18:45:25 -05:00
s r c / v i s u a l / I m a g e P a n e l . c p p
s r c / p r o c e s s / V i s u a l P r o c e s s o r . c p p
s r c / p r o c e s s / S c o p e V i s u a l P r o c e s s o r . c p p
s r c / p r o c e s s / S p e c t r u m V i s u a l P r o c e s s o r . c p p
s r c / p r o c e s s / F F T V i s u a l D a t a T h r e a d . c p p
s r c / p r o c e s s / F F T D a t a D i s t r i b u t o r . c p p
2015-08-16 18:12:12 -04:00
s r c / p r o c e s s / S p e c t r u m V i s u a l D a t a T h r e a d . c p p
2016-12-23 18:45:25 -05:00
s r c / u i / G L P a n e l . c p p
2015-10-03 21:35:11 -04:00
s r c / f o r m s / S D R D e v i c e s / S D R D e v i c e s . c p p
s r c / f o r m s / S D R D e v i c e s / S D R D e v i c e s F o r m . c p p
2016-01-20 00:43:31 -05:00
s r c / f o r m s / S D R D e v i c e s / S D R D e v i c e A d d . c p p
s r c / f o r m s / S D R D e v i c e s / S D R D e v i c e A d d F o r m . c p p
2016-09-13 22:59:21 -04:00
s r c / f o r m s / B o o k m a r k / B o o k m a r k P a n e l . c p p
s r c / f o r m s / B o o k m a r k / B o o k m a r k V i e w . c p p
2016-12-23 18:45:25 -05:00
s r c / f o r m s / D i a l o g / A c t i o n D i a l o g B a s e . c p p
s r c / f o r m s / D i a l o g / A c t i o n D i a l o g . c p p
2017-02-07 18:52:00 -05:00
s r c / f o r m s / D i a l o g / A b o u t D i a l o g B a s e . c p p
s r c / f o r m s / D i a l o g / A b o u t D i a l o g . c p p
2016-12-23 18:45:25 -05:00
e x t e r n a l / l o d e p n g / l o d e p n g . c p p
e x t e r n a l / t i n y x m l / t i n y x m l . c p p
e x t e r n a l / t i n y x m l / t i n y s t r . c p p
e x t e r n a l / t i n y x m l / t i n y x m l p a r s e r . c p p
e x t e r n a l / t i n y x m l / t i n y x m l e r r o r . c p p
e x t e r n a l / c u b i c v r 2 / m a t h / c u b i c _ m a t h . c p p
2014-10-27 20:05:40 -04:00
)
2015-11-22 19:56:25 -05:00
IF ( ENABLE_DIGITAL_LAB )
2015-11-23 18:41:10 -05:00
SET ( cubicsdr_sources
2015-11-22 19:56:25 -05:00
$ { c u b i c s d r _ s o u r c e s }
2015-11-28 23:03:07 -05:00
s r c / f o r m s / D i g i t a l C o n s o l e / D i g i t a l C o n s o l e . c p p
s r c / f o r m s / D i g i t a l C o n s o l e / D i g i t a l C o n s o l e F r a m e . c p p
2015-11-22 19:56:25 -05:00
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m A S K . c p p
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m A P S K . c p p
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m B P S K . c p p
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m D P S K . c p p
2015-11-30 21:58:54 -05:00
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m G M S K . c p p
2015-11-22 19:56:25 -05:00
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m P S K . c p p
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m O O K . c p p
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m S T . c p p
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m S Q A M . c p p
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m Q A M . c p p
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m Q P S K . c p p
2015-12-01 22:06:50 -05:00
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m F S K . c p p
)
2015-11-22 19:56:25 -05:00
ENDIF ( )
2014-10-27 20:05:40 -04:00
SET ( cubicsdr_headers
2017-02-07 11:07:44 -05:00
$ { c u b i c s d r _ h e a d e r s }
2016-12-23 18:45:25 -05:00
s r c / C u b i c S D R D e f s . h
s r c / C u b i c S D R . h
s r c / A p p F r a m e . h
s r c / A p p C o n f i g . h
s r c / F r e q u e n c y D i a l o g . h
2016-06-11 04:08:12 -04:00
s r c / D e m o d L a b e l D i a l o g . h
2015-07-29 18:34:58 -04:00
s r c / I O T h r e a d . h
2015-11-23 21:32:50 -05:00
s r c / M o d e m P r o p e r t i e s . h
2016-09-14 19:46:57 -04:00
s r c / B o o k m a r k M g r . h
2019-01-30 23:24:33 -05:00
s r c / S e s s i o n M g r . h
2016-12-23 18:45:25 -05:00
s r c / s d r / S D R D e v i c e I n f o . h
s r c / s d r / S D R P o s t T h r e a d . h
s r c / s d r / S D R E n u m e r a t o r . h
s r c / s d r / S o a p y S D R T h r e a d . c p p
s r c / d e m o d / D e m o d u l a t o r P r e T h r e a d . h
s r c / d e m o d / D e m o d u l a t o r T h r e a d . h
s r c / d e m o d / D e m o d u l a t o r W o r k e r T h r e a d . h
s r c / d e m o d / D e m o d u l a t o r I n s t a n c e . h
s r c / d e m o d / D e m o d u l a t o r M g r . h
s r c / d e m o d / D e m o d D e f s . h
2015-11-16 23:49:54 -05:00
s r c / m o d u l e s / m o d e m / M o d e m . h
s r c / m o d u l e s / m o d e m / M o d e m A n a l o g . h
2015-11-18 21:09:51 -05:00
s r c / m o d u l e s / m o d e m / M o d e m D i g i t a l . h
2015-11-16 23:49:54 -05:00
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m A M . h
2021-01-15 10:11:49 -05:00
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m C W . h
2015-11-16 23:49:54 -05:00
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m D S B . h
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m F M . h
2016-05-11 23:05:56 -04:00
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m N B F M . h
2015-11-16 23:49:54 -05:00
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m F M S t e r e o . h
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m I Q . h
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m L S B . h
s r c / m o d u l e s / m o d e m / a n a l o g / M o d e m U S B . h
2016-12-23 18:45:25 -05:00
s r c / a u d i o / A u d i o T h r e a d . h
2017-09-24 23:50:08 -04:00
s r c / a u d i o / A u d i o S i n k T h r e a d . h
2017-09-26 23:25:55 -04:00
s r c / a u d i o / A u d i o S i n k F i l e T h r e a d . h
s r c / a u d i o / A u d i o F i l e . h
s r c / a u d i o / A u d i o F i l e W A V . h
2016-12-23 18:45:25 -05:00
s r c / u t i l / G r a d i e n t . h
s r c / u t i l / T i m e r . h
2017-02-09 13:12:12 -05:00
s r c / u t i l / T h r e a d B l o c k i n g Q u e u e . h
2016-12-23 18:45:25 -05:00
s r c / u t i l / M o u s e T r a c k e r . h
s r c / u t i l / G L E x t . h
s r c / u t i l / G L F o n t . h
s r c / u t i l / D a t a T r e e . h
2019-03-03 03:49:27 -05:00
s r c / u t i l / S p i n M u t e x . h
2015-08-09 12:51:01 -04:00
s r c / p a n e l / S c o p e P a n e l . h
2015-08-09 23:00:51 -04:00
s r c / p a n e l / S p e c t r u m P a n e l . h
s r c / p a n e l / W a t e r f a l l P a n e l . h
2016-12-23 18:45:25 -05:00
s r c / v i s u a l / C o l o r T h e m e . h
s r c / v i s u a l / P r i m a r y G L C o n t e x t . h
s r c / v i s u a l / I n t e r a c t i v e C a n v a s . h
s r c / v i s u a l / M e t e r C a n v a s . h
s r c / v i s u a l / M e t e r C o n t e x t . h
s r c / v i s u a l / T u n i n g C a n v a s . h
s r c / v i s u a l / T u n i n g C o n t e x t . h
s r c / v i s u a l / M o d e S e l e c t o r C a n v a s . h
s r c / v i s u a l / M o d e S e l e c t o r C o n t e x t . h
s r c / v i s u a l / S c o p e C a n v a s . h
s r c / v i s u a l / S c o p e C o n t e x t . h
s r c / v i s u a l / S p e c t r u m C a n v a s . h
s r c / v i s u a l / W a t e r f a l l C a n v a s . h
2015-10-27 01:56:49 -04:00
s r c / v i s u a l / G a i n C a n v a s . h
2016-12-23 18:45:25 -05:00
s r c / v i s u a l / I m a g e P a n e l . h
s r c / p r o c e s s / V i s u a l P r o c e s s o r . h
s r c / p r o c e s s / S c o p e V i s u a l P r o c e s s o r . h
s r c / p r o c e s s / S p e c t r u m V i s u a l P r o c e s s o r . h
s r c / p r o c e s s / F F T V i s u a l D a t a T h r e a d . h
s r c / p r o c e s s / F F T D a t a D i s t r i b u t o r . h
2015-08-16 18:12:12 -04:00
s r c / p r o c e s s / S p e c t r u m V i s u a l D a t a T h r e a d . h
2016-12-23 18:45:25 -05:00
s r c / u i / G L P a n e l . h
s r c / u i / U I T e s t C a n v a s . c p p
s r c / u i / U I T e s t C a n v a s . h
s r c / u i / U I T e s t C o n t e x t . c p p
s r c / u i / U I T e s t C o n t e x t . h
2015-10-03 21:35:11 -04:00
s r c / f o r m s / S D R D e v i c e s / S D R D e v i c e s . h
s r c / f o r m s / S D R D e v i c e s / S D R D e v i c e s F o r m . h
2016-01-20 00:43:31 -05:00
s r c / f o r m s / S D R D e v i c e s / S D R D e v i c e A d d . h
s r c / f o r m s / S D R D e v i c e s / S D R D e v i c e A d d F o r m . h
2016-09-13 22:59:21 -04:00
s r c / f o r m s / B o o k m a r k / B o o k m a r k P a n e l . h
s r c / f o r m s / B o o k m a r k / B o o k m a r k V i e w . h
2016-12-23 18:45:25 -05:00
s r c / f o r m s / D i a l o g / A c t i o n D i a l o g B a s e . h
s r c / f o r m s / D i a l o g / A c t i o n D i a l o g . h
2017-02-07 18:52:00 -05:00
s r c / f o r m s / D i a l o g / A b o u t D i a l o g B a s e . h
s r c / f o r m s / D i a l o g / A b o u t D i a l o g . h
2016-12-23 18:45:25 -05:00
e x t e r n a l / l o d e p n g / l o d e p n g . h
e x t e r n a l / t i n y x m l / t i n y x m l . h
e x t e r n a l / t i n y x m l / t i n y s t r . h
e x t e r n a l / c u b i c v r 2 / m a t h / a a b b . h
e x t e r n a l / c u b i c v r 2 / m a t h / c u b i c _ m a t h . h
e x t e r n a l / c u b i c v r 2 / m a t h / c u b i c _ t y p e s . h
e x t e r n a l / c u b i c v r 2 / m a t h / f r u s t u m . h
e x t e r n a l / c u b i c v r 2 / m a t h / m a t 3 . h
e x t e r n a l / c u b i c v r 2 / m a t h / m a t 4 . h
e x t e r n a l / c u b i c v r 2 / m a t h / p l a n e . h
e x t e r n a l / c u b i c v r 2 / m a t h / q u a t e r n i o n . h
e x t e r n a l / c u b i c v r 2 / m a t h / s p h e r e . h
e x t e r n a l / c u b i c v r 2 / m a t h / t r a n s f o r m . h
e x t e r n a l / c u b i c v r 2 / m a t h / t r i a n g l e . h
e x t e r n a l / c u b i c v r 2 / m a t h / v e c 2 . h
e x t e r n a l / c u b i c v r 2 / m a t h / v e c 3 . h
e x t e r n a l / c u b i c v r 2 / m a t h / v e c 4 . h
2014-10-27 20:05:40 -04:00
)
2014-11-12 21:55:11 -05:00
2015-11-22 19:56:25 -05:00
IF ( ENABLE_DIGITAL_LAB )
2015-11-23 18:41:10 -05:00
SET ( cubicsdr_headers
2015-11-22 19:56:25 -05:00
$ { c u b i c s d r _ h e a d e r s }
2015-11-28 23:03:07 -05:00
s r c / f o r m s / D i g i t a l C o n s o l e / D i g i t a l C o n s o l e . h
s r c / f o r m s / D i g i t a l C o n s o l e / D i g i t a l C o n s o l e F r a m e . h
2015-11-22 19:56:25 -05:00
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m A S K . h
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m A P S K . h
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m B P S K . h
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m D P S K . h
2015-11-30 21:58:54 -05:00
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m G M S K . h
2015-11-22 19:56:25 -05:00
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m P S K . h
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m O O K . h
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m S T . h
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m S Q A M . h
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m Q A M . h
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m Q P S K . h
2017-01-13 16:01:06 -05:00
s r c / m o d u l e s / m o d e m / d i g i t a l / M o d e m F S K . h
2015-11-22 19:56:25 -05:00
)
ENDIF ( )
2016-01-03 15:39:29 -05:00
IF ( USE_HAMLIB )
SET ( cubicsdr_headers
$ { c u b i c s d r _ h e a d e r s }
2017-04-22 08:24:07 -04:00
s r c / f o r m s / D i a l o g / P o r t S e l e c t o r D i a l o g B a s e . h
s r c / f o r m s / D i a l o g / P o r t S e l e c t o r D i a l o g . h
2016-01-03 15:39:29 -05:00
s r c / r i g / R i g T h r e a d . h
2017-04-20 19:40:09 -04:00
e x t e r n a l / r s 2 3 2 / r s 2 3 2 . h
2016-01-03 15:39:29 -05:00
)
SET ( cubicsdr_sources
$ { c u b i c s d r _ s o u r c e s }
2017-04-22 14:25:35 -04:00
s r c / f o r m s / D i a l o g / P o r t S e l e c t o r D i a l o g B a s e . c p p
s r c / f o r m s / D i a l o g / P o r t S e l e c t o r D i a l o g . c p p
2016-01-03 15:39:29 -05:00
s r c / r i g / R i g T h r e a d . c p p
)
2017-04-20 19:40:09 -04:00
IF ( WIN32 )
SET ( cubicsdr_sources
$ { c u b i c s d r _ s o u r c e s }
e x t e r n a l / r s 2 3 2 / r s 2 3 2 - w i n . c p p
)
ELSE ( )
SET ( cubicsdr_sources
$ { c u b i c s d r _ s o u r c e s }
e x t e r n a l / r s 2 3 2 / r s 2 3 2 - l i n u x . c p p
)
ENDIF ( )
include_directories (
e x t e r n a l / r s 2 3 2 /
)
2016-01-03 15:39:29 -05:00
ENDIF ( )
2016-06-28 19:36:37 -04:00
SET ( CUBICSDR_FONTS
2015-11-13 22:21:16 -05:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 1 2 . f n t
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 1 6 . f n t
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 1 8 . f n t
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 2 4 . f n t
2016-06-19 13:56:02 -04:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 2 7 . f n t
2015-11-13 22:21:16 -05:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 3 2 . f n t
2016-06-15 16:26:22 -04:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 3 6 . f n t
2015-11-13 22:21:16 -05:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 4 8 . f n t
2016-06-15 16:26:22 -04:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 6 4 . f n t
2016-06-19 13:56:02 -04:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 7 2 . f n t
2016-06-15 16:26:22 -04:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 9 6 . f n t
2015-11-13 22:21:16 -05:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 1 2 _ 0 . p n g
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 1 6 _ 0 . p n g
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 1 8 _ 0 . p n g
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 2 4 _ 0 . p n g
2016-06-19 13:56:02 -04:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 2 7 _ 0 . p n g
2015-11-13 22:21:16 -05:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 3 2 _ 0 . p n g
2016-06-15 16:26:22 -04:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 3 6 _ 0 . p n g
2015-11-13 22:21:16 -05:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 4 8 _ 0 . p n g
2016-06-15 16:26:22 -04:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 6 4 _ 0 . p n g
2016-06-19 13:56:02 -04:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 7 2 _ 0 . p n g
2016-06-15 16:26:22 -04:00
$ { P R O J E C T _ S O U R C E _ D I R } / f o n t / v e r a _ s a n s _ m o n o 9 6 _ 0 . p n g
2015-11-13 22:21:16 -05:00
)
2015-08-08 14:15:57 -04:00
set ( REG_EXT "[^/]*([.]cpp|[.]c|[.]h|[.]hpp)$" )
2015-10-03 21:35:11 -04:00
SOURCE_GROUP ( "Base" REGULAR_EXPRESSION "src/${REG_EXT}" )
SOURCE_GROUP ( "Forms\\SDRDevices" REGULAR_EXPRESSION "src/forms/SDRDevices/${REG_EXT}" )
2016-09-13 22:59:21 -04:00
SOURCE_GROUP ( "Forms\\Bookmark" REGULAR_EXPRESSION "src/forms/Bookmark/${REG_EXT}" )
2016-12-23 18:45:25 -05:00
SOURCE_GROUP ( "Forms\\Dialog" REGULAR_EXPRESSION "src/forms/Dialog/${REG_EXT}" )
2015-10-03 21:35:11 -04:00
SOURCE_GROUP ( "SDR" REGULAR_EXPRESSION "src/sdr/${REG_EXT}" )
2016-01-03 15:39:29 -05:00
IF ( USE_HAMLIB )
SOURCE_GROUP ( "Rig" REGULAR_EXPRESSION "src/rig/${REG_EXT}" )
2017-04-20 19:40:09 -04:00
SOURCE_GROUP ( "_ext-RS-232" REGULAR_EXPRESSION "external/rs232/${REG_EXT}" )
2016-01-03 15:39:29 -05:00
ENDIF ( )
2015-10-03 21:35:11 -04:00
SOURCE_GROUP ( "Demodulator" REGULAR_EXPRESSION "src/demod/${REG_EXT}" )
2015-11-16 23:49:54 -05:00
SOURCE_GROUP ( "Modem" REGULAR_EXPRESSION "src/modules/modem/${REG_EXT}" )
2015-11-28 23:03:07 -05:00
SOURCE_GROUP ( "Modem\\Analog" REGULAR_EXPRESSION "src/modules/modem/analog/${REG_EXT}" )
2015-11-22 19:56:25 -05:00
IF ( ENABLE_DIGITAL_LAB )
2015-11-28 23:03:07 -05:00
SOURCE_GROUP ( "Modem\\Digital" REGULAR_EXPRESSION "src/modules/modem/digital/${REG_EXT}" )
SOURCE_GROUP ( "Forms\\DigitalConsole" REGULAR_EXPRESSION "src/forms/DigitalConsole/${REG_EXT}" )
2015-11-22 19:56:25 -05:00
ENDIF ( )
2015-10-03 21:35:11 -04:00
SOURCE_GROUP ( "Audio" REGULAR_EXPRESSION "src/audio/${REG_EXT}" )
SOURCE_GROUP ( "Utility" REGULAR_EXPRESSION "src/util/${REG_EXT}" )
SOURCE_GROUP ( "Visual" REGULAR_EXPRESSION "src/visual/${REG_EXT}" )
SOURCE_GROUP ( "Panel" REGULAR_EXPRESSION "src/panel/${REG_EXT}" )
SOURCE_GROUP ( "Process" REGULAR_EXPRESSION "src/process/${REG_EXT}" )
SOURCE_GROUP ( "UI" REGULAR_EXPRESSION "src/ui/${REG_EXT}" )
SOURCE_GROUP ( "_ext-LodePNG" REGULAR_EXPRESSION "external/lodepng/.*${REG_EXT}" )
SOURCE_GROUP ( "_ext-TinyXML" REGULAR_EXPRESSION "external/tinyxml/.*${REG_EXT}" )
SOURCE_GROUP ( "_ext-CubicVR2" REGULAR_EXPRESSION "external/cubicvr2/.*${REG_EXT}" )
2015-08-08 14:15:57 -04:00
2014-12-07 21:06:05 -05:00
include_directories (
2016-12-23 18:45:25 -05:00
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / f o r m s / S D R D e v i c e s
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / f o r m s / D i g i t a l C o n s o l e
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / f o r m s / B o o k m a r k
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / f o r m s / D i a l o g
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / s d r
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / d e m o d
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / m o d u l e s
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / m o d u l e s / m o d e m
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / m o d u l e s / m o d e m / d i g i t a l
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / m o d u l e s / m o d e m / a n a l o g
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / a u d i o
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / u t i l
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / p a n e l
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / v i s u a l
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / p r o c e s s
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / u i
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / r i g
$ { P R O J E C T _ S O U R C E _ D I R } / s r c
$ { P R O J E C T _ S O U R C E _ D I R } / e x t e r n a l / l o d e p n g
$ { P R O J E C T _ S O U R C E _ D I R } / e x t e r n a l / t i n y x m l
$ { P R O J E C T _ S O U R C E _ D I R } / e x t e r n a l / c u b i c v r 2 / m a t h
2014-12-07 21:06:05 -05:00
)
2015-02-09 22:01:33 -05:00
2015-03-05 21:02:38 -05:00
set ( RES_FILES "" )
2015-03-11 20:28:14 -04:00
if ( MINGW OR MSVC )
2015-11-12 20:31:55 -05:00
set ( RES_FILES ${ PROJECT_SOURCE_DIR } /cubicsdr.rc )
2015-03-05 21:02:38 -05:00
set ( CMAKE_RC_COMPILER_INIT windres )
ENABLE_LANGUAGE ( RC )
IF ( EX_PLATFORM EQUAL 64 )
2016-12-23 18:45:25 -05:00
SET ( RC_TARGET "pe-x86-64" )
2015-03-05 21:02:38 -05:00
ELSE ( EX_PLATFORM EQUAL 64 )
2016-12-23 18:45:25 -05:00
SET ( RC_TARGET "pe-i386" )
2015-03-05 21:02:38 -05:00
ENDIF ( EX_PLATFORM EQUAL 64 )
2016-12-23 18:45:25 -05:00
2015-03-05 21:02:38 -05:00
SET ( CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>" )
2015-03-11 20:28:14 -04:00
endif ( MINGW OR MSVC )
2014-10-27 20:05:40 -04:00
2015-02-17 21:26:14 -05:00
IF ( NOT BUNDLE_APP )
2016-06-20 12:23:54 -04:00
configure_files ( ${ PROJECT_SOURCE_DIR } /font ${ CMAKE_BINARY_DIR } / ${ EX_PLATFORM_NAME } /fonts "*.fnt" )
configure_files ( ${ PROJECT_SOURCE_DIR } /font ${ CMAKE_BINARY_DIR } / ${ EX_PLATFORM_NAME } /fonts "*.png" )
2015-11-12 20:31:55 -05:00
configure_files ( ${ PROJECT_SOURCE_DIR } /icon ${ CMAKE_BINARY_DIR } / ${ EX_PLATFORM_NAME } CubicSDR.ico )
2016-12-23 18:45:25 -05:00
IF ( MSVC )
configure_files ( ${ PROJECT_SOURCE_DIR } /external/liquid-dsp/msvc/ ${ EX_PLATFORM } / ${ CMAKE_BINARY_DIR } / ${ EX_PLATFORM_NAME } "*.dll" )
2021-03-21 05:56:31 -04:00
configure_files ( ${ PROJECT_SOURCE_DIR } /external/msvc/ ${ EX_PLATFORM_NAME } / ${ CMAKE_BINARY_DIR } / ${ EX_PLATFORM_NAME } "*.dll" )
IF ( USE_HAMLIB )
configure_files ( ${ PROJECT_SOURCE_DIR } /external/hamlib/ ${ EX_PLATFORM } / ${ CMAKE_BINARY_DIR } / ${ EX_PLATFORM_NAME } "*.dll" )
ENDIF ( USE_HAMLIB )
2016-12-23 18:45:25 -05:00
ENDIF ( )
2016-10-20 21:44:33 -04:00
IF ( CUBICSDR_HAS_HEADER_IMAGE )
configure_files ( ${ CUBICSDR_HEADER_IMAGE_DIR } ${ CMAKE_BINARY_DIR } / ${ EX_PLATFORM_NAME } ${ CUBICSDR_HEADER_IMAGE_FILE } )
ENDIF ( )
2015-03-05 21:02:38 -05:00
add_executable ( CubicSDR ${ cubicsdr_sources } ${ cubicsdr_headers } ${ RES_FILES } )
2017-08-03 09:38:01 -04:00
target_link_libraries ( CubicSDR ${ wxWidgets_LIBRARIES } ${ OPENGL_LIBRARIES } ${ OTHER_LIBRARIES } )
2015-02-17 21:26:14 -05:00
ENDIF ( NOT BUNDLE_APP )
2014-12-07 21:06:05 -05:00
2015-01-26 22:18:15 -05:00
IF ( MSVC )
set_target_properties ( CubicSDR PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:WINDOWS" )
2019-12-11 00:50:06 -05:00
set_target_properties ( CubicSDR PROPERTIES COMPILE_DEFINITIONS_DEBUG "_WINDOWS;WIN32_LEAN_AND_MEAN" )
2015-01-26 22:18:15 -05:00
set_target_properties ( CubicSDR PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:WINDOWS" )
2019-12-11 00:50:06 -05:00
set_target_properties ( CubicSDR PROPERTIES COMPILE_DEFINITIONS_RELWITHDEBINFO "_WINDOWS;WIN32_LEAN_AND_MEAN" )
2015-01-25 16:57:23 -05:00
set_target_properties ( CubicSDR PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS" )
2019-12-11 00:50:06 -05:00
set_target_properties ( CubicSDR PROPERTIES COMPILE_DEFINITIONS_RELEASE "_WINDOWS;WIN32_LEAN_AND_MEAN" )
2015-01-25 16:57:23 -05:00
set_target_properties ( CubicSDR PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS" )
2019-12-11 00:50:06 -05:00
set_target_properties ( CubicSDR PROPERTIES COMPILE_DEFINITIONS_MINSIZEREL "_WINDOWS;WIN32_LEAN_AND_MEAN" )
2015-01-26 22:18:15 -05:00
set ( CMAKE_CREATE_WIN32_EXE "/SUBSYSTEM:WINDOWS /ENTRY:\" mainCRTStartup\ "" )
2016-11-01 22:29:58 -04:00
set_target_properties ( CubicSDR PROPERTIES OUTPUT_NAME "${CUBICSDR_INSTALL_NAME}" )
2017-02-14 12:36:20 -05:00
ADD_DEFINITIONS (
/ w d \ " 4 9 9 6 \ "
)
2015-01-26 22:18:15 -05:00
ENDIF ( MSVC )
2014-12-07 21:06:05 -05:00
2015-08-28 19:55:25 -04:00
IF ( APPLE )
ADD_DEFINITIONS (
- D H A V E _ T Y P E _ T R A I T S = 1
2016-03-17 18:31:02 -04:00
- m m a c o s x - v e r s i o n - m i n = 1 0 . 9
2015-08-28 19:55:25 -04:00
)
ENDIF ( APPLE )
2015-02-17 21:26:14 -05:00
IF ( APPLE AND BUNDLE_APP )
PROJECT ( CubicSDR )
2016-03-12 01:11:14 -05:00
set ( CPACK_BINARY_DRAGNDROP ON )
2015-02-17 21:26:14 -05:00
SET ( MACOSX_BUNDLE_BUNDLE_NAME CubicSDR )
2016-03-12 01:11:14 -05:00
SET ( CPACK_APPLE_BUNDLE_ID "com.cubicproductions.cubicsdr" )
set ( CUBICSDR_CODE_SIGN OFF CACHE BOOL "Code Signing" )
2015-02-17 21:26:14 -05:00
2015-11-02 19:02:45 -05:00
set ( BUNDLE_SOAPY_MODS OFF CACHE BOOL "Bundle local SoapySDR modules" )
2015-11-10 19:25:41 -05:00
set ( BUNDLE_MIR_SDR OFF CACHE BOOL "Bundle mir_sdr for personal use only -- do not distribute." )
2015-11-02 19:02:45 -05:00
2015-11-08 16:45:06 -05:00
IF ( BUNDLE_SOAPY_MODS )
2016-12-23 18:45:25 -05:00
ADD_DEFINITIONS (
- D B U N D L E _ S O A P Y _ M O D S = 1
)
set ( BUNDLED_MODS_ONLY OFF CACHE BOOL "Use bundled mods only" )
IF ( BUNDLED_MODS_ONLY )
ADD_DEFINITIONS (
- D B U N D L E D _ M O D S _ O N L Y = 1
)
ENDIF ( )
2015-11-08 16:45:06 -05:00
ENDIF ( )
2015-11-02 19:02:45 -05:00
2015-02-17 21:26:14 -05:00
ADD_DEFINITIONS (
2016-12-23 18:45:25 -05:00
- s t d = c + + 0 x
- p t h r e a d
2015-02-17 21:26:14 -05:00
- D _ O S X _ A P P _
)
ADD_EXECUTABLE ( CubicSDR
M A C O S X _ B U N D L E
$ { c u b i c s d r _ s o u r c e s }
$ { c u b i c s d r _ h e a d e r s }
2016-06-28 19:36:37 -04:00
$ { C U B I C S D R _ F O N T S }
2015-02-21 23:08:08 -05:00
$ { P R O J E C T _ S O U R C E _ D I R } / i c o n / C u b i c S D R . i c n s
2015-02-17 21:26:14 -05:00
)
SET_SOURCE_FILES_PROPERTIES (
2015-02-21 23:08:08 -05:00
$ { P R O J E C T _ S O U R C E _ D I R } / i c o n / C u b i c S D R . i c n s
2015-02-17 21:26:14 -05:00
P R O P E R T I E S
M A C O S X _ P A C K A G E _ L O C A T I O N R e s o u r c e s
2015-11-08 16:45:06 -05:00
)
2015-09-13 22:18:29 -04:00
2016-06-28 19:36:37 -04:00
SET_SOURCE_FILES_PROPERTIES (
$ { C U B I C S D R _ F O N T S }
P R O P E R T I E S
M A C O S X _ P A C K A G E _ L O C A T I O N R e s o u r c e s / f o n t s
)
2016-03-20 18:56:13 -04:00
target_link_libraries ( CubicSDR ${ LIQUID_LIB } ${ wxWidgets_LIBRARIES } ${ OPENGL_LIBRARIES } ${ OTHER_LIBRARIES } )
2015-02-21 23:08:08 -05:00
SET_TARGET_PROPERTIES ( CubicSDR PROPERTIES
2016-03-12 01:11:14 -05:00
M A C O S X _ B U N D L E T R U E
M A C O S X _ B U N D L E _ I N F O _ S T R I N G " C u b i c S D R O p e n - S o u r c e S o f t w a r e - D e f i n e d R a d i o A p p l i c a t i o n "
M A C O S X _ B U N D L E _ B U N D L E _ N A M E " C u b i c S D R "
2016-03-12 05:03:00 -05:00
M A C O S X _ B U N D L E _ B U N D L E _ V E R S I O N " $ { C U B I C S D R _ V E R S I O N } "
2016-10-20 21:44:33 -04:00
M A C O S X _ B U N D L E _ L O N G _ V E R S I O N _ S T R I N G " $ { C U B I C S D R _ V E R S I O N _ M A J O R } . $ { C U B I C S D R _ V E R S I O N _ M I N O R } . $ { C U B I C S D R _ V E R S I O N _ P A T C H } $ { C U B I C S D R _ V E R S I O N _ S U F F I X } "
2016-03-12 05:03:00 -05:00
M A C O S X _ B U N D L E _ S H O R T _ V E R S I O N _ S T R I N G " $ { C U B I C S D R _ V E R S I O N _ M A J O R } . $ { C U B I C S D R _ V E R S I O N _ M I N O R } . $ { C U B I C S D R _ V E R S I O N _ P A T C H } "
2016-03-12 01:11:14 -05:00
M A C O S X _ B U N D L E _ G U I _ I D E N T I F I E R " c o m . c u b i c p r o d u c t i o n s . c u b i c s d r "
M A C O S X _ B U N D L E _ I C O N _ F I L E " C u b i c S D R . i c n s "
M A C O S X _ B U N D L E _ C O P Y R I G H T " C o p y r i g h t 2 0 1 5 C h a r l e s J . C l i f f e . A l l R i g h t s R e s e r v e d . "
2015-11-08 16:45:06 -05:00
)
2015-02-17 21:26:14 -05:00
SET ( APPS "${CMAKE_BINARY_DIR}/${EX_PLATFORM_NAME}/CubicSDR.app" )
# SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
# SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
2016-03-12 01:11:14 -05:00
2015-11-08 16:45:06 -05:00
IF ( BUNDLE_SOAPY_MODS )
message ( STATUS "SOAPY_ROOT: ${SOAPY_SDR_ROOT}" )
2017-05-12 22:19:19 -04:00
SET ( SOAPY_SDR_MOD_PATH "${SOAPY_SDR_ROOT}/lib/SoapySDR/modules${SOAPY_SDR_ABI_VERSION}" )
message ( STATUS "SOAPY_SDR_MOD_PATH: ${SOAPY_SDR_MOD_PATH}" )
2017-01-01 23:51:37 -05:00
2017-05-12 22:19:19 -04:00
file ( GLOB SOAPY_MODS ${ SOAPY_SDR_MOD_PATH } /*.so )
2015-11-08 16:45:06 -05:00
FOREACH ( SOAPY_MOD_FILE ${ SOAPY_MODS } )
INSTALL ( FILES "${SOAPY_MOD_FILE}"
D E S T I N A T I O N " $ { A P P S } / C o n t e n t s / M a c O S / m o d u l e s "
C O M P O N E N T R u n t i m e
)
ENDFOREACH ( )
2016-03-12 05:03:00 -05:00
2015-11-08 16:45:06 -05:00
ENDIF ( BUNDLE_SOAPY_MODS )
2015-02-17 21:26:14 -05:00
2016-03-12 01:11:14 -05:00
SET_TARGET_PROPERTIES ( CubicSDR PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${PROJECT_SOURCE_DIR}/cmake/CubicSDRInfo.plist.in" )
2015-02-17 21:26:14 -05:00
INSTALL ( CODE "
2015-11-08 16:45:06 -05:00
SET ( BU_COPY_FULL_FRAMEWORK_CONTENTS ON )
2015-02-17 21:26:14 -05:00
include ( BundleUtilities )
2015-09-13 22:18:29 -04:00
fixup_bundle ( \"${APPS}\" \"\" \"/usr/local/lib\")
2015-02-17 21:26:14 -05:00
" C O M P O N E N T R u n t i m e )
2015-02-21 23:08:08 -05:00
2015-11-08 16:45:06 -05:00
IF ( BUNDLE_SOAPY_MODS )
FOREACH ( SOAPY_MOD_FILE ${ SOAPY_MODS } )
GET_FILENAME_COMPONENT ( SOAPY_MOD_NAME ${ SOAPY_MOD_FILE } NAME )
2015-11-10 19:25:41 -05:00
IF ( NOT BUNDLE_MIR_SDR ) # prevent inclusion of libmirsdrapi-rsp.so
IF ( ${ SOAPY_MOD_NAME } STREQUAL "libsdrPlaySupport.so" )
2015-11-08 16:45:06 -05:00
message ( STATUS "Excluding libsdrPlaySupport.so" )
CONTINUE ( )
ELSE ( )
message ( STATUS "Bundling ${SOAPY_MOD_NAME} from ${SOAPY_MOD_FILE}" )
ENDIF ( )
2015-11-10 19:25:41 -05:00
ENDIF ( )
2015-11-08 16:45:06 -05:00
INSTALL ( CODE "
fixup_bundle ( \"${APPS}\" \"${APPS}/Contents/MacOS/modules/${SOAPY_MOD_NAME}\" \"/usr/local/lib\")
" C O M P O N E N T R u n t i m e )
ENDFOREACH ( )
ENDIF ( BUNDLE_SOAPY_MODS )
2016-03-12 01:11:14 -05:00
IF ( CUBICSDR_CODE_SIGN )
SET ( CUBICSDR_CERT "3rd Party Mac Developer Application: [Name]" CACHE STRING "Code signing certificate name." )
MESSAGE ( STATUS "Code Signing Enabled: ${CUBICSDR_CERT}" )
CONFIGURE_FILE (
" $ { P R O J E C T _ S O U R C E _ D I R } / c m a k e / c o d e _ s i g n . s h . i n "
" $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / c o d e _ s i g n . s h "
)
CONFIGURE_FILE (
" $ { P R O J E C T _ S O U R C E _ D I R } / c m a k e / d m g _ s i g n . s h . i n "
" $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / d m g _ s i g n . s h "
)
ADD_CUSTOM_COMMAND (
T A R G E T C u b i c S D R
C O M M A N D c h m o d A R G S + x $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / c o d e _ s i g n . s h $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / d m g _ s i g n . s h
)
2016-03-12 05:03:00 -05:00
INSTALL ( CODE "
execute_process (
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o \ " S i g n i n g c o d e . . \ "
C O M M A N D \ " $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / c o d e _ s i g n . s h \ "
) "
C O M P O N E N T R u n t i m e )
2016-03-12 01:11:14 -05:00
ADD_CUSTOM_COMMAND (
T A R G E T C u b i c S D R
2016-03-12 05:03:00 -05:00
P O S T _ B U I L D
2016-03-12 01:11:14 -05:00
C O M M A N D $ { C M A K E _ C P A C K _ C O M M A N D }
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " S i g n i n g p a c k a g e . . "
C O M M A N D " $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / d m g _ s i g n . s h " W O R K I N G _ D I R E C T O R Y $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R }
)
ENDIF ( CUBICSDR_CODE_SIGN )
2015-11-08 16:45:06 -05:00
INSTALL ( CODE "
VERIFY_APP ( \"${APPS}\")
" C O M P O N E N T R u n t i m e )
2015-11-02 19:02:45 -05:00
2015-02-21 23:08:08 -05:00
INSTALL ( TARGETS CubicSDR
B U N D L E D E S T I N A T I O N . C O M P O N E N T R u n t i m e
)
2015-02-17 21:26:14 -05:00
include ( CPack )
2015-11-13 22:21:16 -05:00
ENDIF ( )
2016-10-20 21:44:33 -04:00
2015-11-13 22:21:16 -05:00
IF ( APPLE AND NOT BUNDLE_APP )
IF ( NOT CMAKE_INSTALL_PREFIX )
SET ( CMAKE_INSTALL_PREFIX "/usr/" )
ENDIF ( )
2016-12-23 18:45:25 -05:00
ADD_DEFINITIONS (
- D R E S _ F O L D E R = " $ { C M A K E _ I N S T A L L _ P R E F I X } / s h a r e / c u b i c s d r / "
)
2015-11-13 22:21:16 -05:00
set ( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-z,relro" )
set ( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,relro" )
2016-12-23 18:45:25 -05:00
INSTALL ( TARGETS CubicSDR DESTINATION bin )
2015-11-13 22:21:16 -05:00
install ( FILES
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / C u b i c S D R . p n g
2016-12-23 18:45:25 -05:00
D E S T I N A T I O N s h a r e / c u b i c s d r )
2015-11-13 22:21:16 -05:00
2016-06-28 20:01:07 -04:00
install ( FILES
$ { C U B I C S D R _ F O N T S }
2016-12-23 18:45:25 -05:00
D E S T I N A T I O N s h a r e / c u b i c s d r / f o n t s )
2016-06-28 20:01:07 -04:00
2015-11-13 22:21:16 -05:00
CONFIGURE_FILE (
" $ { P R O J E C T _ S O U R C E _ D I R } / c m a k e / c m a k e _ u n i n s t a l l . c m a k e . i n "
" $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / c m a k e _ u n i n s t a l l . c m a k e "
@ O N L Y I M M E D I A T E )
ADD_CUSTOM_TARGET ( uninstall
" $ { C M A K E _ C O M M A N D } " - P " $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / c m a k e _ u n i n s t a l l . c m a k e " )
ENDIF ( )
2015-03-01 21:39:52 -05:00
2016-02-19 20:31:14 -05:00
IF ( WIN32 AND NOT BUILD_INSTALLER )
ADD_DEFINITIONS (
- D R E S _ F O L D E R = " . . / s h a r e / c u b i c s d r / "
2016-03-03 20:41:28 -05:00
)
2016-12-23 18:45:25 -05:00
2016-02-19 20:31:14 -05:00
INSTALL ( TARGETS CubicSDR DESTINATION bin )
2016-12-23 18:45:25 -05:00
INSTALL ( FILES
$ { L I Q U I D _ D L L }
D E S T I N A T I O N b i n )
2016-03-20 18:56:13 -04:00
2016-12-23 18:45:25 -05:00
IF ( USE_HAMLIB )
FOREACH ( HAMLIB_DLL ${ HAMLIB_DLLS } )
message ( STATUS "Copying Hamlib DLL: ${HAMLIB_DLL}" )
2021-03-21 05:56:31 -04:00
INSTALL ( FILES ${ HAMLIB_DLL }
2016-05-15 17:45:45 -04:00
D E S T I N A T I O N b i n
)
2016-12-23 18:45:25 -05:00
ENDFOREACH ( )
ENDIF ( )
2016-03-20 18:56:13 -04:00
2016-03-03 20:41:28 -05:00
INSTALL ( FILES
2016-12-23 18:45:25 -05:00
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / C u b i c S D R . p n g
D E S T I N A T I O N s h a r e / c u b i c s d r )
2016-06-28 20:01:07 -04:00
INSTALL ( FILES
2016-12-23 18:45:25 -05:00
$ { C U B I C S D R _ F O N T S }
D E S T I N A T I O N s h a r e / c u b i c s d r / f o n t s )
2016-10-20 21:44:33 -04:00
IF ( CUBICSDR_HAS_HEADER_IMAGE )
INSTALL ( FILES
2016-12-23 18:45:25 -05:00
$ { C U B I C S D R _ H E A D E R _ I M A G E }
D E S T I N A T I O N s h a r e / c u b i c s d r / )
2016-10-20 21:44:33 -04:00
ENDIF ( )
2016-02-19 20:31:14 -05:00
ENDIF ( )
2015-03-01 21:39:52 -05:00
IF ( WIN32 AND BUILD_INSTALLER )
2015-10-29 22:22:10 -04:00
set ( BUNDLE_SOAPY_MODS OFF CACHE BOOL "Bundle local SoapySDR modules" )
2016-12-23 18:45:25 -05:00
set ( CPACK_GENERATOR NSIS )
set ( CPACK_PACKAGE_NAME "${CUBICSDR_INSTALL_NAME}" )
set ( CPACK_NSIS_DISPLAY_NAME "${CUBICSDR_INSTALL_TITLE}" )
set ( CPACK_PACKAGE_VENDOR "cubicsdr.com" )
set ( CPACK_PACKAGE_INSTALL_DIRECTORY "${CUBICSDR_INSTALL_NAME}" )
SET ( CPACK_NSIS_INSTALLED_ICON_NAME "CubicSDR.ico" )
SET ( CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE" )
set ( CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/icon\\\\NSIS_Header.bmp" )
IF ( EX_PLATFORM EQUAL 64 )
SET ( CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64" )
SET ( CPACK_NSIS_PACKAGE_NAME "${CUBICSDR_INSTALL_NAME}" )
SET ( CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CUBICSDR_INSTALL_NAME} ${CPACK_PACKAGE_VERSION}" )
set ( CMAKE_CL_64 TRUE ) # This gets around a bug in the CPack installer name generation for MinGW 64-bit since 2.8
ELSE ( EX_PLATFORM EQUAL 64 )
SET ( CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES" )
SET ( CPACK_NSIS_PACKAGE_NAME "${CUBICSDR_INSTALL_NAME} (x86)" )
SET ( CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CUBICSDR_INSTALL_NAME} ${CPACK_PACKAGE_VERSION} (x86)" )
set ( CMAKE_CL_64 FALSE )
ENDIF ( EX_PLATFORM EQUAL 64 )
2022-06-14 23:00:37 -04:00
SET ( BUNDLE_MSVC_REDIST "" CACHE STRING "Visual C++ Redistributable" )
2016-12-23 18:45:25 -05:00
set ( CPACK_NSIS_EXECUTABLES_DIRECTORY "." )
install ( TARGETS CubicSDR RUNTIME DESTINATION . )
install ( FILES
2015-03-04 22:58:50 -05:00
$ { P R O J E C T _ S O U R C E _ D I R } / i c o n / C u b i c S D R . i c o
2016-12-23 18:45:25 -05:00
$ { L I Q U I D _ D L L }
D E S T I N A T I O N . )
2015-10-29 22:22:10 -04:00
2016-12-23 18:45:25 -05:00
install ( FILES
2016-07-10 21:05:30 -04:00
$ { C U B I C S D R _ F O N T S }
2016-12-23 18:45:25 -05:00
D E S T I N A T I O N f o n t s )
2016-10-20 21:44:33 -04:00
IF ( CUBICSDR_HAS_HEADER_IMAGE )
INSTALL ( FILES
2016-12-23 18:45:25 -05:00
$ { C U B I C S D R _ H E A D E R _ I M A G E }
D E S T I N A T I O N . )
2016-10-20 21:44:33 -04:00
ENDIF ( )
2016-12-23 18:45:25 -05:00
IF ( USE_HAMLIB )
FOREACH ( HAMLIB_DLL ${ HAMLIB_DLLS } )
message ( STATUS "Copying Hamlib DLL: ${HAMLIB_DLL}" )
2016-05-15 17:45:45 -04:00
INSTALL ( FILES
2016-12-23 18:45:25 -05:00
$ { H A M L I B _ D L L }
D E S T I N A T I O N . )
ENDFOREACH ( )
ENDIF ( )
IF ( BUNDLE_SOAPY_MODS )
ADD_DEFINITIONS (
- D B U N D L E _ S O A P Y _ M O D S = 1
)
set ( BUNDLED_MODS_ONLY OFF CACHE BOOL "Use bundled mods only" )
IF ( BUNDLED_MODS_ONLY )
ADD_DEFINITIONS (
- D B U N D L E D _ M O D S _ O N L Y = 1
)
ENDIF ( )
file ( GLOB SOAPY_BINS ${ SOAPY_SDR_ROOT } /bin/*.dll )
2017-01-02 01:37:22 -05:00
file ( GLOB SOAPY_MODS ${ SOAPY_SDR_ROOT } /lib/SoapySDR/modules ${ SOAPY_SDR_ABI_VERSION } /*.dll )
2016-12-23 18:45:25 -05:00
message ( STATUS "SOAPY_BINS: ${SOAPY_BINS}" )
message ( STATUS "SOAPY_MODS: ${SOAPY_MODS}" )
install ( FILES ${ SOAPY_BINS } DESTINATION . )
install ( FILES ${ SOAPY_MODS } DESTINATION modules )
ENDIF ( BUNDLE_SOAPY_MODS )
2021-03-21 05:56:31 -04:00
IF ( MSVC )
file ( GLOB MSVC_DEPS ${ PROJECT_SOURCE_DIR } /external/msvc/ ${ EX_PLATFORM_NAME } /*.dll )
install ( FILES ${ MSVC_DEPS } DESTINATION . )
ENDIF ( MSVC )
2016-12-23 18:45:25 -05:00
set ( CPACK_PACKAGE_EXECUTABLES CubicSDR "CubicSDR" )
IF ( MSVC )
2022-06-14 23:00:37 -04:00
IF ( BUNDLE_MSVC_REDIST )
message ( STATUS "BUNDLE_MSVC_REDIST: ${BUNDLE_MSVC_REDIST}" )
cmake_path ( GET BUNDLE_MSVC_REDIST FILENAME BUNDLE_MSVC_REDIST_FN )
message ( STATUS "BUNDLE_MSVC_REDIST_FN: ${BUNDLE_MSVC_REDIST_FN}" )
install ( PROGRAMS ${ BUNDLE_MSVC_REDIST } DESTINATION vc_redist )
set ( CPACK_NSIS_EXTRA_INSTALL_COMMANDS "ExecWait '\\\" $ INSTDIR\\\\vc_redist\\\\ ${ BUNDLE_MSVC_REDIST_FN } \\\" /passive /norestart' " )
ENDIF ( )
2016-12-23 18:45:25 -05:00
ENDIF ( MSVC )
INCLUDE ( CPack )
2015-03-08 20:17:19 -04:00
ENDIF ( WIN32 AND BUILD_INSTALLER )
2015-11-13 22:21:16 -05:00
IF ( UNIX AND NOT APPLE AND BUILD_DEB )
2015-10-29 22:22:10 -04:00
set ( CPACK_GENERATOR DEB )
2016-12-23 18:45:25 -05:00
set ( CPACK_PACKAGE_NAME "CubicSDR" )
SET ( CPACK_DEBIAN_PACKAGE_DEPENDS " libwxgtk3.0-0, libpulse0" )
SET ( CPACK_DEBIAN_PACKAGE_MAINTAINER "Charles J. Cliffe <cj@cubicproductions.com>" )
SET ( CPACK_DEBIAN_PACKAGE_DESCRIPTION "CubicSDR Software Defined Radio application v${CUBICSDR_VERSION}" )
SET ( CPACK_DEBIAN_PACKAGE_SECTION "comm" )
2015-03-08 20:17:19 -04:00
SET ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE" )
2016-12-23 18:45:25 -05:00
SET ( CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${EX_PLATFORM_NAME}" )
2015-11-13 22:21:16 -05:00
IF ( NOT CMAKE_INSTALL_PREFIX )
SET ( CMAKE_INSTALL_PREFIX "/usr/" )
ENDIF ( )
2016-12-23 18:45:25 -05:00
ADD_DEFINITIONS (
- D R E S _ F O L D E R = " $ { C M A K E _ I N S T A L L _ P R E F I X } / s h a r e / c u b i c s d r / "
- D _ F O R T I F Y _ S O U R C E = 2
)
2015-11-13 22:21:16 -05:00
set ( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-z,relro" )
set ( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,relro" )
2015-03-08 20:17:19 -04:00
2016-12-23 18:45:25 -05:00
CONFIGURE_FILE ( "${CMAKE_CURRENT_SOURCE_DIR}/external/deb/deb_post.sh.in"
" $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / d e b _ p o s t . s h " @ O N L Y I M M E D I A T E )
2015-11-13 23:06:54 -05:00
2016-12-23 18:45:25 -05:00
CONFIGURE_FILE ( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/CubicSDR.desktop.in"
" $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / C u b i c S D R . d e s k t o p " @ O N L Y I M M E D I A T E )
2015-03-08 20:17:19 -04:00
2016-12-23 18:45:25 -05:00
INSTALL ( TARGETS CubicSDR DESTINATION bin )
2015-03-08 20:17:19 -04:00
install ( FILES
2015-07-26 19:47:43 -04:00
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / C u b i c S D R . p n g
2016-12-23 18:45:25 -05:00
D E S T I N A T I O N s h a r e / c u b i c s d r )
2016-06-28 20:01:07 -04:00
install ( FILES
$ { C U B I C S D R _ F O N T S }
2016-12-23 18:45:25 -05:00
D E S T I N A T I O N s h a r e / c u b i c s d r / f o n t s )
2015-11-13 22:21:16 -05:00
2015-11-13 23:06:54 -05:00
INSTALL ( FILES "${CMAKE_CURRENT_BINARY_DIR}/CubicSDR.desktop"
2015-11-13 22:21:16 -05:00
D E S T I N A T I O N s h a r e / a p p l i c a t i o n s )
2016-12-23 18:45:25 -05:00
INCLUDE ( CPack )
2015-11-13 22:21:16 -05:00
ENDIF ( )
IF ( UNIX AND NOT APPLE AND NOT BUILD_DEB )
IF ( NOT CMAKE_INSTALL_PREFIX )
SET ( CMAKE_INSTALL_PREFIX "/usr/" )
ENDIF ( )
2016-12-23 18:45:25 -05:00
ADD_DEFINITIONS (
- D R E S _ F O L D E R = " $ { C M A K E _ I N S T A L L _ P R E F I X } / s h a r e / c u b i c s d r / "
)
2015-11-13 22:21:16 -05:00
set ( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-z,relro" )
set ( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,relro" )
2015-11-13 23:06:54 -05:00
2016-12-23 18:45:25 -05:00
CONFIGURE_FILE ( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/CubicSDR.desktop.in"
" $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / C u b i c S D R . d e s k t o p " @ O N L Y I M M E D I A T E )
2015-11-13 22:21:16 -05:00
2016-12-23 18:45:25 -05:00
INSTALL ( TARGETS CubicSDR DESTINATION bin )
2016-06-28 20:01:07 -04:00
INSTALL ( FILES
2015-11-13 22:21:16 -05:00
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / C u b i c S D R . p n g
2016-12-23 18:45:25 -05:00
D E S T I N A T I O N s h a r e / c u b i c s d r )
2016-06-28 20:01:07 -04:00
INSTALL ( FILES
$ { C U B I C S D R _ F O N T S }
2016-12-23 18:45:25 -05:00
D E S T I N A T I O N s h a r e / c u b i c s d r / f o n t s )
2016-06-28 20:01:07 -04:00
2016-10-20 21:44:33 -04:00
IF ( CUBICSDR_HAS_HEADER_IMAGE )
INSTALL ( FILES
2016-12-23 18:45:25 -05:00
$ { C U B I C S D R _ H E A D E R _ I M A G E }
D E S T I N A T I O N s h a r e / c u b i c s d r )
2016-10-20 21:44:33 -04:00
ENDIF ( )
2016-06-28 20:01:07 -04:00
INSTALL ( FILES "${CMAKE_CURRENT_BINARY_DIR}/CubicSDR.desktop"
2016-12-23 18:45:25 -05:00
D E S T I N A T I O N s h a r e / a p p l i c a t i o n s )
2015-11-13 22:21:16 -05:00
2016-06-28 20:01:07 -04:00
CONFIGURE_FILE ( "${CMAKE_CURRENT_SOURCE_DIR}/external/deb/deb_post.sh.in"
2016-12-23 18:45:25 -05:00
" $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / d e b _ p o s t . s h " @ O N L Y I M M E D I A T E )
2015-11-13 22:21:16 -05:00
CONFIGURE_FILE (
" $ { P R O J E C T _ S O U R C E _ D I R } / c m a k e / c m a k e _ u n i n s t a l l . c m a k e . i n "
" $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / c m a k e _ u n i n s t a l l . c m a k e "
@ O N L Y I M M E D I A T E )
ADD_CUSTOM_TARGET ( uninstall
" $ { C M A K E _ C O M M A N D } " - P " $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / c m a k e _ u n i n s t a l l . c m a k e " )
2016-03-16 21:30:19 -04:00
2015-11-13 22:21:16 -05:00
ENDIF ( )