
Installation Notes for Kst 2.0.0 beta 3

*********************************************
Linux
*********************************************
Preliminaries:
1. Download or otherwise install Qt 4.5 or greater.
2. Make sure your QTDIR is set to that Qt installation.
3. Optionally update your ./config.pri (you probably don't need to do this).

Globally installed build/install:
Follow Linux build steps 1-3 (Preliminaries)
4. ./install-kst [release|debug [INSTALL_PREFIX [INSTALL_LIBDIR]]]
5. kst2

Locally installed debug build:
Follow Linux build steps 1-3 (Preliminaries)
4. ./build-kst 
5. ./run-kst
kst2 will be installed into ./build

Create a package staged in /tmp/package/ for later installation in /usr:
Follow Linux build steps 1-3 (Preliminaries)
4. ./install-kst release /tmp/package/usr

Command line options for install-kst (all optional)
    INSTALL_PREFIX - Installation location - Defaults to '/usr'
    INSTALL_LIBDIR - Library Installation Directory name - Defaults to 'lib'
    release        - optimized build (eg, -O2) for release (default)
    debug          - debug build (eg, -g, no optimizations)

Note:  It is recommended that all installable builds be "release", since
  release mode does not set the RPATH directories.  Setting RPATH can
  result in a security hole.  The default for ./install-kst is release
Note: build-kst and install-kst both build in ./build, so ./build should
  be [re-]moved before running ./install-kst if a debug build from
  ./build-kst already exists.
Note: installation likely requires root privilidges.  You can separate the
  build and install steps (only if you really want to) by, eg:
    ./build-kst release
    sudo ./install-kst release

Examples:
Build and run debug version.

1. Follow Linux build steps 1 - 3.
2. ./build-kst 
3. ./run-kst

Build and install to /usr/bin /usr/lib
1. Follow Linux build steps 1 - 3.
2. ./install-kst

Build and install to specific location (/usr/local/bin /usr/local/libXX)

1. Follow Linux build steps 1 - 3.
2. ./install-kst release /usr/local libXX


*********************************************
Mac OS
*********************************************
Building without Xcode (out-of-source):
  qmake ../kst/kst.pro  -spec macx-g++ -config release
  make

Fixing the link pathes (installs kst frameworks to /Library/Frameworks)
  ../kst/misc/macdeploykst

Starting Kst from command line:
  ./build/bin/kst2.app/Contents/MacOS/kst2

Creating a dmg in /build/bin:
  ../kst/misc/macdeploykst -dmg 



*********************************************
Windows
*********************************************
Using Qt Creator Bundle (Prefered method)
1. Download or otherwise install the Qt Creator bundle including mingw
2. Open Kst.pro
3. Verify build settings
4. Click Build

-------------------------------------------------------------

The following methods are not being activly tested, but might work.
Windows using mingw

Note:  This process must be done using the windows shell directly.  It
       cannot be done within cygwin or msys and neither can be included
       in the path.

1. Download or otherwise install Qt 4.5 or greater.
2. Update environment variables for build.
  a. This can be done using the Qt command line as installed in the
     Qt Creator bundle.
  b. This can be done using qtvars.bat generated by Qt and included below.
  c. This can be done manually following these steps.
    i. Make sure your QTDIR is set to that Qt installation.
    ii. Update your path to include ..\mingw\bin and %QTDIR%\bin
    iii. set QMAKESPEC environmental variable to %QTDIR%\mkspecs\win32-g++ 
3. mkdir build && cd build
4. qmake -r ../kst.pro
5. mingw32-make

Notes:  Be careful to ensure there's nothing else in path that might
        interfere.  Cygwin, msys and various other things all have
        individual make and sh executables that are slightly incompatible.

qtvars.bat - mingw - Update directories to match machine configuration.

@echo off
rem
rem This file is generated
rem

echo Setting up a MinGW/Qt only environment...
echo -- QTDIR set to C:\Qt\4.5.1
echo -- PATH set to C:\Qt\4.5.1\bin
echo -- Adding C:\Qt\MinGW\bin to PATH
echo -- Adding %SystemRoot%\System32 to PATH
echo -- QMAKESPEC set to win32-g++

set QTDIR=C:\Qt\4.5.1
set PATH=C:\Qt\4.5.1\bin
set PATH=%PATH%;C:\Qt\MinGW\bin
set PATH=%PATH%;%SystemRoot%\System32
set QMAKESPEC=win32-g++

-------------------------------------------------------------
Windows using Visual Studio

Use a Qt build with Visual Studio.

- open a Visual Studio console command promt
- add path to qmake.exe to the PATH environment variable:
    set PATH=<path to qmake>;%PATH% 
- to build Visual Studio project files call in kst:
    qmake -tp vc -recursive
- open kst.sln from this console (e.g. vcexpress kst.sln)
- build, run, and debug kst in Visual Studio



-------------------------------------------------------------
Windows using Visual Studio & Cygwin

Note:  This has only been build using Visual Studio & Cygwin.  The following
       steps are used on the current Windows build machine used for testing,
       but may vary.

1. Download or otherwise install Qt 4.5 or greater.
2. Make sure your QTDIR is set to that Qt installation.
3. Make sure your ./config.pri has the appropriate settings for you machine.
4. Start up Cygwin's bash shell - Required due to command line length limit
   in cmd.exe.
4a.Setup environment variables in Cygwin to link against Visual Studio -
   See qtvars.bat at end of file. It can be run as qtvars.bat vsbash to
   setup variables and start the shell.
5. mkdir build && cd build
6. qmake -r ../kst.pro
7. nmake
7a.If an error occurs, you may need to update Makefile.debug and replace
   "CXX  = @echo compiling $< && cl" with "CXX=cl"
7b.  If libkstapp fails to build the following steps should circumvent the error.
  1) run nmake >makelog
  2) locate the cl.exe command line including application.cpp and copy it
  3) Replace all \ with \\ in the command
  4) Starting in the build directory, cd src\libkstapp, paste the command
     line, return to the build directory
  5) rerun nmake.
