mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 04:50:34 -04:00 
			
		
		
		
	Change title of config window to "Settings" (the name used on the
File menu). git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4219 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
		
							parent
							
								
									d45787f59a
								
							
						
					
					
						commit
						d449dc123f
					
				
							
								
								
									
										916
									
								
								CMakeLists.txt.console
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										916
									
								
								CMakeLists.txt.console
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,916 @@ | ||||
| cmake_minimum_required (VERSION 2.8.9 FATAL_ERROR) | ||||
| 
 | ||||
| project (wsjtx C CXX Fortran) | ||||
| 
 | ||||
| # | ||||
| # project information | ||||
| # | ||||
| set (PROJECT_VENDOR "Joe Taylor, K1JT") | ||||
| set (PROJECT_CONTACT "Joe Taylor <k1jt@arrl.net>") | ||||
| set (PROJECT_COPYRIGHT "Copyright (C) 2001-2014 by Joe Taylor, K1JT") | ||||
| set (PROJECT_HOMEPAGE "http://www.physics.princeton.edu/pulsar/K1JT/wsjtx.html") | ||||
| set (PROJECT_MANUAL "http://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc/wsjtx-main-toc2.html") | ||||
| set (PROJECT_SUMMARY_DESCRIPTION "WSJT-X - JT9 and JT65 Modes for LF, MF and HF Amateur Radio.") | ||||
| set (PROJECT_DESCRIPTION "${PROJECT_SUMMARY_DESCRIPTION} | ||||
|  WSJT-X implements JT9, a new mode designed especially for the LF, MF, | ||||
|  and  HF bands,  as well  as the  popular mode  JT65.  Both  modes were | ||||
|  designed for making reliable, confirmed QSOs under extreme weak-signal | ||||
|  conditions.  They  use nearly  identical message structure  and source | ||||
|  encoding.   JT65 was designed  for EME  (“moonbounce”) on  the VHF/UHF | ||||
|  bands  and   has  also  proved   very  effective  for   worldwide  QRP | ||||
|  communication at  HF; in contrast, JT9  is optimized for  HF and lower | ||||
|  frequencies.  JT9 is about 2  dB more sensitive than JT65A while using | ||||
|  less than  10% of  the bandwidth.  World-wide  QSOs are  possible with | ||||
|  power levels of a few watts and compromise antennas.  A 2 kHz slice of | ||||
|  spectrum is  essentially full when  occupied by ten JT65  signals.  As | ||||
|  many as 100 JT9 signals can fit into the same space, without overlap. | ||||
|  . | ||||
|  WSJT-X offers a “bi-lingual“ operating  mode in which you can transmit | ||||
|  and   receive  JT65   and   JT9  signals,   switching  between   modes | ||||
|  automatically as  needed.  Displayed  bandwidth can be  as large  as 5 | ||||
|  kHz.  If  your receiver  has as upper-sideband  filter at least  4 kHz | ||||
|  wide, you can have all the  typical JT65 and JT9 activity on screen at | ||||
|  once, available for making QSOs with  a click of the mouse.  Even with | ||||
|  standard SSB-width IF filters, switching between JT65 and JT9 modes is | ||||
|  quick  and convenient.   Be  sure  to read  the  online WSJT-X  User's | ||||
|  Guide.") | ||||
| 
 | ||||
| set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMake/Modules) | ||||
| 
 | ||||
| include (${PROJECT_SOURCE_DIR}/CMake/VersionCompute.cmake) | ||||
| 
 | ||||
| 
 | ||||
| # make sure that the default configuration is a RELEASE | ||||
| if (NOT CMAKE_BUILD_TYPE) | ||||
|   set (CMAKE_BUILD_TYPE RELEASE CACHE STRING | ||||
|     "Choose the type of build, options are: None Debug Release." | ||||
|     FORCE) | ||||
| endif (NOT CMAKE_BUILD_TYPE) | ||||
| if (CMAKE_BUILD_TYPE MATCHES "[Dd][Ee][Bb][Uu][Gg]") | ||||
|   set (is_debug_build 1) | ||||
| endif () | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # Options & features | ||||
| # | ||||
| #	Some of these directly effect compilation by being defined in | ||||
| #	wsjtx_config.h.in which makes them available to the C/C++ | ||||
| #	pre-processor. | ||||
| # | ||||
| include (CMakeDependentOption) | ||||
| 
 | ||||
