CMake does not seem to recognize Fortran module file dependencies
correctly and sometimes builds them after modules that reference
them. This change moves all the module files to the beginning of the
library sources list so that they should always be compiled before use
after changes. I'm not sure this will work 100% reliably for
inter-module references so further reordering may be needed in future
if unexpected clean rebuilds are becoming necessary after module
source file changes.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7632 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Separate translation units avoids compiler generated CRC tables being
linked when not needed.
Also only compile once and add to wsjt_cxx library for later link
editing.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7631 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Using the CMake module GNUInstallDirs to set up standard locations
which allows better customisation for packagers building for various
distributions.
The change does change some internal package file paths and will leave
some files in old locations in Windows installations. Running
uninstall is probably wise on Windows before installing this new
package layout if future clean uninstalls are desired.
Linux and other *nix package maintainers can use the CMake variables
CMAKE_INSTALL_xxx to vary the install paths of various components. See
the CMake GNUInstallDirs module documentation for more details. An
example might be for Slackware where package documents are expected to
be installed into
<install-prefix>/doc/<package-name>-<package-version>/ whereas the GNU
default is to install them into
<install-prefix>/share/doc/<package-name>/. To achieve this set the
CMake variable CMAKE_INSTALL_DOCDIR as follows when configuring:
cmake -D CMAKE_INSTALL_DOCDIR:PATH=doc/wsjtx-1.7.1 -D CMAKE_INSTALL_PREFIX= ...
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7623 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This change obseletes Mac OS X 10.7 and 10.8 which are not supported
by Qt 5.8.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7613 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This builds on the static phase compensation in the MSK144 decoder and
the phase analysis and polynomial fitting capabilities also in teh
MSK144 decoder, by allowing captured data to be selected for phase
equalization from the WSJT-X UI.
Reads captured phase compensation curve estimate files containing
fitted polynomial coefficients and measured phase data from MSK144
receptions. Intent is to select a compensation curve that is from a
known transmitter like an SDR which have good phase linearity. Phase
plots and compensation polynomials may be viewed and compared with the
current compensation polynomial. A suitable polynomial can be applied
to be use in all further decoding of MSK144 signals.
Plots of the currently selected polynomial and its modified higher
order terms polynomial which is actually used in equalization (this
plot may be dropped - it is just for kicks at the moment). When a
captured phase analysis file is loaded plots of the measured phase and
the proposed best fit polynomial are shown.
Basic maintenance is also included allowing clearing and loading
captured plots and an option to revert to a flat no equalization
curve.
More to come on this as amplitude equalization is also possible, this
will probably be similar, maybe even plotted on the same graph with
dual axes for phase and amplitude. Amplitude correction from a
measured reference spectrum could be viewed and selected for
equalization for all modes. TBC...
This change also introduces the QCustomPlot 3rd party
widget. Currently this is statically linked from a qcp library built
by the WSJT-X CMake script. This will probably be migrated to a shared
object (DLL) build as a CMake external project, once some CMake script
re-factoring has been completed, which is more in line with the
QCustomPlot author's intentions. This will allow efficient reuse in
other tools shipped with WSJT-X.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7570 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This issue was probably triggered by OpenMP forcing some large arrays
onto the stack where Fortran might normally make them static. The
change that seemed to make the difference was putting cdat2 in
msk144_freq_search into static storage. I am not convinced that the
problem is really solved but it works for now.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7130 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also increase Windows stack size from 1Mbyte to 8Mbyte due to the
impact of Fortran arrays not being automatically moved to static
storage above a certain size. This needs attention by setting the SAVE
attribute on large arrays that do not need to be on the stack i.e. do
no need to be duplicated across OpenMP thread teams.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7122 ab8295b8-cf94-4d9e-aec4-7959e3be5d79