avatar
Konstantin Vlasov has added 65da7aef66
Updated deployment instructions
  1. Updated tools to MSVC 2015U3, Qt 5.6.1.
  2. Fixed compile errors with MSVC 2015.
  3. Various other documentation fixes.
view file @ 65da7aef66
... ... --- a/RosaImageWriter.pro
... ... +++ b/RosaImageWriter.pro
... ... @@ -78,6 +78,10 @@ win32 {
78 78
	CONFIG -= embed_manifest_dll embed_manifest_exe
79 79
	msvc {
80 80
		LIBS += Ole32.lib OleAut32.lib
81
		QMAKE_CXXFLAGS -= -Zc:strictStrings
82
		QMAKE_CXXFLAGS_RELEASE -= -Zc:strictStrings
83
		QMAKE_CFLAGS -= -Zc:strictStrings
84
		QMAKE_CFLAGS_RELEASE -= -Zc:strictStrings
81 85
	}
82 86
	mingw {
83 87
		QMAKE_CXXFLAGS += -std=gnu++11
view file @ 65da7aef66
... ... --- a/doc/DEPLOY.html
... ... +++ b/doc/DEPLOY.html
... ... @@ -53,27 +53,27 @@
53 53
<p>However, some actions may differ depending on the operating system you are working with. Refer to one of the following sections for details.</p>
54 54
55 55
<h2>Windows</h2>
56
<p>This scenario was tested under Windows 7 SP1 Pro x64, using SDK from Microsoft Visual Studio 2013 Community Edition Update 4.</p>
56
<p>This scenario was tested under Windows 7 SP1 Pro x64, using SDK from Microsoft Visual Studio 2015 Community Edition Update 3.</p>
57 57
<h3>Configuring and building Qt</h3>
58 58
<p>Here we suppose that the following paths are used:</p>
59 59
<table class="collapsed">
60
  <tr><td>Qt sources:</td><td class="code">C:\Programs\Qt-static\5.4.1-src\</td></tr>
61
  <tr><td>Qt build directory:</td><td class="code">C:\Programs\Qt-static\5.4.1-build\</td></tr>
62
  <tr><td>Qt installation directory:</td><td class="code">C:\Programs\Qt-static\5.4.1\</td></tr>
60
  <tr><td>Qt sources:</td><td class="code">C:\Programs\Qt-static\5.6.1-src\</td></tr>
61
  <tr><td>Qt build directory:</td><td class="code">C:\Programs\Qt-static\5.6.1-build\</td></tr>
62
  <tr><td>Qt installation directory:</td><td class="code">C:\Programs\Qt-static\5.6.1\</td></tr>
63 63
</table>
64 64
<p>From further on we will omit the prefix <code>C:\Programs\Qt-static\</code>.</p>
65 65
<ol>
66
  <li>For static build, special compiler flags are recommended (otherwise, the binary will require <code>msvcrNNN.dll</code> and <code>msvcpNNN.dll</code> which may not be present on all systems). Open the file <code>5.4.1-src\qtbase\mkspecs\win32-msvc2013\qmake.conf</code> and replace the <code>-MD</code> and <code>-MDd</code> flags with <code>-MT</code> and <code>-MTd</code>, respectively (there should be 3 instances). If you are using different version of Visual Studio/SDK, use the file from the correct toolchain subdirectory (e.g. <code>win32-msvc2010</code> for VS2010).</li>
67
  <li>Open the 32-bit SDK command prompt, change directory to <code>5.4.1-build\</code>.</li>
66
  <!--li>Since Qt 5.5 there is a configure option -static-runtime which makes msvcrt linked statically. For the former Qt versions, special compiler flags are required for that (otherwise, the binary will require <code>msvcrNNN.dll</code> and <code>msvcpNNN.dll</code> which may not be present on all systems). Open the file <code>5.x.y-src\qtbase\mkspecs\win32-msvc2013\qmake.conf</code> and replace the <code>-MD</code> and <code>-MDd</code> flags with <code>-MT</code> and <code>-MTd</code>, respectively (there should be 3 instances). If you are using different version of Visual Studio/SDK, use the file from the correct toolchain subdirectory (e.g. <code>win32-msvc2010</code> for VS2010).</li-->
67
  <li>Open the 32-bit SDK command prompt, change directory to <code>5.6.1-build\</code>.</li>
68 68
  <li>
69 69
    Configure the Qt. For decreasing RIW executable size and speed up Qt build process, we recommend to turn off all unused features and modules. The following command can be used:<br/>
70
    <div class="code">..\5.4.1-src\configure -prefix C:\Programs\Qt-static\5.4.1 -opensource -confirm-license -release -static -target xp -qmake -gui -widgets -accessibility -no-angle -no-audio-backend -no-dbus -no-direct2d -no-directwrite -no-evdev -no-eventfd -no-fontconfig -no-freetype -no-gif -no-harfbuzz -no-iconv -no-icu -no-inotify -largefile -no-libjpeg -qt-libpng -mp -no-mtdev -no-native-gestures -no-nis -no-opengl -no-openssl -no-openvg -qt-pcre -no-plugin-manifests -no-qml-debug -qreal double -rtti -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-sql-tds -no-ssl -strip -no-style-fusion -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -no-system-proxies -no-use-gold-linker -warnings-are-errors -no-wmf-backend -qt-zlib -nomake examples -nomake tests -skip declarative -skip qtactiveqt -skip qtandroidextras -skip qtconnectivity -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtscript -skip qtscript -skip qtsensors -skip qtserialport -skip qtwebchannel -skip quick1 -skip quickcontrols -skip wayland -skip webkit -skip webkit-examples -skip websockets -skip qtx11extras</div>
70
    <div class="code">..\5.6.1-src\configure -prefix C:\Programs\Qt-static\5.6.1 -opensource -confirm-license -release -static -static-runtime -target xp -qmake -gui -widgets -accessibility -no-angle -no-audio-backend -no-dbus -no-direct2d -no-directwrite -no-evdev -no-eventfd -no-fontconfig -no-freetype -no-gif -no-harfbuzz -no-iconv -no-icu -no-inotify -largefile -no-libjpeg -qt-libpng -mp -no-mtdev -no-native-gestures -no-nis -no-opengl -no-openssl -no-openvg -qt-pcre -no-plugin-manifests -no-qml-debug -qreal double -rtti -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-sql-tds -no-ssl -strip -no-style-fusion -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -no-system-proxies -no-use-gold-linker -warnings-are-errors -no-wmf-backend -qt-zlib -nomake examples -nomake tests -skip qtactiveqt -skip qtandroidextras -skip qtconnectivity -skip qtdeclarative -skip qtdoc -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtquickcontrols -skip qtquickcontrols2 -skip qtscript -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtx11extras -skip qtxmlpatterns</div>
71 71
  </li>
72 72
  <li>When configuring completes, check carefully the status information. Particularly, make sure that correct toolchain is used, otherwise you'll have to specify the toolchain manually (using the <code>QMAKESPEC</code> variable) and reconfigure Qt.</li>
73 73
  <li>Now run <code>nmake</code> and then <code>nmake install</code>.</li>
74 74
  <li>
75 75
    Add Qt binaries path to the environment variable PATH:<br/>
76
    <div class="code">set PATH=C:\Programs\Qt-static\5.4.1\bin;%PATH%</div>
76
    <div class="code">set PATH=C:\Programs\Qt-static\5.6.1\bin;%PATH%</div>
77 77
  </li>
78 78
</ol>
79 79
<h3>Building RIW</h3>
... ... @@ -97,13 +97,13 @@
97 97
      copy ..\doc\README.html pkg\RosaImageWriter\<br/>
98 98
      copy ..\doc\LICENSE.html pkg\RosaImageWriter\<br/>
99 99
      copy ..\lang\*.qm pkg\RosaImageWriter\lang\<br/>
100
      copy C:\Programs\Qt-static\5.4.1\translations\qtbase_ru.qm pkg\RosaImageWriter\lang\<br/>
101
      copy C:\Programs\Qt-static\5.4.1\translations\qtbase_de.qm pkg\RosaImageWriter\lang\<br/>
102
      copy C:\Programs\Qt-static\5.4.1\translations\qt_fr.qm pkg\RosaImageWriter\lang\<br/>
100
      copy C:\Programs\Qt-static\5.6.1\translations\qtbase_ru.qm pkg\RosaImageWriter\lang\<br/>
101
      copy C:\Programs\Qt-static\5.6.1\translations\qtbase_de.qm pkg\RosaImageWriter\lang\<br/>
102
      copy C:\Programs\Qt-static\5.6.1\translations\qtbase_fr.qm pkg\RosaImageWriter\lang\<br/>
103 103
      cd pkg<br/>
104 104
      7z a RosaImageWriter-win.zip RosaImageWriter
105 105
    </div><br/>
106
    Please, keep in mind that if new RIW translations appear, the commands given above should be amended to also include Qt translations on the same languages. Besides, if Qt translation files become split or combined you should take the appropriate files (like <code>qt_fr.qm</code> for French, but <code>qtbase_ru.qm</code> for Russian).<br/>
106
    Please, keep in mind that if new RIW translations appear, the commands given above should be amended to also include Qt translations on the same languages. If translation is split into separate files you need only the <code>qtbase_xx.qm</code> file, otherwise get the main <code>qt_xx.qm</code> file.<br/>
107 107
    The last command uses 7-Zip archiver to create ZIP archive; you can use any other tool for that purpose. ZIP format is recommended for distributing the application: though it is not the best one in terms of compression, it's supported by all decompressors and even by Windows itself, so users will have no trouble unpacking it.
108 108
  </li>
109 109
  <li>The file <code>RosaImageWriter-win.zip</code> is ready for publishing.</li>
... ... @@ -114,9 +114,9 @@
114 114
<h3>Configuring and building Qt</h3>
115 115
<p>Here we suppose that the following paths are used:</p>
116 116
<table class="collapsed">
117
  <tr><td>Qt sources:</td><td class="code">~/Qt-static/5.4.1-src/</td></tr>
118
  <tr><td>Qt build directory:</td><td class="code">~/Qt-static/5.4.1-build/</td></tr>
119
  <tr><td>Qt installation directory:</td><td class="code">~/Qt-static/5.4.1/</td></tr>
117
  <tr><td>Qt sources:</td><td class="code">~/Qt-static/5.6.1-src/</td></tr>
118
  <tr><td>Qt build directory:</td><td class="code">~/Qt-static/5.6.1-build/</td></tr>
119
  <tr><td>Qt installation directory:</td><td class="code">~/Qt-static/5.6.1/</td></tr>
120 120
</table>
121 121
<p>From further on we will omit the prefix <code>~/Qt-static/</code>.</p>
122 122
<ol>
... ... @@ -126,23 +126,23 @@
126 126
      <li>Some debug information remains in the executables even with debug options turned off and executable stripped.</li>
127 127
      <li><code>libstdc++</code> library uses symbol versions massively. So, the executable we get may not run on a different operating system because of the version mismatch. If you want to avoid this you can use static linking for <code>libstdc++</code>. Of course, you'll need a static version of it (e.g. in ROSA the package <code>libstdc++-static-devel</code> or <code>lib64stdc++-static-devel</code> should be installed).</li>
128 128
    </ul>
129
    To fix these two issues, open the file <code>5.4.1-src/qtbase/mkspecs/linux-g++/qmake.conf</code> and add the following directives to the end of the file:<br/>
129
    To fix these two issues, open the file <code>5.6.1-src/qtbase/mkspecs/linux-g++/qmake.conf</code> and add the following directives to the end of the file:<br/>
130 130
    <div class="code">
131 131
      QMAKE_CFLAGS += -fno-asynchronous-unwind-tables<br/>
132 132
      QMAKE_CXXFLAGS += -fno-asynchronous-unwind-tables<br/>
133 133
      QMAKE_LFLAGS += -static-libstdc++
134 134
    </div>
135 135
  </li>
136
  <li>Now, open terminal, change directory to <code>5.4.1-build/</code>.</li>
136
  <li>Now, open terminal, change directory to <code>5.6.1-build/</code>.</li>
137 137
  <li>
138 138
    Configure the Qt. For decreasing RIW executable size and speed up Qt build process, we recommend to turn off all unused features and modules. The following command can be used:<br/>
139
    <div class="code">../5.4.1-src/configure -prefix ~/Qt-static/5.4.1 -opensource -confirm-license -release -static -optimized-qmake -gui -widgets -accessibility -no-alsa -no-cups -no-dbus -no-directfb -no-eglfs -no-evdev -fontconfig -qt-freetype -no-gif -no-glib -no-gtkstyle -qt-harfbuzz -no-iconv -no-icu -no-journald -no-kms -largefile -no-libjpeg -qt-libpng -no-linuxfb -no-mtdev -no-nis -no-opengl -no-openssl -no-pch -qt-pcre -no-pkg-config -no-pulseaudio -no-qml-debug -qreal double -reduce-relocations -no-rpath -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-sql-tds -strip -no-system-proxies -use-gold-linker -no-warnings-are-errors -xcb -qt-xcb -no-xcb-xlib -xinput2 -qt-xkbcommon -qt-zlib -nomake examples -nomake tests -skip declarative -skip qtactiveqt -skip qtandroidextras -skip qtconnectivity -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtscript -skip qtscript -skip qtsensors -skip qtserialport -skip qtwebchannel -skip quick1 -skip quickcontrols -skip wayland -skip webkit -skip webkit-examples -skip websockets -skip qtwinextras -no-libudev</div>
139
    <div class="code">../5.6.1-src/configure -prefix ~/Qt-static/5.6.1 -opensource -confirm-license -release -static -optimized-qmake -gui -widgets -accessibility -no-alsa -no-cups -no-dbus -no-directfb -no-eglfs -no-evdev -fontconfig -qt-freetype -no-gif -no-glib -no-gtkstyle -qt-harfbuzz -no-iconv -no-icu -no-journald -no-kms -largefile -no-libjpeg -qt-libpng -no-linuxfb -no-mtdev -no-nis -no-opengl -no-openssl -no-pch -qt-pcre -no-pkg-config -no-pulseaudio -no-qml-debug -qreal double -reduce-relocations -no-rpath -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-sql-tds -strip -no-system-proxies -use-gold-linker -no-warnings-are-errors -xcb -qt-xcb -no-xcb-xlib -xinput2 -qt-xkbcommon -qt-zlib -nomake examples -nomake tests -skip qtactiveqt -skip qtandroidextras -skip qtconnectivity -skip qtdeclarative -skip qtdoc -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtquickcontrols -skip qtquickcontrols2 -skip qtscript -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwinextras -skip qtxmlpatterns -no-libudev</div>
140 140
  </li>
141 141
  <li>When configuring completes, check carefully the status information. Particularly, make sure that correct toolchain is used, otherwise you'll have to specify the toolchain manually (using the <code>QMAKESPEC</code> variable) and reconfigure Qt.</li>
142 142
  <li>Now run <code>make</code> and then <code>make install</code>.</li>
143 143
  <li>
144 144
    Add Qt binaries path to the environment variable PATH:<br/>
145
    <div class="code">export PATH=~/Qt-static/5.4.1/bin:$PATH</div>
145
    <div class="code">export PATH=~/Qt-static/5.6.1/bin:$PATH</div>
146 146
  </li>
147 147
</ol>
148 148
<h3>Building RIW</h3>
... ... @@ -162,11 +162,11 @@
162 162
    <div class="code">
163 163
      mkdir -p pkg/RosaImageWriter/lang<br/>
164 164
      cp RosaImageWriter ../doc/README.html ../doc/LICENSE.html pkg/RosaImageWriter/<br/>
165
      cp ../lang/*.qm ~/Qt-static/5.4.1/translations/{qtbase_ru,qtbase_de,qt_fr}.qm pkg/RosaImageWriter/lang/<br/>
165
      cp ../lang/*.qm ~/Qt-static/5.6.1/translations/{qtbase_ru,qtbase_de,qtbase_fr}.qm pkg/RosaImageWriter/lang/<br/>
166 166
      cd pkg<br/>
167 167
      tar cJf RosaImageWriter-lin.tar.xz RosaImageWriter
168 168
    </div><br/>
169
    Please, keep in mind that if new RIW translations appear, the commands given above should be amended to also include Qt translations on the same languages. Besides, if Qt translation files become split or combined you should take the appropriate files (like <code>qt_fr.qm</code> for French, but <code>qtbase_ru.qm</code> for Russian).
169
    Please, keep in mind that if new RIW translations appear, the commands given above should be amended to also include Qt translations on the same languages. If translation is split into separate files you need only the <code>qtbase_xx.qm</code> file, otherwise get the main <code>qt_xx.qm</code> file.<br/>
170 170
  </li>
171 171
  <li>The file <code>RosaImageWriter-lin.tar.xz</code> is ready for publishing.</li>
172 172
</ol>
... ... @@ -176,35 +176,35 @@
176 176
<h3>Configuring and building Qt</h3>
177 177
<p>Here we suppose that the following paths are used:</p>
178 178
<table class="collapsed">
179
  <tr><td>Qt sources:</td><td class="code">~/Qt-static/5.4.1-src/</td></tr>
180
  <tr><td>Qt build directory:</td><td class="code">~/Qt-static/5.4.1-build/</td></tr>
181
  <tr><td>Qt installation directory:</td><td class="code">~/Qt-static/5.4.1/</td></tr>
179
  <tr><td>Qt sources:</td><td class="code">~/Qt-static/5.6.1-src/</td></tr>
180
  <tr><td>Qt build directory:</td><td class="code">~/Qt-static/5.6.1-build/</td></tr>
181
  <tr><td>Qt installation directory:</td><td class="code">~/Qt-static/5.6.1/</td></tr>
182 182
</table>
183 183
<p>From further on we will omit the prefix <code>~/Qt-static/</code>.</p>
184 184
<ol>
185 185
  <li>If you installed Xcode first time you need to start it and accept the license agreement. Otherwise command-line build tools will not work.</li>
186
  <li>Open terminal, change directory to <code>5.4.1-build/</code>.</li>
186
  <li>Open terminal, change directory to <code>5.6.1-build/</code>.</li>
187 187
  <li>
188 188
    Configure the Qt. For decreasing RIW executable size and speed up Qt build process, we recommend to turn off all unused features and modules. The following command can be used:<br/>
189
    <div class="code">../5.4.1-src/configure -prefix ~/Qt-static/5.4.1 -opensource -confirm-license -release -static -optimized-qmake -gui -widgets -accessibility -no-alsa -no-cups -no-dbus -no-directfb -no-eglfs -no-evdev -no-fontconfig -no-freetype -no-gif -no-glib -no-gtkstyle -qt-harfbuzz -no-iconv -no-icu -no-journald -no-kms -largefile -no-libjpeg -qt-libpng -no-linuxfb -no-mtdev -no-nis -no-opengl -no-openssl -no-pch -qt-pcre -no-pkg-config -no-pulseaudio -no-qml-debug -qreal double -no-reduce-relocations -no-rpath -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-sql-tds -strip -no-system-proxies -no-use-gold-linker -no-warnings-are-errors -no-xcb -no-xcb-xlib -no-xinput2 -qt-xkbcommon -qt-zlib -nomake examples -nomake tests -skip declarative -skip qtactiveqt -skip qtandroidextras -skip qtconnectivity -skip qtlocation -skip qtmultimedia -skip qtscript -skip qtscript -skip qtsensors -skip qtserialport -skip qtwebchannel -skip quick1 -skip quickcontrols -skip wayland -skip webkit -skip webkit-examples -skip websockets -skip qtwinextras -skip qtx11extras -no-libudev -no-framework</div>
189
    <div class="code">../5.6.1-src/configure -prefix ~/Qt-static/5.6.1 -opensource -confirm-license -release -static -optimized-qmake -gui -widgets -accessibility -no-alsa -no-cups -no-dbus -no-directfb -no-eglfs -no-evdev -no-fontconfig -no-freetype -no-gif -no-glib -no-gtkstyle -qt-harfbuzz -no-iconv -no-icu -no-journald -no-kms -largefile -no-libjpeg -qt-libpng -no-linuxfb -no-mtdev -no-nis -no-opengl -no-openssl -no-pch -qt-pcre -no-pkg-config -no-pulseaudio -no-qml-debug -qreal double -no-reduce-relocations -no-rpath -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-sql-tds -strip -no-system-proxies -no-use-gold-linker -no-warnings-are-errors -no-xcb -no-xcb-xlib -no-xinput2 -qt-xkbcommon -qt-zlib -nomake examples -nomake tests -skip qtactiveqt -skip qtandroidextras -skip qtconnectivity -skip qtdeclarative -skip qtdoc -skip qtlocation -skip qtmultimedia -skip qtquickcontrols -skip qtquickcontrols2 -skip qtscript -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwinextras -skip qtx11extras -skip qtxmlpatterns -no-libudev -no-framework</div>
190 190
  </li>
191 191
  <li>When configuring completes, check carefully the status information.</li>
192 192
  <li>Now run <code>make</code> and then <code>make install</code>.</li>
193 193
  <li>
194 194
    Add Qt binaries path to the environment variable PATH:<br/>
195
    <div class="code">export PATH=~/Qt-static/5.4.1/bin:$PATH</div>
195
    <div class="code">export PATH=~/Qt-static/5.6.1/bin:$PATH</div>
196 196
  </li>
197 197
</ol>
198 198
<h3>Building RIW</h3>
199
<p>Now we can build RIW. Under OS X we have to do it in the sources directory, otherwise the <code>Info.plist</code> for some reason cannot be processed.</p>
199
<p>Now we can build RIW. It is better to do it in a separate subdirectory to avoid polluting the sources with temporary files.</p>
200 200
<ol>
201
  <li>Go to the RIW sources directory.</li>
201
  <li>Create a new directory and go there. Here we suppose that it is subdirectory <code>build/</code> in RIW sources.</li>
202 202
  <li>
203 203
    Run the commands:<br/>
204 204
    <div class="code">
205
      qmake RosaImageWriter.pro<br/>
205
      qmake ../RosaImageWriter.pro<br/>
206 206
      make<br/>
207
      lrelease RosaImageWriter.pro
207
      lrelease ../RosaImageWriter.pro
208 208
    </div>
209 209
  </li>
210 210
  <li>
... ... @@ -213,14 +213,14 @@
213 213
      mkdir pkg<br/>
214 214
      mv RosaImageWriter.app pkg/<br/>
215 215
      mkdir pkg/RosaImageWriter.app/Contents/MacOS/lang<br/>
216
      cp doc/README.html doc/LICENSE.html pkg/<br/>
217
      cp lang/*.qm ~/Qt-static/5.4.1/translations/{qtbase_ru,qtbase_de,qt_fr}.qm pkg/RosaImageWriter.app/Contents/MacOS/lang/<br/>
216
      cp ../doc/README.html ../doc/LICENSE.html pkg/<br/>
217
      cp ../lang/*.qm ~/Qt-static/5.6.1/translations/{qtbase_ru,qtbase_de,qtbase_fr}.qm pkg/RosaImageWriter.app/Contents/MacOS/lang/<br/>
218 218
      hdiutil create -format UDBZ -volname 'ROSA ImageWriter' -scrub -srcfolder pkg/ temp.dmg<br/>
219 219
      hdiutil convert temp.dmg -format UDBZ -o RosaImageWriter-osx.dmg<br/>
220 220
      rm -f temp.dmg
221 221
    </div><br/>
222 222
    (Converting from UDBZ to UDBZ is not required but, though it looks strange, it might decrease the DMG image size by 4%.)<br/>
223
    Please, keep in mind that if new RIW translations appear, the commands given above should be amended to also include Qt translations on the same languages. Besides, if Qt translation files become split or combined you should take the appropriate files (like <code>qt_fr.qm</code> for French, but <code>qtbase_ru.qm</code> for Russian).
223
    Please, keep in mind that if new RIW translations appear, the commands given above should be amended to also include Qt translations on the same languages. If translation is split into separate files you need only the <code>qtbase_xx.qm</code> file, otherwise get the main <code>qt_xx.qm</code> file.<br/>
224 224
  </li>
225 225
  <li>The file <code>RosaImageWriter-osx.dmg</code> is ready for publishing.</li>
226 226
</ol>
... ... @@ -230,7 +230,7 @@ Some outdated command lines from OS X build process (Qt 5.1.0 bundle from offici
230 230
/Users/rosa/Qt5.1.0/5.1.0/clang_64/bin/macdeployqt /Users/rosa/Documents/devel/build-RosaImageWriter-Desktop_Qt_5_1_0_clang_64bit-Release/RosaImageWriter.app
231 231
mkdir /Users/rosa/Documents/devel/build-RosaImageWriter-Desktop_Qt_5_1_0_clang_64bit-Release/RosaImageWriter.app/Contents/MacOS/lang
232 232
/Users/rosa/Qt5.1.0/5.1.0/clang_64/bin/lrelease /Users/rosa/Documents/devel/rosa-image-writer/RosaImageWriter.pro
233
cp /Users/rosa/Qt5.1.0/5.1.0/clang_64/translations/{qtbase_ru.qm,qt_fr.qm} /Users/rosa/Documents/devel/rosa-image-writer/lang/*.qm /Users/rosa/Documents/devel/build-RosaImageWriter-Desktop_Qt_5_1_0_clang_64bit-Release/RosaImageWriter.app/Contents/MacOS/lang/
233
cp /Users/rosa/Qt5.1.0/5.1.0/clang_64/translations/{qtbase_ru.qm,qtbase_fr.qm} /Users/rosa/Documents/devel/rosa-image-writer/lang/*.qm /Users/rosa/Documents/devel/build-RosaImageWriter-Desktop_Qt_5_1_0_clang_64bit-Release/RosaImageWriter.app/Contents/MacOS/lang/
234 234
echo 'Translations = MacOS/lang' >> /Users/rosa/Documents/devel/build-RosaImageWriter-Desktop_Qt_5_1_0_clang_64bit-Release/RosaImageWriter.app/Contents/Resources/qt.conf
235 235
rm -f /Users/rosa/Documents/devel/build-RosaImageWriter-Desktop_Qt_5_1_0_clang_64bit-Release/RosaImageWriter.app/Contents/PlugIns/imageformats/lib{qgif,qjpeg,qmng,qtga,qtiff,qwbmp}.dylib
236 236
rm -rf /Users/rosa/Documents/devel/build-RosaImageWriter-Desktop_Qt_5_1_0_clang_64bit-Release/{temp,temp.dmg,RosaImageWriter.dmg}

Comments