
============================
New CMake based build system
============================


Using the CMake build system under Unix
=======================================

briefly, do the following:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local .
make
make install

alternatively, you can also do an out of source build, if
you don't want to clutter the hugin source tree with object files etc.

$ cd hugin
$ mkdir mybild
$ cd mybuild
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../
$ make
$ make install


Please report any problems to the hugin-ptx group at google:
http://groups.google.com/group/hugin-ptx

Missing dependencies
=======================
If cmake failed to pick up some dependencies, make sure you have
installed the corresponding development packages (often named:
libjpeg-dev and so on). If cmake still fails to find the libraries,
for example if you have installed them into a non-standart directory,
you can specify the path to libraries and include files using the
ccmake program:
$ cmake .
[some failure]
$ ccmake .

If CMake failes to recognize the boost thread library, the boost library suffix
might need to be given in the Boost_LIB_SUFFIX CMake variable. For example:
$ cmake -DBoost_LIB_SUFFIX=gcc41-mt-1_34_1
if the boost thread suffix is gcc41-mt-1_34_1

Configuring the build
=====================

Upon cmake invocation, several variables can be set with the -D command line
parameter. Important variables include:

CMAKE_INSTALL_PREFIX  Destination directory of make install 
                      (default: /usr/local)
CMAKE_BUILD_TYPE      Specify the build type (Release (Default) or Debug)
LIB_SUFFIX            Specifies suffix used for library paths. For AMD64,
                      usually 64 is used as prefix. Default: empty.
                      Setting to 64 results in: $CMAKE_INSTALL_PREFIX/lib64
HUGIN_SHARED          set to 0 to disable build shared libraries for internal
                      functions. (Unix and OSX, Windows is always statically linked)

MAC_SELF_CONTAINED_BUNDLE=1 Configures hugin for a fully bundled version, where
                      all required programs (nona, enblend, HuginStitchProject,
                      etc.) are embedded in the bundle.
                      Without this switch, hugin will behave just like on
                      any other unix platform and depend on resources
                      outside the bundle (translations, data files etc.).

For distributors:
=================
CMake supports the DESTDIR variable during make install, this
might be helpful to install into a temporary directory during
package creation

$ make install DESTDIR=mytmp_package_dir

