├── travis-deploy.sh ├── .gitignore ├── .gitmodules ├── appveyor-deploy.bat ├── appveyor-build.bat ├── travis-build.sh ├── LICENSE ├── appveyor.yml └── .travis.yml /travis-deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | for mod in $LTS_MODS; do 5 | # disable qtapng docs 6 | if [ "$mod" == "qtapng" ]; then 7 | echo "disabeling docs!" 8 | export BUILD_DOC= 9 | fi 10 | 11 | export TARGET_NAME=$mod 12 | mkdir -p install/$mod 13 | pushd $mod 14 | echo Packaging $mod... 15 | ./qtmodules-travis/ci/$TRAVIS_OS_NAME/upload-prepare.sh 16 | cp install/*.tar.xz ../install 17 | popd 18 | done 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # C++ objects and libs 2 | *.slo 3 | *.lo 4 | *.o 5 | *.a 6 | *.la 7 | *.lai 8 | *.so 9 | *.dll 10 | *.dylib 11 | 12 | # Qt-es 13 | object_script.*.Release 14 | object_script.*.Debug 15 | *_plugin_import.cpp 16 | /.qmake.cache 17 | /.qmake.stash 18 | *.pro.user 19 | *.pro.user.* 20 | *.qbs.user 21 | *.qbs.user.* 22 | *.moc 23 | moc_*.cpp 24 | moc_*.h 25 | qrc_*.cpp 26 | ui_*.h 27 | *.qmlc 28 | *.jsc 29 | Makefile* 30 | *build-* 31 | 32 | # Qt unit tests 33 | target_wrapper.* 34 | 35 | # QtCreator 36 | *.autosave 37 | 38 | # QtCreator Qml 39 | *.qmlproject.user 40 | *.qmlproject.user.* 41 | 42 | # QtCreator CMake 43 | CMakeLists.txt.user* 44 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "qtjsonserializer"] 2 | path = qtjsonserializer 3 | url = ../QtJsonSerializer.git 4 | [submodule "qtrestclient"] 5 | path = qtrestclient 6 | url = ../QtRestClient.git 7 | [submodule "qtdatasync"] 8 | path = qtdatasync 9 | url = ../QtDataSync.git 10 | [submodule "qtautoupdater"] 11 | path = qtautoupdater 12 | url = ../QtAutoUpdater.git 13 | [submodule "qtservice"] 14 | path = qtservice 15 | url = ../QtService.git 16 | [submodule "qtmvvm"] 17 | path = qtmvvm 18 | url = ../QtMvvm.git 19 | [submodule "qtapng"] 20 | path = qtapng 21 | url = ../QtApng.git 22 | [submodule "qtmodules-travis"] 23 | path = qtmodules-travis 24 | url = ../QtModules.git 25 | -------------------------------------------------------------------------------- /appveyor-deploy.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal 3 | 4 | if "%PLATFORM%" == "msvc2015_64" set LTS_MODS=qtjsonserializer qtrestclient qtmvvm qtautoupdater qtapng 5 | if "%PLATFORM%" == "winrt_x64_msvc2017" set LTS_MODS=qtjsonserializer qtrestclient qtservice qtdatasync qtmvvm qtapng 6 | if "%PLATFORM%" == "winrt_x86_msvc2017" set LTS_MODS=qtjsonserializer qtrestclient qtservice qtdatasync qtmvvm qtapng 7 | if "%PLATFORM%" == "winrt_armv7_msvc2017" set LTS_MODS=qtjsonserializer qtrestclient qtservice qtdatasync qtmvvm qtapng 8 | 9 | mkdir install 10 | for %%m in (%LTS_MODS%) do ( 11 | set TARGET_NAME=%%m 12 | mkdir install\%%m 13 | cd %%m 14 | echo Packaging %%m ... 15 | call .\qtmodules-travis\ci\win\upload-prepare.bat || exit /B 1 16 | xcopy /e /s /i install\*.zip ..\install\ || exit /B 1 17 | cd .. 18 | ) 19 | 20 | cd install 21 | dir 22 | -------------------------------------------------------------------------------- /appveyor-build.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | if "%PLATFORM%" == "msvc2015_64" set LTS_MODS=qtjsonserializer qtrestclient qtmvvm qtautoupdater qtapng 4 | if "%PLATFORM%" == "winrt_x64_msvc2017" set LTS_MODS=qtjsonserializer qtrestclient qtservice qtdatasync qtmvvm qtapng 5 | if "%PLATFORM%" == "winrt_x86_msvc2017" set LTS_MODS=qtjsonserializer qtrestclient qtservice qtdatasync qtmvvm qtapng 6 | if "%PLATFORM%" == "winrt_armv7_msvc2017" set LTS_MODS=qtjsonserializer qtrestclient qtservice qtdatasync qtmvvm qtapng 7 | 8 | setlocal 9 | for %%m in (%LTS_MODS%) do ( 10 | set TARGET_NAME=%%m 11 | :: prepare install dir link 12 | mklink /D C:\projects\%%m C:\projects\qtmodules-lts\%%m 13 | 14 | cd %%m 15 | :: copy over ci + build 16 | mklink /D qtmodules-travis ..\qtmodules-travis 17 | echo Building %%m ... 18 | call .\qtmodules-travis\ci\win\build.bat || exit /B 1 19 | :: copy install stuff into qt install 20 | xcopy /e /s /i install\* C:\ || exit /B 1 21 | cd .. 22 | ) 23 | -------------------------------------------------------------------------------- /travis-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | if [ -n "$DOWNLOAD_MODS" ]; then 5 | for mod in $DOWNLOAD_MODS; do 6 | curl -Lo "/tmp/${mod}.tar.xz" "https://github.com/Skycoder42/QtModules-LTS/releases/download/${QT_VER}-lts/${mod}_${PLATFORM}_${QT_VER}.tar.xz" 7 | sudo tar xf "/tmp/${mod}.tar.xz" -C "/opt/qt/${QT_VER}/" 8 | done 9 | fi 10 | 11 | if [ "$TRAVIS_OS_NAME" == "linux" ]; then 12 | # inject code to keep qt mods over each image 13 | buildFile=qtmodules-travis/ci/$TRAVIS_OS_NAME/build-docker.sh 14 | mv $buildFile /tmp/build-docker.sh 15 | echo '#!/bin/bash' > $buildFile 16 | echo 'set -e' >> $buildFile 17 | echo 'cp -Rp ./qtmods/* /' >> $buildFile 18 | cat /tmp/build-docker.sh >> $buildFile 19 | chmod +x $buildFile 20 | 21 | mkdir qtmods 22 | touch qtmods/dummy 23 | 24 | for mod in $LTS_MODS; do 25 | # disable qtapng docs 26 | if [ "$mod" == "qtapng" ]; then 27 | echo "disabeling docs!" 28 | export BUILD_DOC= 29 | fi 30 | 31 | export TARGET_NAME=$mod 32 | pushd $mod 33 | cp -Rp ../qtmodules-travis qtmodules-travis 34 | cp -Rp ../qtmods qtmods 35 | echo Building $mod... 36 | ./qtmodules-travis/ci/$TRAVIS_OS_NAME/build.sh 37 | cp -Rp install/* ../qtmods/ 38 | popd 39 | done 40 | else 41 | for mod in $LTS_MODS; do 42 | export TARGET_NAME=$mod 43 | pushd $mod 44 | ln -s ../qtmodules-travis qtmodules-travis 45 | echo Building $mod... 46 | ./qtmodules-travis/ci/$TRAVIS_OS_NAME/build.sh 47 | sudo cp -Rp install/* / 48 | popd 49 | done 50 | fi 51 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2018, Felix Barz 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | image: 2 | - Visual Studio 2017 3 | - Visual Studio 2015 4 | 5 | version: build-{build} 6 | 7 | environment: 8 | QT_VER: 5.12.7 9 | IS_LTS: true 10 | NO_TESTS: true 11 | LTS_MODS: qtjsonserializer qtrestclient qtservice qtdatasync qtmvvm qtautoupdater qtapng 12 | 13 | matrix: 14 | - PLATFORM: msvc2017_64 15 | - PLATFORM: msvc2017 16 | - PLATFORM: mingw73_64 17 | - PLATFORM: mingw73_32 18 | - PLATFORM: winrt_x64_msvc2017 19 | - PLATFORM: winrt_x86_msvc2017 20 | - PLATFORM: winrt_armv7_msvc2017 21 | - PLATFORM: msvc2015_64 22 | 23 | matrix: 24 | exclude: 25 | - PLATFORM: msvc2017_64 26 | image: Visual Studio 2015 27 | - PLATFORM: msvc2017 28 | image: Visual Studio 2015 29 | - PLATFORM: mingw73_64 30 | image: Visual Studio 2015 31 | - PLATFORM: mingw73_32 32 | image: Visual Studio 2015 33 | - PLATFORM: winrt_x64_msvc2017 34 | image: Visual Studio 2015 35 | - PLATFORM: winrt_x86_msvc2017 36 | image: Visual Studio 2015 37 | - PLATFORM: winrt_armv7_msvc2017 38 | image: Visual Studio 2015 39 | - PLATFORM: msvc2015_64 40 | image: Visual Studio 2017 41 | 42 | install: 43 | - git submodule update --init --recursive 44 | - .\qtmodules-travis\ci\win\setup.bat 45 | 46 | build_script: 47 | - .\appveyor-build.bat 48 | 49 | after_build: 50 | - .\appveyor-deploy.bat 51 | 52 | artifacts: 53 | - path: install\*_*_%QT_VER%.zip 54 | 55 | deploy: 56 | provider: GitHub 57 | auth_token: 58 | secure: Cp5GRQku2ZWnKPE12NB5q11ZO0Fr5mlzdUTjnLpYJr/dki4LPVqm231edFggogy8 59 | artifact: /.*\.zip/ 60 | force_update: false 61 | on: 62 | appveyor_repo_tag: true 63 | 64 | cache: 65 | - 'C:\Users\appveyor\AppData\Local\qdep\qdep\Cache -> appveyor.yml' 66 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | 3 | services: 4 | - docker 5 | 6 | sudo: required 7 | dist: trusty 8 | osx_image: xcode10.3 9 | 10 | env: 11 | global: 12 | - QDEP_CACHE_DIR=$HOME/.qdep-cache 13 | - QT_VER=5.12.7 14 | - DOCKER_IMAGE=lts 15 | - IS_LTS=true 16 | - NO_TESTS=true 17 | - LTS_MODS_DESKTOP="qtjsonserializer qtrestclient qtservice qtdatasync qtmvvm qtautoupdater qtapng" # build qtapng last because it disables the docs 18 | - LTS_MODS_MOBILE1="qtjsonserializer qtservice qtdatasync" 19 | - LTS_MODS_MOBILE2="qtrestclient qtmvvm qtapng" 20 | - LTS_MODS_MOBILE="$LTS_MODS_MOBILE1 $LTS_MODS_MOBILE2" 21 | 22 | matrix: 23 | include: 24 | - os: linux 25 | env: 26 | - PLATFORM=gcc_64 27 | - LTS_MODS=$LTS_MODS_DESKTOP 28 | - BUILD_DOC=true 29 | - BUILD_EXAMPLES=true 30 | - os: linux 31 | env: 32 | - PLATFORM=android_arm64_v8a 33 | - LTS_MODS=$LTS_MODS_MOBILE 34 | - os: linux 35 | env: 36 | - PLATFORM=android_armv7 37 | - LTS_MODS=$LTS_MODS_MOBILE 38 | - os: linux 39 | env: 40 | - PLATFORM=android_x86 41 | - LTS_MODS=$LTS_MODS_MOBILE 42 | - os: osx 43 | env: 44 | - PLATFORM=clang_64 45 | - LTS_MODS=$LTS_MODS_DESKTOP 46 | - os: osx 47 | env: 48 | - PLATFORM=ios 49 | - LTS_MODS=$LTS_MODS_MOBILE1 50 | - os: osx 51 | env: 52 | - PLATFORM=ios 53 | - LTS_MODS=$LTS_MODS_MOBILE2 54 | - DOWNLOAD_MODS=$LTS_MODS_MOBILE1 55 | 56 | before_install: 57 | - travis_wait 40 ./qtmodules-travis/ci/$TRAVIS_OS_NAME/setup.sh 58 | 59 | script: 60 | - ./travis-build.sh 61 | 62 | before_deploy: 63 | - ./travis-deploy.sh 64 | deploy: 65 | provider: releases 66 | skip_cleanup: true 67 | api_key: 68 | secure: EVJOmAKEPL3iCm8iPpwj5w8bsNK5b8gxKIXKfoLTCZ3Isvezr7ZH5MFWZ2PbItZ+JiKcXtQpp6ZN0xXPLHLzoXtWyqMTtwrZIepyVKjlFW/smcfYiTBuaw6onUGxK6TmQvfi9JSOlX25thF+Hle+XkwcGKS1VzL6qVhx5TSzmsyw7XPb693OkfF69Dj5ImT+Y9gCdIlBReViRELIkm4uV/l4XdSAa2Ig29uh+y5uznTZ7S8kvtVPmukzjQaHaz1LgMtECEJVMksruEC2tSuNUei3O5LOXhMhMLArxsYtkK9SH+P0FcDQUQnVJd+uCyghTKJmOerF4y96Ewnj7PMDvoFpOY9ac8k6BdoREOGOF+x7nS2aFPVgXcu4IfJYOZCqQbIc8sZWNN8VYAZHUBpBwGPKF/nNzGdpCHddKz/XCFKs5C0hsHuqwhXJGzjYLZghUuy+J20fd4V7mdUrslppWlT/MiPyFUrrKb5q9hhlzn9DZinn5o/kzpgMcj8NxdtPhTrF2RqcPEUyXoeW+1VvJX/tTPH1g1e1wMk1eR7TX+Dcj5V0kaCgG0rW0Ki8f8vDTjLWUIE48MXdiBiRQhXwbniesX4ppqOOoY6RA0mamc7asesbCt+AmZxfKM64hML2n+k3K9KfV4gF/qpymWZqNElfugudWE27SwA54Dy1QfY= 69 | file_glob: true 70 | file: install/*_*_$QT_VER.tar.xz 71 | on: 72 | repo: Skycoder42/QtModules-LTS 73 | tags: true 74 | 75 | before_cache: 76 | - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock 77 | - rm -rf $HOME/.gradle/caches/*/plugin-resolution/ 78 | cache: 79 | directories: 80 | - $HOME/.gradle/caches/ 81 | - $HOME/.gradle/wrapper/ 82 | - $HOME/.android/build-cache 83 | - $QDEP_CACHE_DIR 84 | --------------------------------------------------------------------------------