You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
169 lines
5.4 KiB
169 lines
5.4 KiB
***********************************
|
|
* Build info for bulletjme *
|
|
* (c) 2011 Normen Hansen *
|
|
***********************************
|
|
|
|
This document outlines the process of building bullet-jme on different platforms.
|
|
Since bullet-jme is a native java library and bullet gets included statically,
|
|
building requires you to download and build the bullet source first.
|
|
|
|
|
|
|
|
***********************************
|
|
* Building bullet *
|
|
***********************************
|
|
|
|
-----------------------------------
|
|
General info
|
|
-----------------------------------
|
|
Note that the compilation of bullet should not produce dll / so / dylib files
|
|
but static *.a libraries which can later be compiled into the binary of bullet-jme.
|
|
|
|
-----------------------------------
|
|
Downloading and extracting bullet
|
|
-----------------------------------
|
|
Requirements:
|
|
- Bullet source: http://bullet.googlecode.com/
|
|
|
|
Extract bullet source and build bullet (see below)
|
|
|
|
-----------------------------------
|
|
Building on Mac OSX
|
|
-----------------------------------
|
|
Requirements:
|
|
- Apple Developer tools: http://developer.apple.com/
|
|
- CMake: http://www.cmake.org/ (or via http://www.macports.org)
|
|
|
|
Commands:
|
|
> cd bullet-trunk
|
|
> cmake -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON \
|
|
-DCMAKE_OSX_ARCHITECTURES='ppc;i386;x86_64' \
|
|
-DBUILD_EXTRAS=off -DBUILD_DEMOS=off -DCMAKE_BUILD_TYPE=Release
|
|
> make
|
|
|
|
-----------------------------------
|
|
Building on WINDOWS (MinGW/GCC, Recommended)
|
|
-----------------------------------
|
|
Requirements:
|
|
- GNU C++ Compiler: http://www.mingw.org/
|
|
http://mingw-w64.sourceforge.net/
|
|
- CMake: http://www.cmake.org/
|
|
|
|
Commands:
|
|
> cd bullet-trunk
|
|
> cmake . -DBUILD_SHARED_LIBS=OFF -DBUILD_DEMOS:BOOL=OFF -DBUILD_EXTRAS:BOOL=OFF -DCMAKE_BUILD_TYPE=Release . -G "MinGW Makefiles"
|
|
> mingw32-make
|
|
|
|
-----------------------------------
|
|
Building on WINDOWS (VisualStudio, untested)
|
|
-----------------------------------
|
|
Requirements:
|
|
- Microsoft Visual Studio http://msdn.microsoft.com/
|
|
|
|
Bullet comes with autogenerated Project Files for Microsoft Visual Studio 6, 7, 7.1 and 8.
|
|
The main Workspace/Solution is located in Bullet/msvc/8/wksbullet.sln (replace 8 with your version).
|
|
|
|
Build the project to create static libraries.
|
|
|
|
|
|
-----------------------------------
|
|
Building bullet on LINUX
|
|
-----------------------------------
|
|
Requirements:
|
|
- Gnu C++ Compiler: http://gcc.gnu.org/
|
|
- CMake: http://www.cmake.org/ (or via your package manager of choice)
|
|
|
|
Commands:
|
|
> cd bullet-trunk
|
|
> cmake -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON -DCMAKE_C_FLAGS="-fPIC" -DCMAKE_CXX_FLAGS="-fPIC"\
|
|
-DBUILD_EXTRAS=off -DBUILD_DEMOS=off -DCMAKE_BUILD_TYPE=Release
|
|
> make
|
|
|
|
-----------------------------------
|
|
More info on building bullet
|
|
-----------------------------------
|
|
http://www.bulletphysics.org/mediawiki-1.5.8/index.php?title=Installation
|
|
|
|
|
|
|
|
***********************************
|
|
* Building bulletjme *
|
|
***********************************
|
|
|
|
-----------------------------------
|
|
Requirements
|
|
-----------------------------------
|
|
- Java SDK 1.5+: http://java.sun.com
|
|
- Apache ANT: http://ant.apache.org
|
|
- C++ Compiler: (see below)
|
|
- jme3 Source: http://jmonkeyengine.googlecode.com/
|
|
- Statically compiled bullet source (see above)
|
|
|
|
-----------------------------------
|
|
Preparation
|
|
-----------------------------------
|
|
- copy/link bullet-trunk folder into the same folder where the bullet-jme folder is:
|
|
|
|
disk
|
|
|
|
|
+-root folder
|
|
|
|
|
+-engine
|
|
|
|
|
+-sdk
|
|
|
|
|
+-bullet-trunk
|
|
|
|
- You can alter options in the "src/bullet/native/bullet.properties" file, such as the used bullet
|
|
version, native compilation options etc. (see below)
|
|
|
|
-----------------------------------
|
|
Building bulletjme native
|
|
-----------------------------------
|
|
Commands:
|
|
> cd engine
|
|
> ant jar
|
|
> ant build-bullet-natives
|
|
|
|
Thats all. ANT takes care building native binaries and copies them to th elib directory.
|
|
|
|
If you get compilation errors, try setting "native.java.include" in the build.properties file to your
|
|
JDK include directory, e.g. /opt/java/include or "c:\Program Files\Java\jdk1.6.0_20\include".
|
|
|
|
-----------------------------------
|
|
Altering the native build process
|
|
-----------------------------------
|
|
bullet-jme uses cpptasks to compile native code.
|
|
|
|
To change the used compiler, edit the "native.platform.compiler" entry in the
|
|
"build.properties" file. The following c++ compilers work with cpptasks:
|
|
|
|
gcc GCC C++ compiler
|
|
g++ GCC C++ compiler
|
|
c++ GCC C++ compiler
|
|
msvc Microsoft Visual C++
|
|
bcc Borland C++ Compiler
|
|
icl Intel C++ compiler for Windows (IA-32)
|
|
ecl Intel C++ compiler for Windows (IA-64)
|
|
icc Intel C++ compiler for Linux (IA-32)
|
|
ecc Intel C++ compiler for Linux (IA-64)
|
|
CC Sun ONE C++ compiler
|
|
aCC HP aC++ C++ Compiler
|
|
wcl OpenWatcom C/C++ compiler
|
|
|
|
In the "nbproject" folder you can find "build-native-platform.xml" files containing the commands
|
|
to compile bullet-jme on different platforms. If you want to alter the process,
|
|
you can copy and modify one of the files and import it in the "build.xml" file instead
|
|
of the old one.
|
|
|
|
-----------------------------------
|
|
Netbeans Project
|
|
-----------------------------------
|
|
The project also includes a Netbeans project to edit and build
|
|
the source in the Netbeans IDE in the /src/bullet/ subfolder.
|
|
|
|
To have correct syntax highlighting in .cpp/.h files:
|
|
|
|
- in Netbeans Settings -> C/C++ -> Code Assistance -> C++
|
|
- add bullet-2.77/src as include directories for c++
|
|
- add JAVA_HOME/include as include directories for c++
|
|
|