8. ../run-kst


qtvars.bat - Visual Studio - Update directories to match machine configuration.

@echo off
rem
rem This file is generated
rem

echo Setting up a Qt environment...
echo -- QTDIR set to C:\Qt\4.5.0
echo -- Added C:\Qt\4.5.0\bin to PATH
echo -- QMAKESPEC set to win32-msvc2005

set QTDIR=C:\Qt\4.5.0
set PATH=C:\Qt\4.5.0\bin;%PATH%
set QMAKESPEC=win32-msvc2005

if not "%1"=="vsvars" goto END
call "C:\Program Files\Microsoft Visual Studio 8\\Common7\Tools\vsvars32.bat"
:END

if not "%1"=="vsstart" goto ENDSTARTVS
call "C:\Program Files\Microsoft Visual Studio 8\\Common7\Tools\vsvars32.bat"
devenv /useenv
:ENDSTARTVS

if not "%1"=="vsbash" goto ENDBASH
call "C:\Program Files\Microsoft Visual Studio 8\\Common7\Tools\vsvars32.bat"
rem Don't launch batch with --login so it doesn't prepend /usr/bin to the path; this stops cygwin's bin/link for overriding Visual Studio's link.exe
call "C:\cygwin\Cygwin.bat" -i
:ENDBASH


-------------------------------------------------------------
Windows Installation

No installer exists for windows currently.  To distribute / move locations.

1. Use the build directory with kst/bin and kst/plugin only
2. Copy mingwm10.dll libgcc_s_dw2-1 QtCore4.dll QtGui4.dll QtOpenGL4.dll QtSvg4.dll QtXml4.dll into kst/bin
4. Package the build directory or use from this location.