| option (UPDATE_TRANSLATIONS "Update source translation translations/*.ts | ||||
| files (WARNING: make clean will delete the source .ts files! Danger!)") | ||||
| option (WSJT_SHARED_RUNTIME "Debugging option that allows running from a shared Cloud directory.") | ||||
| option (WSJT_QDEBUG_TO_FILE "Redirect Qt debuging messages to a trace file.") | ||||
| option (WSJT_QDEBUG_IN_RELEASE "Leave Qt debugging statements in Release configuration.") | ||||
| option (WSJT_TRACE_CAT "Debugging option that turns on CAT diagnostics.") | ||||
| option (WSJT_TRACE_CAT_POLLS "Debugging option that turns on CAT diagnostics during polling.") | ||||
| option (WSJT_HAMLIB_TRACE "Debugging option that turns on full Hamlib internal diagnostics.") | ||||
| option (WSJT_STANDARD_FILE_LOCATIONS "All non-installation files located in \"Standard\" platfom specific locations." ON) | ||||
| option (WSJT_SOFT_KEYING "Apply a ramp to CW keying envelope to reduce transients." ON) | ||||
| option (WSJT_SKIP_MANPAGES "Skip *nix manpage generation") | ||||
| 
 | ||||
| CMAKE_DEPENDENT_OPTION (WSJT_ENABLE_EXPERIMENTAL_FEATURES "Enable features not fully ready for public releases." ON | ||||
|   "is_debug_build" OFF) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # install locations | ||||
| # | ||||
| set (WSJT_BIN_DESTINATION bin) | ||||
| set (WSJT_LIB_DESTINATION lib) | ||||
| set (WSJT_SHARE_DESTINATION share/wsjtx) | ||||
| set (WSJT_DOC_DESTINATION share/doc/wsjtx) | ||||
| set (WSJT_MANPAGE_DESTINATION share) | ||||
| set (WSJT_PLUGIN_DESTINATION lib/plugins) | ||||
| set (WSJT_QT_CONF_DESTINATION bin) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # Project sources | ||||
| # | ||||
| set (wsjt_qt_CXXSRCS | ||||
|   NetworkServerLookup.cpp | ||||
|   revision_utils.cpp | ||||
|   WFPalette.cpp | ||||
|   Radio.cpp | ||||
|   Bands.cpp | ||||
|   FrequencyList.cpp | ||||
|   StationList.cpp | ||||
|   FrequencyLineEdit.cpp | ||||
|   FrequencyItemDelegate.cpp | ||||
|   ForeignKeyDelegate.cpp | ||||
|   LiveFrequencyValidator.cpp | ||||
|   GetUserId.cpp | ||||
|   TraceFile.cpp | ||||
|   AudioDevice.cpp | ||||
|   Transceiver.cpp | ||||
|   TransceiverBase.cpp | ||||
|   EmulateSplitTransceiver.cpp | ||||
|   TransceiverFactory.cpp | ||||
|   PollingTransceiver.cpp | ||||
|   HamlibTransceiver.cpp | ||||
|   HRDTransceiver.cpp | ||||
|   DXLabSuiteCommanderTransceiver.cpp | ||||
|   ) | ||||
| 
 | ||||
| set (ConfigTest_CXXSRCS | ||||
|   Configuration.cpp | ||||
|   TestConfiguration.cpp | ||||
|   ConfigTest.cpp | ||||
|   ) | ||||
| 
 | ||||
| set (jt9_CXXSRCS | ||||
|   lib/ipcomm.cpp | ||||
|   ) | ||||
| 
 | ||||
| set (wsjtx_CXXSRCS | ||||
|   logbook/adif.cpp | ||||
|   logbook/countrydat.cpp | ||||
|   logbook/countriesworked.cpp | ||||
|   logbook/logbook.cpp | ||||
|   psk_reporter.cpp | ||||
|   Modulator.cpp | ||||
|   Detector.cpp | ||||
|   logqso.cpp | ||||
|   displaytext.cpp | ||||
|   decodedtext.cpp | ||||
|   getfile.cpp | ||||
|   soundout.cpp | ||||
|   soundin.cpp | ||||
|   meterwidget.cpp | ||||
|   signalmeter.cpp | ||||
|   plotter.cpp | ||||
|   widegraph.cpp | ||||
|   about.cpp | ||||
|   astro.cpp | ||||
|   mainwindow.cpp | ||||
|   Configuration.cpp | ||||
|   main.cpp | ||||
|   ) | ||||
| 
 | ||||
| if (WIN32) | ||||
|   set (ConfigTest_CXXSRCS | ||||
|     ${ConfigTest_CXXSRCS} | ||||
|     OmniRigTransceiver.cpp | ||||
|     ) | ||||
| 
 | ||||
|   set (wsjt_CXXSRCS | ||||
|     ${wsjt_CXXSRCS} | ||||
|     killbyname.cpp | ||||
|     ) | ||||
| 
 | ||||
|   set (wsjt_qt_CXXSRCS | ||||
|     ${wsjt_qt_CXXSRCS} | ||||
|     OmniRigTransceiver.cpp | ||||
|     ) | ||||
| endif (WIN32) | ||||
| 
 | ||||
| set (wsjt_FSRCS | ||||
|   lib/afc65b.f90 | ||||
|   lib/afc9.f90 | ||||
|   lib/analytic.f90 | ||||
|   lib/astro.f90 | ||||
|   lib/astrosub.f90 | ||||
|   lib/astro0.f90 | ||||
|   lib/azdist.f90 | ||||
|   lib/baddata.f90 | ||||
|   lib/ccf2.f90 | ||||
|   lib/ccf65.f90 | ||||
|   lib/chkhist.f90 | ||||
|   lib/chkss2.f90 | ||||
|   lib/coord.f90 | ||||
|   lib/db.f90 | ||||
|   lib/dcoord.f90 | ||||
|   lib/decode65a.f90 | ||||
|   lib/decode65b.f90 | ||||
|   lib/decode9.f90 | ||||
|   lib/decoder.f90 | ||||
|   lib/deg2grid.f90 | ||||
|   lib/demod64a.f90 | ||||
|   lib/determ.f90 | ||||
|   lib/dot.f90 | ||||
|   lib/downsam9.f90 | ||||
|   lib/encode232.f90 | ||||
|   lib/entail.f90 | ||||
|   lib/extract.F90 | ||||
|   lib/geocentric.f90 | ||||
|   lib/f77_wisdom.f90 | ||||
|   lib/fano232.f90 | ||||
|   lib/fchisq.f90 | ||||
|   lib/fchisq65.f90 | ||||
|   lib/fil3.f90 | ||||
|   lib/fil4.f90 | ||||
|   lib/fil6521.f90 | ||||
|   lib/filbig.f90 | ||||
|   lib/fillcom.f90 | ||||
|   lib/flat1.f90 | ||||
|   lib/flat2.f90 | ||||
|   lib/flat3.f90 | ||||
|   lib/flat65.f90 | ||||
|   lib/four2a.f90 | ||||
|   lib/gen65.f90 | ||||
|   lib/genjt9.f90 | ||||
|   lib/geodist.f90 | ||||
|   lib/getlags.f90 | ||||
|   lib/getpfx1.f90 | ||||
|   lib/getpfx2.f90 | ||||
|   lib/graycode.f90 | ||||
|   lib/graycode65.f90 | ||||
|   lib/grid2deg.f90 | ||||
|   lib/grid2k.f90 | ||||
|   lib/grid2n.f90 | ||||
|   lib/indexx.f90 | ||||
|   lib/interleave63.f90 | ||||
|   lib/interleave9.f90 | ||||
|   lib/jt65a.f90 | ||||
|   lib/k2grid.f90 | ||||
|   lib/moon2.f90 | ||||
|   lib/moondop.f90 | ||||
|   lib/morse.f90 | ||||
|   lib/move.f90 | ||||
|   lib/n2grid.f90 | ||||
|   lib/nchar.f90 | ||||
|   lib/options.f90 | ||||
|   lib/packbits.f90 | ||||
|   lib/packcall.f90 | ||||
|   lib/packgrid.f90 | ||||
|   lib/packmsg.f90 | ||||
|   lib/packtext.f90 | ||||
|   lib/pctile.f90 | ||||
|   lib/peakdt9.f90 | ||||
|   lib/pfxdump.f90 | ||||
|   lib/polfit.f90 | ||||
|   lib/prog_args.f90 | ||||
|   lib/sec_midn.f90 | ||||
|   lib/setup65.f90 | ||||
|   lib/sleep_msec.f90 | ||||
|   lib/smo.f90 | ||||
|   lib/smo121.f90 | ||||
|   lib/softsym.f90 | ||||
|   lib/sort.f90 | ||||
|   lib/ssort.f90 | ||||
|   lib/stdmsg.f90 | ||||
|   lib/sun.f90 | ||||
|   lib/symspec.f90 | ||||
|   lib/symspec2.f90 | ||||
|   lib/symspec65.f90 | ||||
|   lib/sync9.f90 | ||||
|   lib/timer.f90 | ||||
|   lib/tm2.f90 | ||||
|   lib/toxyz.f90 | ||||
|   lib/twkfreq.f90 | ||||
|   lib/twkfreq65.f90 | ||||
|   lib/unpackbits.f90 | ||||
|   lib/unpackcall.f90 | ||||
|   lib/unpackgrid.f90 | ||||
|   lib/unpackmsg.f90 | ||||
|   lib/unpacktext.f90 | ||||
|   lib/zplot9.f90 | ||||
|   ) | ||||
| 
 | ||||
| set (wsjt_CSRCS | ||||
|   lib/decode_rs.c | ||||
|   lib/encode_rs.c | ||||
|   lib/gran.c | ||||
|   lib/igray.c | ||||
|   lib/init_rs.c | ||||
|   lib/tmoonsub.c | ||||
|   lib/usleep.c | ||||
|   lib/wrapkarn.c | ||||
|   ) | ||||
| 
 | ||||
| set (ConfigTest_UISRCS | ||||
|   TestConfiguration.ui | ||||
|   Configuration.ui | ||||
|   ) | ||||
| 
 | ||||
| set (wsjt_qt_UISRCS | ||||
|   wf_palette_design_dialog.ui | ||||
|   ) | ||||
| 
 | ||||
| set (wsjtx_UISRCS | ||||
|   mainwindow.ui | ||||
|   about.ui | ||||
|   astro.ui | ||||
|   widegraph.ui | ||||
|   logqso.ui | ||||
|   Configuration.ui | ||||
|   ) | ||||
| 
 | ||||
| set (all_C_and_CXXSRCS | ||||
|   ${wsjt_CSRCS} | ||||
|   ${wsjt_CXXSRCS} | ||||
|   ${wsjt_qt_CXXSRCS} | ||||
|   ${jt9_CXXSRCS} | ||||
|   ${ConfigTest_CXXSRCS} | ||||
|   ${wsjtx_CXXSRCS} | ||||
|   ) | ||||
| 
 | ||||
| if (APPLE) | ||||
|   set (WSJTX_ICON_FILE ${CMAKE_PROJECT_NAME}.icns) | ||||
|   set (ICONSRCS | ||||
|     icons/Darwin/${CMAKE_PROJECT_NAME}.iconset/icon_16x16.png | ||||
|     icons/Darwin/${CMAKE_PROJECT_NAME}.iconset/icon_16x16@2x.png | ||||
|     icons/Darwin/${CMAKE_PROJECT_NAME}.iconset/icon_32x32.png | ||||
|     icons/Darwin/${CMAKE_PROJECT_NAME}.iconset/icon_32x32@2x.png | ||||
|     icons/Darwin/${CMAKE_PROJECT_NAME}.iconset/icon_128x128.png | ||||
|     icons/Darwin/${CMAKE_PROJECT_NAME}.iconset/icon_128x128@2x.png | ||||
|     icons/Darwin/${CMAKE_PROJECT_NAME}.iconset/icon_256x256.png | ||||
|     icons/Darwin/${CMAKE_PROJECT_NAME}.iconset/icon_256x256@2x.png | ||||
|     icons/Darwin/${CMAKE_PROJECT_NAME}.iconset/icon_512x512.png | ||||
|     icons/Darwin/${CMAKE_PROJECT_NAME}.iconset/icon_512x512@2x.png | ||||
|     ) | ||||
|   add_custom_command ( | ||||
|     OUTPUT ${WSJTX_ICON_FILE} | ||||
|     COMMAND iconutil -c icns --output "${CMAKE_BINARY_DIR}/${WSJTX_ICON_FILE}" "${CMAKE_SOURCE_DIR}/icons/Darwin/${CMAKE_PROJECT_NAME}.iconset" | ||||
|     DEPENDS ${ICONSRCS} | ||||
|     COMMENT "Building Icons" | ||||
|     ) | ||||
| endif (APPLE) | ||||
| 
 | ||||
| set_source_files_properties (${WSJTX_ICON_FILE} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) | ||||
| 
 | ||||
| if (NOT WSJT_QDEBUG_IN_RELEASE) | ||||
|   set_directory_properties (PROPERTIES COMPILE_DEFINITIONS_RELEASE "QT_NO_DEBUG_OUTPUT;QT_NO_WARNING_OUTPUT") | ||||
|   set_directory_properties (PROPERTIES COMPILE_DEFINITIONS_MINSIZEREL "QT_NO_DEBUG_OUTPUT;QT_NO_WARNING_OUTPUT") | ||||
| endif (NOT WSJT_QDEBUG_IN_RELEASE) | ||||
| 
 | ||||
| set_property (SOURCE ${all_C_and_CXXSRCS} APPEND PROPERTY COMPILE_FLAGS "-include wsjtx_config.h") | ||||
| set_property (SOURCE ${all_C_and_CXXSRCS} APPEND PROPERTY OBJECT_DEPENDS wsjtx_config.h) | ||||
| 
 | ||||
| if (WIN32) | ||||
|   # generate the OmniRig COM interface source | ||||
|   find_program (DUMPCPP dumpcpp) | ||||
|   if (DUMPCPP-NOTFOUND) | ||||
|     message (FATAL_ERROR "dumpcpp tool not found") | ||||
|   endif (DUMPCPP-NOTFOUND) | ||||
|   execute_process ( | ||||
|     COMMAND ${DUMPCPP} -getfile {4FE359C5-A58F-459D-BE95-CA559FB4F270} | ||||
|     OUTPUT_VARIABLE AXSERVER | ||||
|     OUTPUT_STRIP_TRAILING_WHITESPACE | ||||
|     ) | ||||
|   string (STRIP "${AXSERVER}" AXSERVER) | ||||
|   if (NOT AXSERVER) | ||||
|     message (FATAL_ERROR "You need to install OmniRig on this computer") | ||||
|   endif (NOT AXSERVER) | ||||
|   string (REPLACE "\"" "" AXSERVER ${AXSERVER}) | ||||
|   file (TO_CMAKE_PATH ${AXSERVER} AXSERVERSRCS) | ||||
| endif (WIN32) | ||||
| 
 | ||||
| if (POLICY CMP0020) | ||||
|   cmake_policy (SET CMP0020 NEW) # link to Qt winmain on Windows | ||||
| endif (POLICY CMP0020) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # decide on platform specifc packing and fixing up | ||||
| # | ||||
| if (APPLE) | ||||
|   set (WSJTX_BUNDLE_VERSION ${wsjtx_VERSION}) | ||||
| 
 | ||||
|   # make sure CMAKE_INSTALL_PREFIX ends in / | ||||
|   string (LENGTH "${CMAKE_INSTALL_PREFIX}" LEN) | ||||
|   math (EXPR LEN "${LEN} -1" ) | ||||
|   string (SUBSTRING "${CMAKE_INSTALL_PREFIX}" ${LEN} 1 ENDCH) | ||||
|   if (NOT "${ENDCH}" STREQUAL "/") | ||||
|     set (CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/") | ||||
|   endif () | ||||
|   # install inside bundle | ||||
|   # set (CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}wsjtx.app") | ||||
| 
 | ||||
|   set (WSJT_PLUGIN_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/PlugIns) | ||||
|   set (WSJT_QT_CONF_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/Resources) | ||||
|   set (WSJT_SHARE_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/Resources) | ||||
|   set (WSJT_DOC_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/Resources) | ||||
|   set (WSJT_MANPAGE_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/Resources) | ||||
|   set (WSJT_BIN_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/MacOS) | ||||
| endif (APPLE) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # C & C++ setup | ||||
| # | ||||
| set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra") | ||||
| set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -std=c++11 -fexceptions -frtti") | ||||
| if (WIN32) | ||||
|   set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-keep-inline-dllexport") | ||||
| endif (WIN32) | ||||
| if (APPLE) | ||||
|   set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") | ||||
| else (APPLE) | ||||
|   set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread") | ||||
|   set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread") | ||||
| endif (APPLE) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # Fortran setup | ||||
| # | ||||
| set (General_FFLAGS "-fbounds-check -Wall -Wno-conversion -fno-second-underscore") | ||||
| 
 | ||||
| # FFLAGS depend on the compiler | ||||
| get_filename_component (Fortran_COMPILER_NAME ${CMAKE_Fortran_COMPILER} NAME) | ||||
| 
 | ||||
| if (Fortran_COMPILER_NAME MATCHES "gfortran.*") | ||||
|   # gfortran | ||||
|   set (CMAKE_Fortran_FLAGS_RELEASE "-funroll-all-loops -fno-f2c -O3 ${General_FFLAGS}") | ||||
|   set (CMAKE_Fortran_FLAGS_DEBUG   "-fno-f2c -O0 -g ${General_FFLAGS}") | ||||
| elseif (Fortran_COMPILER_NAME MATCHES "ifort.*") | ||||
|   # ifort (untested) | ||||
|   set (CMAKE_Fortran_FLAGS_RELEASE "-f77rtl -O3 ${General_FFLAGS}") | ||||
|   set (CMAKE_Fortran_FLAGS_DEBUG   "-f77rtl -O0 -g ${General_FFLAGS}") | ||||
| elseif (Fortran_COMPILER_NAME MATCHES "g77") | ||||
|   # g77 | ||||
|   set (CMAKE_Fortran_FLAGS_RELEASE "-funroll-all-loops -fno-f2c -O3 -m32 ${General_FFLAGS}") | ||||
|   set (CMAKE_Fortran_FLAGS_DEBUG   "-fno-f2c -O0 -g -m32 ${General_FFLAGS}") | ||||
| else (Fortran_COMPILER_NAME MATCHES "gfortran.*") | ||||
|   message ("CMAKE_Fortran_COMPILER full path: " ${CMAKE_Fortran_COMPILER}) | ||||
|   message ("Fortran compiler: " ${Fortran_COMPILER_NAME}) | ||||
|   message ("No optimized Fortran compiler flags are known, we just try -O2...") | ||||
|   set (CMAKE_Fortran_FLAGS_RELEASE "-O2 ${General_FFLAGS}") | ||||
|   set (CMAKE_Fortran_FLAGS_DEBUG   "-O0 -g ${General_FFLAGS}") | ||||
| endif (Fortran_COMPILER_NAME MATCHES "gfortran.*") | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # setup and test Fortran C/C++ interaction | ||||
| # | ||||
| 
 | ||||
| include (FortranCInterface) | ||||
| FortranCInterface_VERIFY (CXX QUIET) | ||||
| FortranCInterface_HEADER (FC.h MACRO_NAMESPACE "FC_" SYMBOL_NAMESPACE "FC_" | ||||
|   SYMBOLS ) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # sort out pre-requisites | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Setup RPATH so that built executable targets will run in both the | ||||
| # build tree and the install location without having to set a | ||||
| # (DYLD|LD)_LIBRARY_PATH override. | ||||
| # | ||||
| 
 | ||||
| # use the full RPATH of the build tree | ||||
| set (CMAKE_SKIP_BUILD_RPATH FALSE) | ||||
| 
 | ||||
| # when building, don't use the install RPATH, it will still be used | ||||
| # later on in the install phase | ||||
| set (CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) | ||||
| 
 | ||||
| # set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${WSJT_LIB_DESTINATION}") | ||||
| 
 | ||||
| # add the automaticaly determined parts of the RPATH which point to | ||||
| # directories outside of the build tree to the install RPATH | ||||
| set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) | ||||
| 
 | ||||
| # the RPATH to be used when installing, but only if it's not a system | ||||
| # directory | ||||
| # list (FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/${WSJT_LIB_DESTINATION}" isSystemDir) | ||||
| # if ("${isSystemDir}" STREQUAL "-1") | ||||
| #   set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${WSJT_LIB_DESTINATION}") | ||||
| # endif ("${isSystemDir}" STREQUAL "-1") | ||||
| 
 | ||||
| set (QT_NEED_RPATH FALSE) | ||||
| if (NOT "${QT_LIBRARY_DIR}" STREQUAL "/lib" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/usr/lib" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/lib64" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/usr/lib64") | ||||
|   set (QT_NEED_RPATH TRUE) | ||||
| endif () | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # fftw3 single precsion library | ||||
| # | ||||
| find_package (FFTW3 COMPONENTS single REQUIRED) | ||||
| include_directories (${FFTW3_INCLUDE_DIRS}) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # libhamlib setup | ||||
| # | ||||
| find_package (hamlib 3 REQUIRED) | ||||
| include_directories (${hamlib_INCLUDE_DIRS}) | ||||
| if (hamlib_STATIC_LIBRARY) | ||||
|   # static link hamlib if archive library available | ||||
|   set (hamlib_LIBRARY "${hamlib_STATIC_LIBRARY}") | ||||
|   set (hamlib_LIBRARIES "${hamlib_STATIC_LIBRARIES}") | ||||
| endif () | ||||
| 
 | ||||
| message (STATUS "hamlib_INCLUDE_DIRS: ${hamlib_INCLUDE_DIRS}") | ||||
| message (STATUS "hamlib_LIBRARY: ${hamlib_LIBRARY}") | ||||
| message (STATUS "hamlib_LIBRARIES: ${hamlib_LIBRARIES}") | ||||
| message (STATUS "hamlib_STATIC_LIBRARY: ${hamlib_STATIC_LIBRARY}") | ||||
| message (STATUS "hamlib_STATIC_LIBRARIES: ${hamlib_STATIC_LIBRARIES}") | ||||
| 
 | ||||
| # if (WIN32) | ||||
| #   find_library (hamlib_RUNTIME NAMES hamlib hamlib-2 PATH_SUFFIXES bin) | ||||
| #   get_filename_component (_hamlib_runtime_path "${hamlib_RUNTIME}" PATH) | ||||
| #   file (GLOB hamlib_BACKENDS ${_hamlib_runtime_path}/hamlib*.dll) | ||||
| #   find_library (usb_RUNTIME NAMES usb0 PATH_SUFFIXES bin) | ||||
| # endif (WIN32) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # Qt5 setup | ||||
| # | ||||
| 
 | ||||
| # Widgets finds its own dependencies. | ||||
| find_package (Qt5Widgets 5 REQUIRED) | ||||
| find_package (Qt5Multimedia 5 REQUIRED) | ||||
| 
 | ||||
| if (WIN32) | ||||
|   add_definitions (-DQT_NEEDS_QTMAIN) | ||||
|   find_package (Qt5AxContainer REQUIRED) | ||||
| endif (WIN32) | ||||
| 
 | ||||
| # | ||||
| # stuff only 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) | ||||
| query_qmake (QT_HOST_DATA QT_DATA_DIR) | ||||
| set (QT_MKSPECS_DIR ${QT_DATA_DIR}/mkspecs) | ||||
| 
 | ||||
| # Tell CMake to run moc when necessary | ||||
| set (CMAKE_AUTOMOC ON) | ||||
| 
 | ||||
| # don't use Qt "keywords" signal, slot, emit in generated files to | ||||
| # avoid compatability issue with other libraries | ||||
| # ADD_DEFINITIONS (-DQT_NO_KEYWORDS) | ||||
| # ADD_DEFINITIONS (-DUNICODE)	#as per qmake | ||||
| 
 | ||||
| # As moc files are generated in the binary dir, tell CMake to always | ||||
| # look for includes there: | ||||
| set (CMAKE_INCLUDE_CURRENT_DIR ON) | ||||
| 
 | ||||
| # project definitions | ||||
| add_definitions (-DQT5 -DCMAKE_BUILD -DBIGSYM=1) | ||||
| if (CMAKE_HOST_UNIX) | ||||
|   add_definitions (-DUNIX) | ||||
| elseif (CMAKE_HOST_WIN32) | ||||
|   add_definitions (-DWIN32) | ||||
| endif () | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # fetch and validate kvasd | ||||
| # | ||||
| add_custom_command ( | ||||
|   OUTPUT contrib/kvasd${CMAKE_EXECUTABLE_SUFFIX} | ||||
|   COMMAND ${CMAKE_COMMAND} -D SYSTEM_NAME=${CMAKE_SYSTEM_NAME} -D EXECUTABLE_SUFFIX=${CMAKE_EXECUTABLE_SUFFIX} -P ${CMAKE_SOURCE_DIR}/CMake/download_kvasd.cmake | ||||
|   DEPENDS CMake/download_kvasd.cmake | ||||
|   COMMENT "Downloading kvasd for ${CMAKE_SYSTEM_NAME}" | ||||
|   VERBATIM | ||||
|   ) | ||||
| 
 | ||||
| 
 | ||||
| # UI generation | ||||
| qt5_wrap_ui (wsjt_qt_GENUISRCS ${wsjt_qt_UISRCS}) | ||||
| qt5_wrap_ui (ConfigTest_GENUISRCS ${ConfigTest_UISRCS}) | ||||
| qt5_wrap_ui (wsjtx_GENUISRCS ${wsjtx_UISRCS}) | ||||
| 
 | ||||
| # Resource generation | ||||
| qt5_add_resources (wsjtx_RESOURCES_RCC wsjtx.qrc) | ||||
| 
 | ||||
| # AX COM servers | ||||
| if (WIN32) | ||||
|   include (QtAxMacros) | ||||
|   wrap_ax_server (GENAXSRCS ${AXSERVERSRCS}) | ||||
| endif (WIN32) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # targets | ||||
| # | ||||
| 
 | ||||
| # build a library of package functionality | ||||
| add_library (wsjt STATIC ${wsjt_CSRCS} ${wsjt_CXXSRCS} ${wsjt_FSRCS}) | ||||
| 
 | ||||
| # build a library of package Qt functionality | ||||
| add_library (wsjt_qt STATIC ${wsjt_qt_CXXSRCS} ${wsjt_qt_GENUISRCS} ${GENAXSRCS}) | ||||
| qt5_use_modules (wsjt_qt Widgets OpenGL Network) | ||||
| if (WIN32) | ||||
|   qt5_use_modules (wsjt_qt AxContainer AxBase) | ||||
| endif (WIN32) | ||||
| 
 | ||||
| add_executable (jt9sim lib/jt9sim.f90 wsjtx.rc) | ||||
| target_link_libraries (jt9sim wsjt) | ||||
| 
 | ||||
| add_executable (jt9code lib/jt9code.f90 wsjtx.rc) | ||||
| target_link_libraries (jt9code wsjt) | ||||
| 
 | ||||
| add_executable (jt9 lib/jt9.f90 lib/jt9a.f90 lib/jt9b.f90 lib/jt9c.f90 ${jt9_CXXSRCS} wsjtx.rc) | ||||
| target_link_libraries (jt9 wsjt ${FFTW3_LIBRARIES}) | ||||
| qt5_use_modules (jt9 Core) | ||||
| 
 | ||||
| # build configuration dialog and transceiver interface test application | ||||
| #add_executable (ConfigTest ${ConfigTest_CXXSRCS} ${ConfigTest_GENUISRCS} wsjtx.rc) | ||||
| #target_link_libraries (ConfigTest wsjt wsjt_qt ${hamlib_LIBRARIES}) | ||||
| #qt5_use_modules (ConfigTest Widgets OpenGL Network Multimedia) | ||||
| 
 | ||||
| # build the main application | ||||
| #add_executable (wsjtx WIN32 MACOSX_BUNDLE | ||||
| add_executable (wsjtx MACOSX_BUNDLE | ||||
|   ${wsjtx_CXXSRCS} | ||||
|   ${wsjtx_GENUISRCS} | ||||
|   wsjtx.rc | ||||
|   ${WSJTX_ICON_FILE} | ||||
|   ${wsjtx_RESOURCES_RCC} | ||||
|   contrib/kvasd${CMAKE_EXECUTABLE_SUFFIX} | ||||
|   ) | ||||
| qt5_use_modules (wsjtx Widgets OpenGL Network Multimedia) | ||||
| 
 | ||||
| if (UNIX) | ||||
|   if (NOT WSJT_SKIP_MANPAGES) | ||||
|     add_subdirectory (manpages) | ||||
|   endif (NOT WSJT_SKIP_MANPAGES) | ||||
|   if (NOT APPLE) | ||||
|     add_subdirectory (debian) | ||||
|   endif (NOT APPLE) | ||||
|   add_dependencies (wsjtx manpages debian) | ||||
| endif (UNIX) | ||||
| 
 | ||||
| set_target_properties (wsjtx PROPERTIES | ||||
|   MACOSX_BUNDLE_INFO_STRING "${WSJTX_DESCRIPTION_SUMMARY}" | ||||
|   MACOSX_BUNDLE_ICON_FILE "${WSJTX_ICON_FILE}" | ||||
|   MACOSX_BUNDLE_BUNDLE_VERSION ${wsjtx_VERSION} | ||||
|   MACOSX_BUNDLE_SHORT_VERSION_STRING "v${wsjtx_VERSION}" | ||||
|   MACOSX_BUNDLE_LONG_VERSION_STRING "Version ${wsjtx_VERSION}" | ||||
|   MACOSX_BUNDLE_BUNDLE_NAME "WSJT-X" | ||||
|   MACOSX_BUNDLE_COPYRIGHT "${PROJECT_COPYRIGHT}" | ||||
|   ) | ||||
| 
 | ||||
| target_link_libraries (wsjtx wsjt wsjt_qt ${hamlib_LIBRARIES} ${FFTW3_LIBRARIES}) | ||||
| 
 | ||||
| #if (WIN32) | ||||
| #  set_target_properties ( | ||||
| #    wsjtx | ||||
| #    # ConfigTest | ||||
| #    PROPERTIES LINK_FLAGS_RELEASE "${LINKER_FLAGS_RELEASE} -mwindows" | ||||
| #    ) | ||||
| #endif (WIN32) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # installation | ||||
| # | ||||
| install (TARGETS wsjtx | ||||
|   RUNTIME DESTINATION ${WSJT_BIN_DESTINATION} | ||||
|   LIBRARY DESTINATION ${WSJT_LIB_DESTINATION} | ||||
|   BUNDLE DESTINATION . | ||||
|   #COMPONENT Runtime | ||||
|   ) | ||||
| 
 | ||||
| install (TARGETS jt9 | ||||
|   RUNTIME DESTINATION ${WSJT_BIN_DESTINATION} | ||||
|   LIBRARY DESTINATION ${WSJT_LIB_DESTINATION} | ||||
|   BUNDLE DESTINATION ${WSJT_BIN_DESTINATION} | ||||
|   #COMPONENT Runtime | ||||
|   ) | ||||
| 
 | ||||
| install (PROGRAMS | ||||
|   ${CMAKE_BINARY_DIR}/contrib/kvasd${CMAKE_EXECUTABLE_SUFFIX} | ||||
|   DESTINATION ${WSJT_BIN_DESTINATION} | ||||
|   #COMPONENT Runtime | ||||
|   ) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # uninstall support | ||||
| # | ||||
| configure_file ( | ||||
|   "${CMAKE_CURRENT_SOURCE_DIR}/CMake/cmake_uninstall.cmake.in" | ||||
|   "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" | ||||
|   @ONLY) | ||||
| add_custom_target (uninstall | ||||
|   "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") | ||||
| 
 | ||||
| 
 | ||||
| # creates svnversion.h using cmake script | ||||
| add_custom_target (revisiontag | ||||
|   COMMAND ${CMAKE_COMMAND} -D SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -D OUTPUT_DIR=${PROJECT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/CMake/getsvn.cmake | ||||
|   COMMENT "Generating Subversion revision information" | ||||
|   VERBATIM | ||||
|   ) | ||||
| # explicitly say that the wsjt_qt depends on custom target, this is | ||||
| # done indirectly so that the revisiontag target gets built exactly | ||||
| # once per build | ||||
| add_dependencies(wsjt_qt revisiontag) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # versioning and configuration | ||||
| # | ||||
| configure_file ( | ||||
|   "${PROJECT_SOURCE_DIR}/wsjtx_config.h.in" | ||||
|   "${PROJECT_BINARY_DIR}/wsjtx_config.h" | ||||
|   ) | ||||
| include_directories ("${PROJECT_BINARY_DIR}") | ||||
| 
 | ||||
| 
 | ||||
| if (NOT WIN32 AND NOT APPLE) | ||||
|   # install a desktop file so wsjtx appears in the application start | ||||
|   # menu with an icon | ||||
|   install ( | ||||
|     FILES wsjtx.desktop | ||||
|     DESTINATION share/applications | ||||
|     #COMPONENT Runtime | ||||
|     ) | ||||
|   install ( | ||||
|     FILES icons/Unix/wsjtx_icon.png | ||||
|     DESTINATION share/pixmaps | ||||
|     #COMPONENT Runtime | ||||
|     ) | ||||
| endif (NOT WIN32 AND NOT APPLE) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # bundle fixup only done in Release or MinSizeRel configurations | ||||
| # | ||||
| if (NOT is_debug_build) | ||||
| 
 | ||||
|   # get_target_property (QtCore_location Qt5::Core LOCATION) | ||||
|   # get_filename_component (QtCore_location ${QtCore_location} PATH) | ||||
|   # list (APPEND fixup_library_dirs ${QtCore_location}) | ||||
| 
 | ||||
|   if (APPLE) | ||||
|     set (CMAKE_POSTFLIGHT_SCRIPT | ||||
|       "${wsjtx_BINARY_DIR}/postflight.sh") | ||||
|     set (CMAKE_POSTUPGRADE_SCRIPT | ||||
|       "${wsjtx_BINARY_DIR}/postupgrade.sh") | ||||
|     configure_file ("${wsjtx_SOURCE_DIR}/postflight.sh.in" | ||||
|       "${wsjtx_BINARY_DIR}/postflight.sh") | ||||
|     configure_file ("${wsjtx_SOURCE_DIR}/postupgrade.sh.in" | ||||
|       "${wsjtx_BINARY_DIR}/postupgrade.sh") | ||||
|   endif () | ||||
| 
 | ||||
|   if (APPLE OR WIN32) | ||||
|     # install rules for including 3rd party libs such as Qt | ||||
| 
 | ||||
|     # install a qt.conf file | ||||
|     install (CODE " | ||||
|   file (WRITE \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${WSJT_QT_CONF_DESTINATION}/qt.conf\" | ||||
| \"[Paths] | ||||
| \") | ||||
| " | ||||
|       #COMPONENT Runtime | ||||
|       ) | ||||
| 
 | ||||
|     # if a system Qt is used (e.g. installed in /usr/lib/), it will not be included in the installation | ||||
|     set (fixup_exe "\${CMAKE_INSTALL_PREFIX}/${WSJT_BIN_DESTINATION}/${CMAKE_PROJECT_NAME}${CMAKE_EXECUTABLE_SUFFIX}") | ||||
|     #get_filename_component (hamlib_lib_dir ${hamlib_LIBRARIES} PATH) | ||||
| 
 | ||||
|     if (APPLE) | ||||
|       # install required Qt plugins | ||||
|       install ( | ||||
| 	DIRECTORY | ||||
| 	${QT_PLUGINS_DIR}/platforms | ||||
| 	${QT_PLUGINS_DIR}/audio | ||||
| 	DESTINATION ${WSJT_PLUGIN_DESTINATION} | ||||
| 	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 "*_debug${CMAKE_SHARED_LIBRARY_SUFFIX}" EXCLUDE | ||||
| 	) | ||||
|       # install ( | ||||
|       # 	DIRECTORY | ||||
|       # 	${QT_PLUGINS_DIR}/platforms | ||||
|       # 	${QT_PLUGINS_DIR}/audio | ||||
|       # 	DESTINATION ${WSJT_PLUGIN_DESTINATION} | ||||
|       # 	CONFIGURATIONS Debug | ||||
|       # 	#COMPONENT Runtime | ||||
|       # 	FILES_MATCHING PATTERN "*_debug${CMAKE_SHARED_LIBRARY_SUFFIX}" | ||||
|       # 	PATTERN "*minimal*${CMAKE_SHARED_LIBRARY_SUFFIX}" EXCLUDE | ||||
|       # 	PATTERN "*offscreen*${CMAKE_SHARED_LIBRARY_SUFFIX}" EXCLUDE | ||||
|       # 	) | ||||
| 
 | ||||
|       # add plugins path for Mac Bundle | ||||
|       install (CODE " | ||||
| file (APPEND \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${WSJT_QT_CONF_DESTINATION}/qt.conf\" | ||||
| \"Plugins = Plugins | ||||
| \") | ||||
| " | ||||
| 	#COMPONENT Runtime | ||||
| 	) | ||||
|     endif (APPLE) | ||||
| 
 | ||||
|     if (WIN32) | ||||
|       # DLL directory | ||||
|       #set (hamlib_lib_dir ${hamlib_lib_dir}/../bin) | ||||
| 
 | ||||
|       get_filename_component (fftw_lib_dir ${FFTW3F_LIBRARY} PATH) | ||||
|       list (APPEND fixup_library_dirs ${fftw_lib_dir}) | ||||
| 
 | ||||
|       # install required Qt plugins | ||||
|       install ( | ||||
| 	DIRECTORY | ||||
| 	${QT_PLUGINS_DIR}/platforms | ||||
| 	DESTINATION ${WSJT_PLUGIN_DESTINATION} | ||||
| 	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 "*d${CMAKE_SHARED_LIBRARY_SUFFIX}" EXCLUDE | ||||
| 	) | ||||
|       # install ( | ||||
|       # 	DIRECTORY | ||||
|       # 	${QT_PLUGINS_DIR}/platforms | ||||
|       # 	DESTINATION ${WSJT_PLUGIN_DESTINATION} | ||||
|       # 	CONFIGURATIONS Debug | ||||
|       # 	#COMPONENT Runtime | ||||
|       # 	FILES_MATCHING PATTERN "*d${CMAKE_SHARED_LIBRARY_SUFFIX}" | ||||
|       # 	PATTERN "*minimal*${CMAKE_SHARED_LIBRARY_SUFFIX}" EXCLUDE | ||||
|       # 	PATTERN "*offscreen*${CMAKE_SHARED_LIBRARY_SUFFIX}" EXCLUDE | ||||
|       # 	) | ||||
| 
 | ||||
|       # add plugins path for WIN32 | ||||
|       file (RELATIVE_PATH _plugins_path "${CMAKE_INSTALL_PREFIX}/${WSJT_QT_CONF_DESTINATION}" "${CMAKE_INSTALL_PREFIX}/${WSJT_PLUGIN_DESTINATION}") | ||||
|       install (CODE " | ||||
| file (APPEND \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${WSJT_QT_CONF_DESTINATION}/qt.conf\" | ||||
| \"Plugins = ${_plugins_path} | ||||
| \") | ||||
| " | ||||
| 	#COMPONENT Runtime | ||||
| 	) | ||||
| 
 | ||||
|       # set (gp_tool "objdump")	# we want MinGW tool - not MSVC (See GetPrerequisites.cmake) | ||||
|     endif (WIN32) | ||||
| 
 | ||||
|     #list (APPEND fixup_library_dirs ${hamlib_lib_dir}) | ||||
|     list (APPEND fixup_library_dirs ${hamlib_LIBRARY_DIRS}) | ||||
| 
 | ||||
|     install (CODE " | ||||
|      file (GLOB_RECURSE QTPLUGINS | ||||
|        \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${WSJT_PLUGIN_DESTINATION}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\") | ||||
|      include (BundleUtilities) | ||||
|      set (BU_CHMOD_BUNDLE_ITEMS ON) | ||||
|      set (gp_tool ${gp_tool}) | ||||
|      message (STATUS \"fixup_exe: ${fixup_exe}\") | ||||
|      fixup_bundle (\"${fixup_exe}\" \"\${QTPLUGINS}\" \"${fixup_library_dirs}\") | ||||
|    " | ||||
|       #COMPONENT Runtime | ||||
|       ) | ||||
|   endif (APPLE OR WIN32) | ||||
| 
 | ||||
| endif (NOT is_debug_build) | ||||
| 
 | ||||
| 
 | ||||
| # | ||||
| # packaging | ||||
| # | ||||
| set (CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}") | ||||
| set (CPACK_PACKAGE_VERSION_MAJOR ${WSJTX_VERSION_MAJOR}) | ||||
| set (CPACK_PACKAGE_VERSION_MINOR ${WSJTX_VERSION_MINOR}) | ||||
| set (CPACK_PACKAGE_VERSION_PATCH ${WSJTX_VERSION_PATCH}) | ||||
| 
 | ||||
| if (WIN32) | ||||
|   set (CPACK_GENERATOR "NSIS") | ||||
| elseif (APPLE) | ||||
|   set (CPACK_GENERATOR "DragNDrop" "PackageMaker") | ||||
| else () | ||||
|   # | ||||
|   # Derive the correct filename for a Debian package because the DEB | ||||
|   # generator doesn't do this correctly at present. | ||||
|   # | ||||
|   string (TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_PACKAGE_NAME_LOWERCASE) | ||||
|   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 | ||||
|       ) | ||||
|     set (DEBIAN_PACKAGE_FILE_NAME | ||||
|       "${CPACK_PACKAGE_NAME_LOWERCASE}_${wsjtx_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")    | ||||
| 
 | ||||
|   else (DPKG_PROGRAM) | ||||
|     set (DEBIAN_PACKAGE_FILE_NAME | ||||
|       "${CPACK_PACKAGE_NAME_LOWERCASE}_${wsjtx_VERSION}_${CMAKE_SYSTEM_NAME}") | ||||
|   endif (DPKG_PROGRAM) | ||||
| 
 | ||||
|   set (CPACK_DEBIAN_PACKAGE_PACKAGE_SHLIBDEPS ON) | ||||
| 
 | ||||
|   set (CPACK_GENERATOR "DEB" "RPM" "TGZ") | ||||
| endif () | ||||
| 
 | ||||
| configure_file ("${PROJECT_SOURCE_DIR}/CMakeCPackOptions.cmake.in" | ||||
|   "${PROJECT_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY) | ||||
| set (CPACK_PROJECT_CONFIG_FILE "${PROJECT_BINARY_DIR}/CMakeCPackOptions.cmake") | ||||
| 
 | ||||
| include (CPack) | ||||
| @ -17,7 +17,7 @@ | ||||
|    </size> | ||||
|   </property> | ||||
|   <property name="windowTitle"> | ||||
|    <string>Configuration</string> | ||||
|    <string>Settings</string> | ||||
|   </property> | ||||
|   <layout class="QVBoxLayout" name="verticalLayout_2"> | ||||
|    <item> | ||||
| @ -902,7 +902,7 @@ this setting allows you to select which audio input will be used | ||||
|          <item> | ||||
|           <widget class="QLabel" name="CAT_poll_interval_label"> | ||||
|            <property name="text"> | ||||
|             <string>Poll Interval (s):</string> | ||||
|             <string>Poll Interval:</string> | ||||
|            </property> | ||||
|            <property name="buddy"> | ||||
|             <cstring>CAT_poll_interval_spin_box</cstring> | ||||
| @ -911,6 +911,9 @@ this setting allows you to select which audio input will be used | ||||
|          </item> | ||||
|          <item> | ||||
|           <widget class="QSpinBox" name="CAT_poll_interval_spin_box"> | ||||
|            <property name="suffix"> | ||||
|             <string> s</string> | ||||
|            </property> | ||||
|            <property name="minimum"> | ||||
|             <number>1</number> | ||||
|            </property> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user