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