To cleanup appveyor.yml and to match macOS/Linux scripts:
- Move install code to appveyor/windows/install.ps1
- Move after_build code to appveyor/windows/after_build.ps1
Continuation of 40db2bc8ec
Build configuration for Windows was moved from appveyor.yml to appveyor/windows/before_build.ps1
and based on gcconfig.pri.in to match the other platforms, Python config is taken from PATH too.
We could do the same with install and after_build too.
Co-authored-by: Alejandro Martinez <amtriathlon@gmail.com>
Python is moved to 3.11 and packaged in Appveyor. This version is a good spot in the lifecycle.
Packaged SIP at the current version, I needed this to get around some of the reparsing that was required.
Eventually this will break but make -f Makefile.SIP likely creates a new build, we should do this at
every "major" release. Unfroze the rest so it can move freely.
Add iterator support to GoldenCheetah container data types in Python. This avoids the Pandas regression that held us back.
Added code signing for MacOS as this was a requirement to run my local binaries and unfortunately needed to rewrite the build.
This puts us at a good jumping off spot for building a universal Mac binary but there's a lot of work left.
A user reported having severe performance issues on macOS Tahoe
with v3.8-DEV2601 not present when using v3.7-sp1
Besides 6.5.3 is LTS and 6.6.1 is deprecated, so lets play safe
until we can upgrade to 6.8.3
To avoid ocassional errors due to race conditions,
since QWT is rebuilt only when appveyor.yml changes
the impact on performance is limited in normal cases.
Using gcc-13 makes the generated AppImage to require a newer libstdc++ version
than some currently supported distributions include by default.
This way we don't need Travis-ci generated Qt5 AppImages anymore
and we can deprecate Qt5 support.
[publish binaries]
* Improve the build speed by 2-3X by using PCH. This avoids rebuilding large parts of QT and C++ std headers over and over.
* Unfortunately QMake is too opinionated for this to work on macOS so it is used on Windows and Linux only.
* Remove qwindowsvistastyle.dll opengl32sw.dll from QT6 as they're not needed.
* Revert fa84a37 since we don't need it anymore.
Main changes from v3.7-sp1 release:
Enable Add Planned Activity from Activities menu
Enable Plan Activity from Calendar conxtext menu
Enable Agenda view of Calendar chart
[publish binaries]
We cache srmio build for Linux and macOS,
it is not used for Windows builds.
After qwt rebuild the build is terminated
to ensure the cache update, an errer will
indicate it is necessary a manual restart
to continue the build.
These changes are intended avoid cancellations
due to the 1hr hard runtime limit.
* Added support for the TrainerDay workouts/find API
* Added a new (optional) tab to the TrainerDay workouts download dialog
* Deferring loading of the classic list of workouts until this tab is
activated
* Implemented the API for TrainerDays /workouts/find (see
https://api.trainerday.com/api-explorer/)
* Visualizing the workouts using a colored ErgFilePlot
* Modified ErgFilePlot::setData to directly use the data of the given
ErgFile instead of falling back to the ErgFile set in the context
(required to display multiple plots at once)
* Added a simplified version of the existing workouts query sytnax
(supported verbs: duration, dominantzone)
* Saving the workouts as trainerday-<hash>.erg
* Using the segments-section as input for the hash and to identify
duplicates
* Functionality can be enabled in gcconfig.pri (GC_WANT_TRAINERDAY_API)
* Prepared the travis-scripts before_script.sh to inject the API key to Secrets.h
* Prepared appveyor.yml to inject the API key to Secrets.h
* Patching GC_TRAINERDAY_API_PAGESIZE for appveyor
* Configured api key for TrainerDay in appveyor
This commit is based on https://github.com/GoldenCheetah/GoldenCheetah/pull/3956
with the following additions / changes:
* Upgraded to the latest version of the multiaxes-branch, thus eliminating crashes of GoldenCheetah on startup
* Disabled the emitting of Layout Requests on geometry changes of QwtScaleWidget - without this, CPU utilization was up to 100% on one core
* Added the class SplineLookup, reusing small portions of code from Qwt 6.1
* Re-added the splines in WPrime and RideFile (resampling), using the new interface of QwtSpline
* Appveyor: qwt in cache-section now depends on qwt/qwtconfig.prin.in for refresh on version change