Changes between Version 16 and Version 17 of MussaglBuild


Ignore:
Timestamp:
10/15/2006 01:35:59 PM (18 years ago)
Author:
diane
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MussaglBuild

    v16 v17  
    22
    33== General Requirements ==
    4  * Qt4.1.x - [http://www.trolltech.com/download/qt/x11.html Linux] | [http://www.trolltech.com/download/qt/mac.html Mac OS X] | [http://www.trolltech.com/download/qt/windows.html Windows] (4.1.2, 4.1.3, and 4.1.4 each new version seems to have a few less minor bugs that affects Mussa.)
    5  * [http://www.boost.org/ Boost C++ Libraries] (program_options, test, python modules)
    6  * [http://python.org/ Python] The current version also includes the python interpreter. (This isn't a strong dependency right now and could probably be broken if desired.)
     4
     5 You will need to make sure the following are all installed in order to build from source.
     6
     7 * [http://www.cmake.org CMake >= v2.4]
     8 * Qt4.1.x - [http://www.trolltech.com/download/qt/x11.html Linux] | [http://www.trolltech.com/download/qt/mac.html Mac OS X] | [http://www.trolltech.com/download/qt/windows.html Windows] >= 4.1.2
     9 * [http://www.boost.org/ Boost C++ Libraries] >= 1.33.1
     10 * [http://python.org/ Python]
    711 * Mussagl Source ([/cgi-bin/mussa/wiki See download section])
    8  * [http://www.cmake.org CMake >= v2.4]
    912
    1013== Windows XP Requirements ==
    11  * [http://www.mingw.org/ MingGW] (gcc compiler and tools for Windows... Qt4.1 installer will install it for you).
    1214
     15 [http://www.mingw.org/ MingGW] Qt4 on windows requires the MinGW compiler. Thankfully the Qt installer will offer to install it for you. The CMake scripts do assume that MinGW and boost are being installed into the default locations of C:\MinGW and C:\Boost. If you install them elsewhere you will need to adjust several CMake variables.
     16
     17 You'll also probably want to put MinGW, CMake, and darcs on your system path. [http://support.microsoft.com/default.aspx?scid=kb;en-us;310519 How To Manage Environment Variables in Windows XP]
    1318
    1419== OS X Universal Build ==
     
    1722  This unforunately means you'll need [wiki:OSXUniversalDependencies OS X Universal Dependencies]
    1823 
    19 == CMake Build commands ==
     24== Qt4 ==
     25
     26  Qt4 is fairly easy to install.
     27  {{{
     28  configure
     29  make
     30  make install
     31  }}}
     32
     33  usually works. The biggest problem I've seen is that one might need to tell Qt to use internal versions of some graphics libraries if one is intending to redistribute the binary being built.
     34
     35== Boost ==
     36
     37  Boost is more challenging to build. First one needs to obtain [http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941 BJam] for ones platform. Then if one has limited disk space one might need to limit which libraries that are built. Currently we're using: program_options, test, python, spirit, filesystem and some of the string processing algorithms.
     38
     39  For windows users there's a copy of a build tree at http://woldlab.caltech.edu/~diane/proj/win32-boost-mingw-build.tar.bz2
     40
     41== CMake ==
    2042
    2143'''Note: Requires cmake version >= 2.4'''
     
    2648}}}
    2749
    28 CMake has several advantages over qmake or standard make files for multiplatform development. One advantage is that it lets one build out of source (which makes clean up if a build goes wrong much easer.)
     50If you don't have CMake binaries are available for download at http://cmake.org/HTML/Download.html
    2951
    30 More generally it takes the place of the GNU autotools, but is far more comprehensible--even with limited documentation.
     52CMake takes the place of the GNU autotools effectively replacing the "configure" step (and the automake and autoconf steps as well). The big advantage is that since CMake implements its own macro language one doesn't need to know portable bash scripting and m4 to write new build tests, like one does when using autotools. This makes building on windows dramatically easier.
    3153
    32 After installing cmake, change to the mussa source directory and do the following.
     54
     55== Building Mussa ==
     56
     57Once one has the dependencies one can actually build mussa.
     58
     59First checkout mussa using [http://woldlab.caltech.edu/cgi-bin/mussa/wiki/darcs darcs] (Hopefully soon there will be source distributions as well as binary distributions).
    3360
    3461{{{
     62darcs get http://woldlab.caltech.edu/svn/mussa.darcs mussa
     63cd mussa
    3564mkdir build
    3665cd build
    3766cmake ..
    3867make
    39 qui/mussagl
    4068}}}
    41 (Yes its annoying that the executable is dropped in a subdirectory, I hope that as I learn more about cmake I can fix that).
     69
    4270
    4371To run the unittests from with in the build directory type
     
    5078}}}
    5179
    52 Some useful alternate modes for cmake are:
     80== CMake Troubleshooting ==
     81
     82
     83CMake could not find a dependency.
     84
     85CMake includes a program
     86{{{
     87ccmake
     88}}}
     89that allows one to view and edit the CMake configuration variables. I'm still a bit new at properly creating a CMake configuration so it's very likely that one will need to use the "advanced" view which shows all of the configuration variable in order to find what is NOT_DEFINED. (Or was it "NOT_FOUND")?
     90
     91To see all of the build commands run make like this:
    5392{{{
    5493make VERBOSE=1
    5594}}}
    56 which will show the actual commands being used to compile the program, and
     95
     96To see the output of the unittests
    5797{{{
    5898ctest -VV
    5999}}}
    60 which will show the output of the various test programs.
    61 
    62 == QMake Build Command ==
    63 
    64 Building with qmake (this can only build mussagl, it doesn't build the python interface or the unittests)
    65 {{{
    66 qmake
    67 make
    68 }}}
    69 
    70 == Troubleshooting ==
    71 
    72 If running make generates a large number of error messages, you mostly likely ran the qt3 version of qmake.
    73 
    74 {{{
    75 qmake -version
    76 }}}
    77 
    78 should report
    79 
    80 {{{
    81 QMake version: 2.00a
    82 Using Qt version 4.1.0 in [wherever qt4 was installed]
    83 }}}
    84 
    85 If necessary you can download qt4 from http://www.trolltech.com/download/opensource.html