diff --git a/appveyor.yml b/appveyor.yml index 3612f6882..d2bdab84e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -51,12 +51,15 @@ cache: - jom_1_1_3.zip - sip-4.19.8.zip - C:\R +- c:\tools\vcpkg\installed\ - qwt install: # Get the libraries - if not exist gc-ci-libs.zip appveyor DownloadFile "https://github.com/GoldenCheetah/WindowsSDK/releases/download/v0.1.1/gc-ci-libs.zip" - 7z x -y gc-ci-libs.zip -oC:\libs +# GSL +- vcpkg install gsl:x64-windows # Get config - copy qwt\qwtconfig.pri.in qwt\qwtconfig.pri @@ -93,6 +96,11 @@ install: - echo PYTHONINCLUDES=-ICore -I\"c:\python37-x64\include\" >> src\gcconfig.pri - echo PYTHONLIBS=-L\"c:\python37-x64\libs\" -lpython37 >> src\gcconfig.pri +# GSL +- echo DEFINES+=GC_WANT_GSL >> src\gcconfig.pri +- echo GSL_INCLUDES=c:\tools\vcpkg\installed\x64-windows\include >> src\gcconfig.pri +- echo GSL_LIBS=-Lc:\tools\vcpkg\installed\x64-windows\lib -lgsl -lgslcblas >> src\gcconfig.pri + before_build: # Define GC version string, only for tagged builds - if %APPVEYOR_REPO_TAG% == "true" (echo DEFINES+=GC_VERSION=VERSION_STRING >> src/gcconfig.pri) @@ -144,6 +152,7 @@ after_build: - copy c:\OpenSSL-v111-Win64\license.txt "OpenSSL License.txt" - copy c:\python37-x64\python37.dll - copy c:\python37-x64\LICENSE.txt "PYTHON LICENSE.txt" +- copy c:\tools\vcpkg\installed\x64-windows\bin\gsl*.dll # ReadMe, license and icon files - copy ..\Resources\win32\ReadMe.txt @@ -158,7 +167,8 @@ after_build: # Build the installer - makensis GC3.6-Dev-Master-W64-QT5.14.2.nsi - move GoldenCheetah_v3.6-DEV_64bit_Windows.exe ..\..\GoldenCheetah_v3.6-DEV_x64.exe -- ps: if ($env:APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED -Like "*[publish binaries]*") { Set-AppveyorBuildVariable -Name 'PUBLISH_BINARIES' -Value 'true' } +- ps: Set-AppveyorBuildVariable -Name 'PUBLISH_BINARIES' -Value false +- ps: if ($env:APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED -Like "*[publish binaries]*") { Set-AppveyorBuildVariable -Name 'PUBLISH_BINARIES' -Value true } test_script: # minimum test @@ -184,3 +194,4 @@ deploy: artifact: GCinstaller on: PUBLISH_BINARIES: true + APPVEYOR_REPO_NAME: "GoldenCheetah/GoldenCheetah" diff --git a/src/Resources/win32/GC3.6-Dev-Master-W64-QT5.14.2.nsi b/src/Resources/win32/GC3.6-Dev-Master-W64-QT5.14.2.nsi index c413f7cac..61e5662b6 100644 --- a/src/Resources/win32/GC3.6-Dev-Master-W64-QT5.14.2.nsi +++ b/src/Resources/win32/GC3.6-Dev-Master-W64-QT5.14.2.nsi @@ -488,6 +488,8 @@ Section "Golden Cheetah (required)" Sec1 SetOutPath "$INSTDIR" File "PYTHON LICENSE.txt" File "python37.dll" + File "gsl.dll" + File "gslcblas.dll" SetOutPath "$INSTDIR" File "Qt5Bluetooth.dll" File "Qt5Charts.dll" @@ -1018,6 +1020,8 @@ Section Uninstall Delete "$INSTDIR\printsupport\windowsprintersupport.dll" Delete "$INSTDIR\PYTHON LICENSE.txt" Delete "$INSTDIR\python37.dll" + Delete "$INSTDIR\gsl.dll" + Delete "$INSTDIR\gslcblas.dll" Delete "$INSTDIR\Qt5Bluetooth.dll" Delete "$INSTDIR\Qt5Charts.dll" Delete "$INSTDIR\Qt5Concurrent.dll" diff --git a/src/gcconfig.pri.in b/src/gcconfig.pri.in index c3a1b7219..cfa4d2dcb 100644 --- a/src/gcconfig.pri.in +++ b/src/gcconfig.pri.in @@ -49,7 +49,7 @@ # Windows - edit to your install location # us vcpkg install gsl #DEFINES += GC_WANT_GSL -#GCL_INCLUDES = C:/gsl-1.11/include/ +#GSL_INCLUDES = C:/gsl-1.11/include/ #GSL_LIBS = -LC:/gsl-1.11/bin -llibgsl-0 -llibgslcblas-0 # put output into a separate dir diff --git a/travis/linux/before_install.sh b/travis/linux/before_install.sh index 808792049..746c90859 100755 --- a/travis/linux/before_install.sh +++ b/travis/linux/before_install.sh @@ -63,6 +63,9 @@ make sudo make install cd ${TRAVIS_BUILD_DIR} +# GSL +sudo apt-get -qq install libgsl-dev + # AWS S3 client to upload binaries curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip diff --git a/travis/linux/before_script.sh b/travis/linux/before_script.sh index 1706e27be..080106fda 100755 --- a/travis/linux/before_script.sh +++ b/travis/linux/before_script.sh @@ -46,6 +46,9 @@ sed -i "s|#\(SRMIO_INSTALL =.*\)|\1 /usr/local|" src/gcconfig.pri echo DEFINES += GC_WANT_PYTHON >> src/gcconfig.pri echo PYTHONINCLUDES = -I/usr/include/python3.7 >> src/gcconfig.pri echo PYTHONLIBS = -L/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu -lpython3.7m >> src/gcconfig.pri +# GSL +echo DEFINES += GC_WANT_GSL >> src/gcconfig.pri +echo GSL_LIBS = -lgsl -lgslcblas -lm >> src/gcconfig.pri # Patch Secrets.h sed -i "s/__GC_GOOGLE_CALENDAR_CLIENT_SECRET__/"$GC_GOOGLE_CALENDAR_CLIENT_SECRET"/" src/Core/Secrets.h diff --git a/travis/osx/before_install.sh b/travis/osx/before_install.sh index 1de3413d8..070b28bcc 100755 --- a/travis/osx/before_install.sh +++ b/travis/osx/before_install.sh @@ -7,6 +7,7 @@ brew update brew unlink python@2 # to avoid conflicts with qt/libical dependence on python brew upgrade python3 # to get 3.7.7 brew upgrade qt5 # to get 5.14.2 +brew install gsl brew install libical brew upgrade libusb brew install srmio diff --git a/travis/osx/before_script.sh b/travis/osx/before_script.sh index 90f63aa53..d86bb375c 100755 --- a/travis/osx/before_script.sh +++ b/travis/osx/before_script.sh @@ -55,6 +55,9 @@ echo "QMAKE_CFLAGS_RELEASE += -mmacosx-version-min=10.7 -arch x86_64" >> src/gcc echo DEFINES += GC_WANT_PYTHON >> src/gcconfig.pri echo PYTHONINCLUDES = -ICore `python3-config --includes` >> src/gcconfig.pri echo PYTHONLIBS = `python3-config --ldflags` >> src/gcconfig.pri +# GSL +echo DEFINES += GC_WANT_GSL >> src/gcconfig.pri +echo GSL_LIBS = -lgsl -lgslcblas -lm >> src/gcconfig.pri # Patch Secrets.h sed -i "" "s/__GC_GOOGLE_CALENDAR_CLIENT_SECRET__/"$GC_GOOGLE_CALENDAR_CLIENT_SECRET"/" src/Core/Secrets.h diff --git a/travis/osx/script.sh b/travis/osx/script.sh index 52b5d40e7..49b2ec620 100755 --- a/travis/osx/script.sh +++ b/travis/osx/script.sh @@ -1,6 +1,6 @@ #!/bin/bash set -ev -CC=clang CXX=clang++ /usr/local/opt/qt5/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+="-Wno-unused-private-field -Wno-c++11-narrowing -Wno-deprecated-declarations -Wno-deprecated-register" +CC=clang CXX=clang++ /usr/local/opt/qt5/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+="-Wno-unused-private-field -Wno-c++11-narrowing -Wno-deprecated-declarations -Wno-deprecated-register -Wno-nullability-completeness" CC=clang CXX=clang++ make qmake_all CC=clang CXX=clang++ make -j4 sub-qwt --silent CC=clang CXX=clang++ make -j4 sub-src --silent || CC=clang CXX=clang++ make sub-src