To comply with the WSJT_X GPL v3 license, the closed source KVASD
executable must be delivered separately and optionally to end
users. To facilitate this a new install option has been added to the
Windows installer to install KVASD by downloading it at install
time. The installer first downloads the KVASD EULA from the Internet
and presents it to the user for reading and agreement. If agreement
is given the KVASD binary is downloaded from the Internet and
checksummed using an MD5 hash, if that passes, it is installed along
with WSJT-X. An uninstall record is also written to ensure that, if
installed, KVASD will be un-installed if WSJT-X is un-installed.
To facilitate this enhancment to the NSIS installer the standard CPack
NSIS installer script template has been overridden with a project
specific version. This version also implements the more modern and
recomended nsDialogs mechanism for installer custom page construction
including the install options page. See CMake/Modules/NSIS.template.in
for details and CMakeCPackOptions.cmake.in for usage in this
installer.
Merged from branch wsjtx-1.4.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4663 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also complete the wrapper code in wisdom.c.
TBD: should be possible to use fftw3f.f03 instead of the ad hoc wisdom.c.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4617 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
To allow personal builds on Mac OS X on 10.7 where no 10.9 SDK is
available, the key options have been made CMake ached variables so
that they may be overridden at configure time.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4585 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
In order to support the WSJT-X super build in LOCAL mode the location
of the User Guide needs to be specified.
A CMake cache variable WSJT_MANUAL_DIRECTORY has been added to allow
the URI of the User Guide directory to be specified at configure time.
The default value remains as the project web site.
Merged from branch wsjtx-1.4.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4566 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
CMake v3 complains about missing dependencies so the manpages
dependency must not be added to the wsjtx target unless it exists.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4564 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The debian target was being added as a dependency to teh wsjtx target
even when it doesn't exist. This isn't allowed in CMake v3 so it no
longer added if it doesn't exist.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4562 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The minimum OS X version supported and SDK selection compiler options
were not being set for Fortran compiles on Mac.
As CMake 3.0.2 is the current release the facilities obsoleted by
CMake 3.0 have been removed. This also entails making CMake 2.8.10 the
minimum supported version.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4560 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The normal way to view console output from a Windows GUI application
(i.e. with a WinMain entry point) is to attach a debugger which will
then receive the application console output in its own console.
If it is required to build wsjtx.exe as a console application it may
be done by setting the new WSJT_CREATE_WINMAIN CMake option to
OFF. This option is only available for Debug configuration builds to
avoid accidental shipping of non-Debug configuration builds as a
console application.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4555 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The DMG volume name must not change between versions as it invalidates
the .DS_Store file backgound image.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4548 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Routine packmsg now tries the shortlist (Type 1 prefix or suffix) first.
Then it tries to to make a valid message using a Type 2 prefix or suffix.
If both fail, it packs the first 13 characters as a free-text message.
The GUI now generates the most useful messages with compound callsigns
of all valid types.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4533 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The justified text in the project description caused many unwanted
hard line breaks when viewed in Debian package install tools.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4512 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Debian packages are only build if dpkg-buildpackage is available and
RPM package generation is only done if rpmbuild is available.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4504 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The kavasd binary is not open source so cannot be automatically
bundled with WSJT-X on Linux.
The CMake option WSJT_INCLUDE_KVASD has been added with a default of
OFF in Linux Release configuration builds.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4498 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
An ambiguity existed between release candidates and development
versions as there was no definitive identification for development
versions.
Added a new version number suffix of '-devel' which appears if the
release candidate number is missing or zero in Versions.cmake and the
revision is not marked as a release version, also in Versions.cmake.
Also re-factored setting of version number suffiexes to a single place
in in CMake/VersionCompute.cmake.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4422 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This was generated in error by selecting one of the source CPack
generators as a default.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4408 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The *nix package generators do not include the target architecture in
the package file names.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4382 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The location of documentation files on Linux distributions is
controlled to a certain extent. Using the QStandardPaths::locate()
method helps us with this.
Work round the misbehaviour of QCoreApplication::applicationDirPath()
when the CWD has been changed by working out the documentation
location before changing the CWD to a temporary directory. This path
is now provided by the Configuration settings class which also manages
other run time paths.
Updated Debian packaging to move a little nearer a conforming DEB
file.
Added a basic manpage for rigctld-wsjtx.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4364 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
So that a manual can be viewed without an Internet connection a second
manual action has been added to the WSJT_X help menu. This shells out
to the default web browser with a local file target.
The build has been enhanced to install and package the current version
of the HTML user manual as downloaded from the project web site at
build time
The package file locations have been adjusted to be compatible with
the QStandardPaths class so that its locate() method can be used to
portably access resources like this local help file
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4359 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The Apple clang LLVM compilers do not support the gcc options
data-sections, function-sections and, gc-sections so we must not add
them on Mac builds.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4356 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The -mwindows linker option is not explicitly required since it is
added automatically to WIN32 executables by CMake.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4355 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Use the data-sections and function-sections gcc/g++ compiler options
to create sections for each function and data item then use
gc-sections in the link to discard all unreferenced sections.
This has most benefit if the hamlib library we statically link is also
compiled with data-sections and function-sections.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4351 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Use the WSJTX_RC variable in Versions.cmake to label and identify
program and packages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4338 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Because WSJT-X currently uses Hamlib-3 (statically linked) it also
needs a version of rigctld with Hamlib-3 statically linked for any
user that wishes to use the "Hamlib NET rigctld" CAT interface to
remotly access a rig via IP using the Hamlib network control protocol.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4297 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
These programs are mentioned in the user guide so have been added to
the depolyable packages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4254 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Since the manual URL is used in both the installer and the WSJT-X code
the definition of the URL (CMake variable PROJECT_MANUAL) is defined
in the CMakeList.txt file and propagated to the source via the
wsjtx_config.h header.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4252 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Sometimes parts of the application are not fully ready for release at
release time. This option allows such features to be enabled
conditionally at configure time.
The CMake option WSJT_ENABLE_EXPERIMENTAL_FEATURES is used to control
this ability. Normally you will not need to change it as it behaves
in a reasonable way. The option is ON in debug build configurations
and OFF in non-debug configuratiuons.
The option is made available in all source modules via the
WSJT_ENABLE_EXPERIMENTAL_FEATURES macro which is defined to 1 if the
option is ON and to 0 if it is OFF.
Since this default behavior is potentially dangerous because it can
mean that release builds contain different code from debug builds; the
option may be set to OFF in debug configurations in the normal way
(cmake-gui, edit CMakeCache.txt, etc.) to achieve a debug build
similar to a default release build.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4182 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
part of r4046. These caused GUI installer packages to be incomplete.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4058 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Non-Debug build on *nix platforms now require a2x, it is optional
for other build configurations.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4050 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Added a manpages sub-project to generate man pages for wsjtx from
AsciiDoc source.
Add items required by Debian packaging and Free Desktop Standards.
Add better command line processing to wsjtx including version and help
options.
Add a new command line option 'test-mode' that invokes the Qt test
mode where all writable file locations are moved to a common
directory. This is to allow application testing from a repeatable
start point rather than have the test application sharing files with
normal operations. See QStandardPaths::setTestModeEnabled() for
details of the test location.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4046 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
WSJT-X has a capability of redirecting Qt debugging output (qDebug,
qWarning etc.) to a trace file 'wsjtx_trace.log' which is created in
the application run directory if not already present.
Setting the CMake build option WSJT_QDEBUG_TO_FILE to ON will enable
this feature.
It should be noted that this option is not compatible with a
distributibutable official release since writing to the application
directory is not recommended. Also in a full Release configuration
build all Qt debugging code is elided so no useful trace would be
obtained anyway.
The CMake option WSJT_QDEBUG_IN_RELEASE may be useful in concert with
this option as it causes Qt debugging statements to remain in place in
a Release build configuration. Again not recommended in a full
Release build since the debugging code both slows down the application
and adds unecessary bloat to the executable size.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4032 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Fixing revsion lookup issues is painfully public since one has to
commit a change to test it.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4018 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
all types of build.
CMake builds use 'svn info' (the git-svn equivalent is also supported)
to get the real latest revision of the workspace that is used to
source a build. If the sources are not in VCS workspace (build from
source snapshot archive for example) then the $Rev$ svn keyword
expansion in mainwindow.cpp is used despite its issues with accuracy.
Non-CMake builds use the $Rev$ keyword expansion where possible.
If a CMake build is from a VCS workspace with local modifications; a
'-dirty' suffix is added to the revision number to denote that.
If no revision number information can be found the word 'local' is
used as a revision number.
The revision specification is used in the WSJT-X "about" box and is
sent to PSKReporter.info as part of the local station information
(this can be viewed at the statistics page
http://pskreporter.info/cgi-bin/pskstats.pl).
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4017 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Now I have verified that the CW envelope shaping considerably reduces
the bandwidth of teh CW id. I have made the it default. It can still
be turned off via a CMake option if desired.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4013 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
default).
Reorganized Modulator interface so that it can control the stream
it writes to.
Make sure only QAudioOutput::stop is called at the end of sending
rather than QAudioOutput::reset which discards pending samples.
Added a quick close option to the Modulator::stop slot to discard
pending buffers if required.
Fix issue in CW synthesizer that was causing CW to be inverted
occasionally.
Made global arrays of symbols volatile because compiler waa
optimizing away reads in sound thread. These global variables
must go eventually as they are a multi-threading hazard.
Simplified TX sequencing to remove some duplicate signals.
Increased range of TX attenuator from 10dB to 30dB. This is mainly for
non-Windows platforms where the attenuator isn't linearized correctly.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3985 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
linking requirements.
Changed build to use static hamlib if available.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3975 ab8295b8-cf94-4d9e-aec4-7959e3be5d79