-
Notifications
You must be signed in to change notification settings - Fork 38
/
COMPILE.txt
33 lines (20 loc) · 2.21 KB
/
COMPILE.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
===========================
Compiling NP Labs Libraries
===========================
In order to make cross platform builds easier on ourselves, we use cmake. Project files/makefiles are not shipped with the source, and will need to be generated by cmake. Therefore, if you want to compile our software, you'll also need cmake. This is available at http://www.cmake.org.
To generate a cmake file tree, simply enter the project directory and create a subdirectory to build in (I use build-[platformname]-type, i.e. build-osx-deb, build-win-rel, etc...). Then enter this directory and type
cmake ..
Running cmake from this directory means all relevant build files are built out the source, so the source tree is not polluted with intermediate files (google "cmake out-of-source build" if you're really interested). If you try to run cmake from the root of the , you'll get a message complaining about building out of source.
After running this command, cmake will generate the default files for your system (Makefiles for *nixes, Visual Studio projects for Windows). If you want to generate another kind of make files, just run the command:
cmake
with no . or options to list the generators available for your platform.
cmake will search for any required libraries on *nix platforms, since we have a reasonable set of directories to look through (/usr/*, /usr/local/*, etc...). On Windows (Visual Studio specifically), these checks are bypassed and all available projects are created (since there is no dedicated place to check for library code). You will need to prune whatever libraries you don't want to build out of the generated Visual Studio projects.
After cmake generates the files, you may use them to compile as normal.
=============
Test Machines
=============
All NP labs libraries are compiled and tested on the following platforms:
- Windows (XP Pro, mingw (gcc 4.3.3 TDM) and/or Visual Studio 2008)
- OS X (10.5, Intel, gcc 4)
- Linux (Ubuntu 8.04, gcc 4.3)
There is no guarentee a library will work on all platforms, or there may be different dependencies for different platforms. Compatibility issues with outside libraries may exist. If these happen, they will be listed in the README.txt file under "Platform Specific Issues".