You are not logged in.

#1 2008-06-20 10:00:53

krigun
Member
From: Norway
Registered: 2005-06-06
Posts: 122
Website

Trouble with Jam/CMake won't generate install target (bullet physics)

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

Board footer

Powered by FluxBB