You are not logged in.
Hi,
I am attempting to build the bullet physics engine so that it creates shared libraries of it's functionality, instead of static ones. The problem is that I have absolutely no luck when it comes to building this with PKGBUILD, even though the bullet project ships with both Jam and CMake.
1: By using Jam, I am not able to tell the build system that I want to create shared libraries. I just cannot find a way to do that (I googled ALOT). PKGBUILD works fine, and packages everything up nicely, but the libraries are static.
2: By using CMake, I am able to build shared libraries, but CMake does not generate a 'make install' target, so the pacman package remains empty, as nothing is copied to the pkg/ folder.
Note the make: *** No rule to make target `install'. Stop.
[100%] Built target SoftBodyDemo
make: *** No rule to make target `install'. Stop.
==> Tidying install...
-> Removing info/doc files...
-> Compressing man pages...
-> Stripping debugging symbols from binaries and libraries...
==> Creating package...
-> Generating .PKGINFO file...
-> Compressing package...
==> Leaving fakeroot environment.
In desperation; does anybody know how I can tell Jam to build shared libraries, OR tell CMake to create a 'make install' target.
PKGBUILD for CMake:
# Contributor: rabyte <rabyte.at.gmail.dot.com>
pkgname=bullet
pkgver=2.69
pkgrel=1
pkgdesc="A 3D Collision Detection and Rigid Body Dynamics Library for games and animation"
arch=('i686')
url="http://www.bulletphysics.com/Bullet/"
license=('ZLIB')
makedepends=('cmake')
source=(http://bullet.googlecode.com/files/$pkgname-$pkgver.tgz)
md5sums=('5028637d4689b1d8c0cca5b9a357846a')
build() {
cd $startdir/src/$pkgname-$pkgver
cmake .
make || return 1
make DESTDIR=$startdir/pkg install
install -m644 -D BulletLicense.txt $startdir/pkg/usr/share/licenses/$pkgname/BulletLicense.txt
}
CMakeLists.txt in the parent folder.
PROJECT(BULLET_PHYSICS)
IF (NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE "Release")
ENDIF (NOT CMAKE_BUILD_TYPE)
SUBDIRS(src Demos Extras)
Thanks in advance.
Offline