Some more documentation updates.

This commit is contained in:
LoRd_MuldeR 2016-01-23 13:54:00 +01:00
parent 1699ed105c
commit 6835b7406e
6 changed files with 67 additions and 17 deletions

View File

@ -91,7 +91,10 @@ document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'" clas'+'s="em' + 'ail">'+e+'<\
<li><a href="#developer-center"><span class="toc-section-number">8</span> Developer Center</a><ul>
<li><a href="#source-code-access"><span class="toc-section-number">8.1</span> Source Code Access</a></li>
<li><a href="#build-prerequisites"><span class="toc-section-number">8.2</span> Build Prerequisites</a></li>
<li><a href="#qt-as-static-libraries"><span class="toc-section-number">8.3</span> Qt as Static Libraries</a></li>
<li><a href="#directory-layout"><span class="toc-section-number">8.3</span> Directory Layout</a></li>
<li><a href="#environment-variables"><span class="toc-section-number">8.4</span> Environment variables</a></li>
<li><a href="#using-the-deployment-script"><span class="toc-section-number">8.5</span> Using the deployment script</a></li>
<li><a href="#qt-as-static-libraries"><span class="toc-section-number">8.6</span> Qt as Static Libraries</a></li>
</ul></li>
<li><a href="#f.a.q.-frequently-asked-questions"><span class="toc-section-number">9</span> F.A.Q. (Frequently Asked Questions)</a><ul>
<li><a href="#q-do-i-have-to-pay-for-using-or-obtaining-lamexp"><span class="toc-section-number">9.1</span> Q: Do I have to pay for using or obtaining LameXP?</a></li>
@ -469,8 +472,9 @@ Exit all running instances of LameXP as quickly as possible, even if that incurs
<h2 id="build-prerequisites"><span class="header-section-number">8.2</span> Build Prerequisites</h2>
<p>LameXP is currently being developed and built using the following development tools and libraries:</p>
<ul>
<li><p><a href="https://www.visualstudio.com/">Visual Studio 2015 Update-1</a>, running on Windows 7 with Service Pack 1</p></li>
<li><p><a href="https://www.visualstudio.com/">Visual Studio 2015 Update-1</a>, running on Windows 10 x64 (v1511)</p></li>
<li><p><a href="http://download.qt.io/archive/qt/4.8/">Qt libraries 4.8.7</a> for Windows (our <em>pre-compiled</em> Qt libraries for Visual Studio 2015 can be found <a href="http://sourceforge.net/projects/lamexp/files/Miscellaneous/Qt%20Libraries/"><strong>here</strong></a>)</p></li>
<li><p><a href="https://vld.codeplex.com/">Visual Leak Detector</a>, open-source memory leak detection system for Visual C++</p></li>
<li><p>Windows Platform SDK v7.1A, included with Visual Studio 2015 or Visual Studio 2013</p></li>
<li><p>The minimum supported <em>build</em> platform is Windows 7 (x86 and x64)</p></li>
</ul>
@ -489,13 +493,31 @@ Exit all running instances of LameXP as quickly as possible, even if that incurs
<li><p><a href="http://johnmacfarlane.net/pandoc/">Pandoc</a> the Universal Document Converter</p></li>
<li><p><a href="https://www.gpg4win.de/">GnuPG</a> the GNU Privacy Guard (Gpg4win)</p></li>
</ul>
<h2 id="qt-as-static-libraries"><span class="header-section-number">8.3</span> Qt as Static Libraries</h2>
<h2 id="directory-layout"><span class="header-section-number">8.3</span> Directory Layout</h2>
<p>In order to build LameXP using the provided project/solution files or the provided deployment script, please make sure you have the following directory layout, where <code>&lt;sources_root&gt;</code> is a new/empty directory:</p>
<ul>
<li><code>&lt;sources_root&gt;\LameXP_Qt</code> the <em>LameXP</em> &quot;main&quot; project</li>
<li><code>&lt;sources_root&gt;\Prerequisites</code> prerequisites to build LameXP</li>
<li><code>&lt;sources_root&gt;\MUtilities</code> the <em>MUtilities</em> library</li>
</ul>
<p>The <em>Qt</em> libraries need to be located at the following location, where the <code>&lt;toolset_version&gt;</code> identifies your compiler version (e.g. <code>v140_xp</code> for VS2015) and the <code>&lt;build_type&gt;</code> identifies the build configuration (<code>Shared</code>, <code>Static</code> or <code>Debug</code>):</p>
<ul>
<li><code>&lt;sources_root&gt;\Prerequisites\Qt4\&lt;toolset_version&gt;\&lt;build_type&gt;</code></li>
</ul>
<h2 id="environment-variables"><span class="header-section-number">8.4</span> Environment variables</h2>
<p>In order to build LameXP using the provided project/solution files or the provided deployment script, make sure the following environment variables are configured on your system:</p>
<ul>
<li><code>QTDIR</code> points to your Qt installation directory, such that <code>%QTDIR%\bin\moc.exe</code> and friends exist</li>
</ul>
<h2 id="using-the-deployment-script"><span class="header-section-number">8.5</span> Using the deployment script</h2>
<p>In order to create LameXP release packages, using the included deployment scripts, <strong>copy</strong> the <em>configuration</em> template file <code>buildenv.template.txt</code>, located at <code>&lt;sources_root&gt;\LameXP_Qt\etc\Deployment</code>, to the file <code>buildenv.txt</code> in the <em>same</em> directory. Now edit <em>your</em> <code>buildenv.txt</code> and adjust all the path variables as needed. All paths must be set up correctly, otherwise the build process is going to fail! Once everything has been set up, you can run <code>release.bat</code> or <code>release_static.bat</code> in order to create a new release package.</p>
<h2 id="qt-as-static-libraries"><span class="header-section-number">8.6</span> Qt as Static Libraries</h2>
<p>In order to create a &quot;fully static&quot; build of LameXP, i.e. a build that does <em>not</em> depend on any &quot;external&quot; DLL files (except for the obligatory operating system DLL's that you cannot get around), you'll need to compile Qt as &quot;static&quot; libraries. The official Qt web-site <em>does</em> provide pre-compiled Qt libraries. However, they only provide DLL versions, they do <em>not</em> provide &quot;static&quot; libraries. Consequently, you need to build the required &quot;static&quot; Qt libraries yourself. The following simple instructions should make it easy to build Qt from the sources and as &quot;static&quot; libraries:</p>
<ol>
<li><p>Make sure <em>Visual Studio 2015</em> with Update-1 (or later) is installed</p></li>
<li><p>Make sure <em>Strawberry Perl </em>for Windows and <em>Python 2.7</em> are installed</p></li>
<li><p>Download and extract the <em>Qt 4.8.x</em> source code package (e.g. to <code>C:\QtSources\4.8.x</code>)</p></li>
<li><p>Edit the file <code>mkspecs\win32-msvc2010\qmake.conf</code> from your Qt Sources directory as follows:</p>
<li><p>Edit the <em>qmake</em> configuration file (e.g. <code>mkspecs\win32-msvc2015\qmake.conf</code>) from your Qt Sources directory as follows:</p>
<ul>
<li>Edit #1:
<ul>
@ -526,8 +548,8 @@ Exit all running instances of LameXP as quickly as possible, even if that incurs
<li><code>plugins\imageformats\qsvg.lib</code></li>
<li><code>plugins\imageformats\qtga.lib</code></li>
</ul></li>
<li><p>Put all the static *.lib files into the <code>Prerequisites\qt4_static\lib</code> directory</p></li>
<li><p>ImageFormat plugins go to <code>Prerequisites\qt4_static\plugins\imageformats</code></p></li>
<li><p>Put all the static *.lib files into the <code>&lt;sources_root&gt;\Prerequisites\Qt4\&lt;toolset_version&gt;\Static\lib</code> directory</p></li>
<li><p>ImageFormat plugins go to <code>&lt;sources_root&gt;\Prerequisites\Qt4\&lt;toolset_version&gt;\plugins\imageformats</code></p></li>
<li><p>Congratulations, you should now be prepared to build the <code>Release_Static</code> configuration of LameXP 😊</p></li>
</ol>
<p><em>Note:</em> Static libraries only work with the exactly same compiler (version) they were built with!</p>

View File

@ -606,10 +606,12 @@ The source code of the **MUtilities** library is managed using the [*Git*](http:
LameXP is currently being developed and built using the following development tools and libraries:
* [Visual Studio 2015 Update-1](https://www.visualstudio.com/), running on Windows 7 with Service Pack 1
* [Visual Studio 2015 Update-1](https://www.visualstudio.com/), running on Windows 10 x64 (v1511)
* [Qt libraries 4.8.7](http://download.qt.io/archive/qt/4.8/) for Windows (our *pre-compiled* Qt libraries for Visual Studio 2015 can be found [**here**](http://sourceforge.net/projects/lamexp/files/Miscellaneous/Qt%20Libraries/))
* [Visual Leak Detector](https://vld.codeplex.com/), open-source memory leak detection system for Visual C++
* Windows Platform SDK v7.1A, included with Visual Studio 2015 or Visual Studio 2013
* The minimum supported *build* platform is Windows 7 (x86 and x64)
@ -632,6 +634,31 @@ In order to create LameXP release packages, using the included deployment script
* [GnuPG](https://www.gpg4win.de/) &ndash; the GNU Privacy Guard (Gpg4win)
## Directory Layout
In order to build LameXP using the provided project/solution files or the provided deployment script, please make sure you have the following directory layout, where `<sources_root>` is a new/empty directory:
* `<sources_root>\LameXP_Qt` &ndash; the *LameXP* "main" project
* `<sources_root>\Prerequisites` &ndash; prerequisites to build LameXP
* `<sources_root>\MUtilities` &ndash; the *MUtilities* library
The *Qt* libraries need to be located at the following location, where the `<toolset_version>` identifies your compiler version (e.g. `v140_xp` for VS2015) and the `<build_type>` identifies the build configuration (`Shared`, `Static` or `Debug`):
* `<sources_root>\Prerequisites\Qt4\<toolset_version>\<build_type>`
## Environment variables
In order to build LameXP using the provided project/solution files or the provided deployment script, make sure the following environment variables are configured on your system:
* `QTDIR` &ndash; points to your Qt installation directory, such that `%QTDIR%\bin\moc.exe` and friends exist
## Using the deployment script
In order to create LameXP release packages, using the included deployment scripts, **copy** the *configuration* template file `buildenv.template.txt`, located at `<sources_root>\LameXP_Qt\etc\Deployment`, to the file `buildenv.txt` in the *same* directory. Now edit *your* `buildenv.txt` and adjust all the path variables as needed. All paths must be set up correctly, otherwise the build process is going to fail! Once everything has been set up, you can run `release.bat` or `release_static.bat` in order to create a new release package.
## Qt as Static Libraries ##
In order to create a "fully static" build of LameXP, i.e. a build that does *not* depend on any "external" DLL files (except for the obligatory operating system DLL's that you cannot get around), you'll need to compile Qt as "static" libraries. The official Qt web-site *does* provide pre-compiled Qt libraries. However, they only provide DLL versions, they do *not* provide "static" libraries. Consequently, you need to build the required "static" Qt libraries yourself. The following simple instructions should make it easy to build Qt from the sources and as "static" libraries:
@ -642,7 +669,7 @@ In order to create a "fully static" build of LameXP, i.e. a build that does *not
3. Download and extract the *Qt 4.8.x* source code package (e.g. to ``C:\QtSources\4.8.x``)
4. Edit the file ``mkspecs\win32-msvc2010\qmake.conf`` from your Qt Sources directory as follows:
4. Edit the *qmake* configuration file (e.g. ``mkspecs\win32-msvc2015\qmake.conf``) from your Qt Sources directory as follows:
* Edit #1:
+ &lArr; ``QMAKE_CFLAGS_RELEASE = -O2 -MD``
@ -676,9 +703,9 @@ In order to create a "fully static" build of LameXP, i.e. a build that does *not
+ ``plugins\imageformats\qsvg.lib``
+ ``plugins\imageformats\qtga.lib``
13. Put all the static *.lib files into the ``Prerequisites\qt4_static\lib`` directory
13. Put all the static *.lib files into the `<sources_root>\Prerequisites\Qt4\<toolset_version>\Static\lib` directory
14. ImageFormat plugins go to ``Prerequisites\qt4_static\plugins\imageformats``
14. ImageFormat plugins go to `<sources_root>\Prerequisites\Qt4\<toolset_version>\plugins\imageformats`
15. Congratulations, you should now be prepared to build the ``Release_Static`` configuration of LameXP &#x1f60a;

View File

@ -205,7 +205,7 @@ attrib +R "%OUT_FILE%.exe"
"%~dp0\..\Utilities\CEcho.exe" cyan "Signing output file..."
"%~dp0\..\Utilities\CEcho.exe" cyan "===========================================================================\n"
"%PATH_GNUPG1%\gpg.exe" --detach-sign "%OUT_FILE%.exe"
"%PATH_GPGWIN%\gpg.exe" --detach-sign "%OUT_FILE%.exe"
attrib +R "%OUT_FILE%.exe.sig"
:: ---------------------------------------------------------------------------

View File

@ -17,7 +17,7 @@ set "PATH_MKNSIS="
set "PATH_MSCDIR="
set "PATH_WINSDK="
set "PATH_QTMSVC="
set "PATH_GNUPG1="
set "PATH_GPGWIN="
set "PATH_PANDOC="
set "PATH_VCTOOL="
set "PATH_VCPROJ="
@ -46,7 +46,7 @@ for /f "tokens=2,*" %%s in (%BUILDENV_TXT%) do (
if "%%s"=="PATH_MSCDIR" set "PATH_MSCDIR=%%~t"
if "%%s"=="PATH_WINSDK" set "PATH_WINSDK=%%~t"
if "%%s"=="PATH_QTMSVC" set "PATH_QTMSVC=%%~t"
if "%%s"=="PATH_GNUPG1" set "PATH_GNUPG1=%%~t"
if "%%s"=="PATH_GPGWIN" set "PATH_GPGWIN=%%~t"
if "%%s"=="PATH_PANDOC" set "PATH_PANDOC=%%~t"
if "%%s"=="PATH_VCTOOL" set "PATH_VCTOOL=%%~t"
if "%%s"=="PATH_VCPROJ" set "PATH_VCPROJ=%%~t"
@ -64,7 +64,7 @@ set "BUILDENV_TXT="
"%~dp0\..\Utilities\CEcho.exe" yellow "PATH_MSCDIR = \"%PATH_MSCDIR:\=\\%\""
"%~dp0\..\Utilities\CEcho.exe" yellow "PATH_WINSDK = \"%PATH_WINSDK:\=\\%\""
"%~dp0\..\Utilities\CEcho.exe" yellow "PATH_QTMSVC = \"%PATH_QTMSVC:\=\\%\""
"%~dp0\..\Utilities\CEcho.exe" yellow "PATH_GNUPG1 = \"%PATH_GNUPG1:\=\\%\""
"%~dp0\..\Utilities\CEcho.exe" yellow "PATH_GPGWIN = \"%PATH_GPGWIN:\=\\%\""
"%~dp0\..\Utilities\CEcho.exe" yellow "PATH_PANDOC = \"%PATH_PANDOC:\=\\%\""
"%~dp0\..\Utilities\CEcho.exe" yellow "PATH_VCTOOL = \"%PATH_VCTOOL:\=\\%\""
"%~dp0\..\Utilities\CEcho.exe" yellow "PATH_VCPROJ = \"%PATH_VCPROJ:\=\\%\""
@ -82,7 +82,8 @@ call:validate_path PATH_WINSDK "%PATH_WINSDK%\Redist\ucrt\DLLs\x86\ucrtbase.dll"
call:validate_path PATH_QTMSVC "%PATH_QTMSVC%\bin\uic.exe"
call:validate_path PATH_QTMSVC "%PATH_QTMSVC%\bin\moc.exe"
call:validate_path PATH_QTMSVC "%PATH_QTMSVC%\bin\rcc.exe"
call:validate_path PATH_GNUPG1 "%PATH_GNUPG1%\gpg.exe"
call:validate_path PATH_GPGWIN "%PATH_GPGWIN%\gpg.exe"
call:validate_path PATH_GPGWIN "%PATH_GPGWIN%\gpgv.exe"
call:validate_path PATH_PANDOC "%PATH_PANDOC%\pandoc.exe"
call:validate_path PATH_VCTOOL "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%PATH_VCTOOL%.CRT\msvcp%PATH_VCTOOL%.dll"
call:validate_path PATH_VCPROJ "%~dp0\..\..\%PATH_VCPROJ%"

View File

@ -3,7 +3,7 @@
#define PATH_MSCDIR "C:\Program Files (x86)\Microsoft Visual Studio 14.0"
#define PATH_WINSDK "C:\Program Files (x86)\Windows Kits\10"
#define PATH_QTMSVC "C:\QtSDK\Desktop\Qt\4.8.7"
#define PATH_GNUPG1 "C:\Program Files\GNU\GnuPG\pub"
#define PATH_GPGWIN "C:\Program Files\GNU\GnuPG\pub"
#define PATH_PANDOC "C:\Program Files\Pandoc"
#define PATH_VCTOOL "140"
#define PATH_VCPROJ "LameXP_VS2015.sln"

View File

@ -35,7 +35,7 @@
#define VER_LAMEXP_MINOR_LO 4
#define VER_LAMEXP_TYPE Alpha
#define VER_LAMEXP_PATCH 1
#define VER_LAMEXP_BUILD 1855
#define VER_LAMEXP_BUILD 1856
#define VER_LAMEXP_CONFG 1818
///////////////////////////////////////////////////////////////////////////////