1#!/bin/bash 2# The script builds release version of UGENE in 'ugene' folder 3# and adds all required QT libraries, data files, license files 4# Only 'tools' dir is not added. 5# The result build is located in ugene/src/_release dir. 6 7TEAMCITY_WORK_DIR="$(cygpath -aw .)" 8echo "TEAMCITY_WORK_DIR $TEAMCITY_WORK_DIR" 9 10SOURCE_DIR="${TEAMCITY_WORK_DIR}/ugene" 11BUNDLE_DIR="${TEAMCITY_WORK_DIR}/bundle" 12BUILD_DIR="${SOURCE_DIR}/src/_release" 13 14rm -rf "${BUILD_DIR}" 15 16cd "${SOURCE_DIR}" || { 17 echo "Can't change dir to '${SOURCE_DIR}'" 18 exit 1 19} 20 21echo "##teamcity[blockOpened name='qmake']" 22echo "Running qmake" 23#"${QT_DIR}/bin/qmake.exe" -r ugene.pro || { 24"${QT_DIR}/bin/qmake.exe" -r ugene.pro -tp vc ${UGENE_QMAKE_PARAMS} || { 25 echo "##teamcity[buildStatus status='FAILURE' text='{build.status.text}. qmake failed']" 26 exit 1 27} 28echo "##teamcity[blockClosed name='qmake']" 29 30echo "##teamcity[blockOpened name='nmake/devenv']" 31echo "Running nmake/devenv" 32#nmake Release || { 33devenv ugene.sln /build Release /out "build.log" || { 34 echo "##teamcity[buildStatus status='FAILURE' text='{build.status.text}. nmake/devenv failed']" 35 exit 1 36} 37echo "##teamcity[blockClosed name='nmake/devenv']" 38 39echo "##teamcity[blockOpened name='bundle']" 40rm -rf "${BUNDLE_DIR}" 41cp -r "${BUILD_DIR}" "${BUNDLE_DIR}" 42rm "${BUNDLE_DIR}/"*.lib 43rm "${BUNDLE_DIR}/"*.pdb 44rm "${BUNDLE_DIR}/"*.exp 45rm "${BUNDLE_DIR}/plugins/"*.lib 46rm "${BUNDLE_DIR}/plugins/"*.pdb 47rm "${BUNDLE_DIR}/plugins/"*.exp 48 49echo "Copy resources" 50cp "${SOURCE_DIR}/LICENSE.txt" "${BUNDLE_DIR}" 51cp "${SOURCE_DIR}/LICENSE.3rd_party.txt" "${BUNDLE_DIR}" 52cp -r "${SOURCE_DIR}/data" "${BUNDLE_DIR}" 53cp "${PATH_TO_INCLUDE_LIBS}/"* "${BUNDLE_DIR}" 54 55echo copy Qt libraries 56cp "${QT_DIR}/bin/Qt5Core.dll" "${BUNDLE_DIR}" 57cp "${QT_DIR}/bin/Qt5Gui.dll" "${BUNDLE_DIR}" 58cp "${QT_DIR}/bin/Qt5Multimedia.dll" "${BUNDLE_DIR}" 59cp "${QT_DIR}/bin/Qt5MultimediaWidgets.dll" "${BUNDLE_DIR}" 60cp "${QT_DIR}/bin/Qt5Network.dll" "${BUNDLE_DIR}" 61cp "${QT_DIR}/bin/Qt5OpenGL.dll" "${BUNDLE_DIR}" 62cp "${QT_DIR}/bin/Qt5Positioning.dll" "${BUNDLE_DIR}" 63cp "${QT_DIR}/bin/Qt5PrintSupport.dll" "${BUNDLE_DIR}" 64cp "${QT_DIR}/bin/Qt5Qml.dll" "${BUNDLE_DIR}" 65cp "${QT_DIR}/bin/Qt5Quick.dll" "${BUNDLE_DIR}" 66cp "${QT_DIR}/bin/Qt5Script.dll" "${BUNDLE_DIR}" 67cp "${QT_DIR}/bin/Qt5ScriptTools.dll" "${BUNDLE_DIR}" 68cp "${QT_DIR}/bin/Qt5Sensors.dll" "${BUNDLE_DIR}" 69cp "${QT_DIR}/bin/Qt5Sql.dll" "${BUNDLE_DIR}" 70cp "${QT_DIR}/bin/Qt5Svg.dll" "${BUNDLE_DIR}" 71cp "${QT_DIR}/bin/Qt5Test.dll" "${BUNDLE_DIR}" 72cp "${QT_DIR}/bin/Qt5Widgets.dll" "${BUNDLE_DIR}" 73cp "${QT_DIR}/bin/Qt5Xml.dll" "${BUNDLE_DIR}" 74 75mkdir "${BUNDLE_DIR}/styles" 76cp "${QT_DIR}/plugins/styles/qwindowsvistastyle.dll" "${BUNDLE_DIR}/styles" 77 78mkdir "${BUNDLE_DIR}/sqldrivers" 79cp "${QT_DIR}/plugins/sqldrivers/qsqlmysql.dll" "${BUNDLE_DIR}/sqldrivers" 80 81mkdir "${BUNDLE_DIR}\imageformats" 82cp "${QT_DIR}/plugins/imageformats/qgif.dll" "${BUNDLE_DIR}/imageformats" 83cp "${QT_DIR}/plugins/imageformats/qjpeg.dll" "${BUNDLE_DIR}/imageformats" 84cp "${QT_DIR}/plugins/imageformats/qsvg.dll" "${BUNDLE_DIR}/imageformats" 85cp "${QT_DIR}/plugins/imageformats/qtiff.dll" "${BUNDLE_DIR}/imageformats" 86 87mkdir "${BUNDLE_DIR}/platforms" 88cp "${QT_DIR}/plugins/platforms\qwindows.dll" "${BUNDLE_DIR}/platforms" 89echo "##teamcity[blockClosed name='bundle']" 90