c – 适用于Qt app的CI:使用不同的Qt版本构建
发布时间:2020-12-16 05:03:25 所属栏目:百科 来源:网络整理
导读:我使用Travis-CI为我的简单Qt应用程序进行持续集成.我的.travis.yml文件看起来像这样(基于 this gist): language: cppbefore_install: - sudo add-apt-repository --yes ppa:ubuntu-sdk-team/ppa - sudo apt-get update -qq - sudo apt-get install -qq g++
我使用Travis-CI为我的简单Qt应用程序进行持续集成.我的.travis.yml文件看起来像这样(基于
this gist):
language: cpp before_install: - sudo add-apt-repository --yes ppa:ubuntu-sdk-team/ppa - sudo apt-get update -qq - sudo apt-get install -qq g++ qt4-qmake libqt4-dev qt5-qmake qtbase5-dev script: - qmake -qt=qt4 -v - qmake -qt=qt4 - make - make -k check - make clean - qmake -qt=qt5 -v - qmake -qt=qt5 - make - make -k check 这个配置允许我在Ubuntu(Qt 4.8.1和Qt 5.0.2)中使用默认的Qt库构建我的应用程序(并运行测试). 有没有办法用其他Qt版本(4.7.x,4.8.x,5.1.x等)构建应用程序? 解决方法
灵感来自
AlexandreP答案和
.travis.yml file of Twofold-Qt project,非常感谢
Stephan Binner.
language: cpp matrix: include: - os: linux dist: trusty sudo: required compiler: gcc env: - QT_BASE=48 - os: linux dist: trusty sudo: required compiler: gcc env: - QT_BASE=51 - os: linux dist: trusty sudo: required compiler: gcc env: - QT_BASE=52 - os: linux dist: trusty sudo: required compiler: gcc env: - QT_BASE=53 - os: linux dist: trusty sudo: required compiler: gcc env: - QT_BASE=54 - os: linux dist: trusty sudo: required compiler: gcc env: - QT_BASE=55 - os: osx compiler: clang env: - QT_BASE=55 - os: linux dist: trusty sudo: required compiler: gcc env: - QT_BASE=56 - os: linux dist: trusty sudo: required compiler: gcc env: - QT_BASE=57 - os: osx compiler: clang env: - QT_BASE=57 before_install: - if [ "$QT_BASE" = "48" ]; then sudo add-apt-repository ppa:beineri/opt-qt487-trusty -y; fi - if [ "$QT_BASE" = "51" ]; then sudo add-apt-repository ppa:beineri/opt-qt511-trusty -y; fi - if [ "$QT_BASE" = "52" ]; then sudo add-apt-repository ppa:beineri/opt-qt521-trusty -y; fi - if [ "$QT_BASE" = "53" ]; then sudo add-apt-repository ppa:beineri/opt-qt532-trusty -y; fi - if [ "$QT_BASE" = "54" ]; then sudo add-apt-repository ppa:beineri/opt-qt542-trusty -y; fi - if [[ "$QT_BASE" = "55" && "$TRAVIS_OS_NAME" = "linux" ]]; then sudo add-apt-repository ppa:beineri/opt-qt551-trusty -y; fi - if [ "$QT_BASE" = "56" ]; then sudo add-apt-repository ppa:beineri/opt-qt562-trusty -y; fi - if [[ "$QT_BASE" = "57" && "$TRAVIS_OS_NAME" = "linux" ]]; then sudo add-apt-repository ppa:beineri/opt-qt571-trusty -y; fi - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get update -qq; else brew update; fi install: - if [ "$QT_BASE" = "48" ]; then sudo apt-get install -qq opt-qt4-qmake opt-qt4-dev-tools; source /opt/qt-4.8/bin/qt-4.8-env.sh; fi - if [ "$QT_BASE" = "51" ]; then sudo apt-get install -qq qt51base; source /opt/qt51/bin/qt51-env.sh; fi - if [ "$QT_BASE" = "52" ]; then sudo apt-get install -qq qt52base; source /opt/qt52/bin/qt52-env.sh; fi - if [ "$QT_BASE" = "53" ]; then sudo apt-get install -qq qt53base; source /opt/qt53/bin/qt53-env.sh; fi - if [ "$QT_BASE" = "54" ]; then sudo apt-get install -qq qt54base; source /opt/qt54/bin/qt54-env.sh; fi - if [ "$QT_BASE" = "55" ]; then if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get install -qq qt55base; source /opt/qt55/bin/qt55-env.sh; else brew install qt55; brew link --force qt55; fi fi - if [ "$QT_BASE" = "56" ]; then sudo apt-get install -qq qt56base; source /opt/qt56/bin/qt56-env.sh; fi - if [ "$QT_BASE" = "57" ]; then if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get install -qq qt57base; source /opt/qt57/bin/qt57-env.sh; else brew install qt5; brew link --force qt5; fi fi script: - qmake -v - qmake -r - make notifications: email: false 使用此.travis.yml,您将获得10个单独的构建作业 – 矩阵部分中的元素数量.每个构建作业都将安装指定的Qt版本,并将其用于Ubuntu中的应用程序构建,Qt 4.8 – 5.7和OS X,Qt 5.5和5.7(或最新版本). 如果您要为Windows构建应用程序,可以尝试AppVeyor CI服务.配置示例(Qt 5.3 – 5.7): version: '{build}' init: - git config --global core.autocrlf input environment: matrix: - QT5: C:Qt5.3mingw482_32 MINGW: C:QtToolsmingw482_32 - QT5: C:Qt5.4mingw491_32 MINGW: C:QtToolsmingw491_32 - QT5: C:Qt5.5mingw492_32 MINGW: C:QtToolsmingw492_32 - QT5: C:Qt5.6mingw49_32 MINGW: C:QtToolsmingw492_32 - QT5: C:Qt5.7mingw53_32 MINGW: C:QtToolsmingw530_32 matrix: fast_finish: true before_build: - set PATH=%MINGW%bin;%QT5%bin;%PATH% build_script: - qmake -v - qmake -r - mingw32-make 我在我的项目中使用这些配置 – qtcsv.查看更新和构建日志. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |