Bullet 的 CMake 编译流程

Bullet 的 CMake 编译流程

Bullet 的 CMake 编译流程

linux 下基于 CMake 的编译流程

bullet 支持 linux、windows、mac、Android、iOS、BSD 等操作系统。 这里研究的版本是release 2.8.7 .
linux 下,执行 如下命令编译,生成库和可执行程序在 build 文件夹中。

./build_cmake_pybullet_double.sh

CMAKE 命令

  • FILE (STRINGS "VERSION" BULLET_VERSION)
    将"VERSION"字符串保存到 BULLET_VERSION 中。
  • CMAKE_BUILD_TYPE 编译成 Debug 还是 Release.
  • SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG")
  • ADD_DEFINITIONS 添加编译参数,比如 add_definitions(-DDEBUG)将在 gcc 命令行添加 DEBUG 宏定义

配置

  • USE_DOUBLE_PRECISION
    浮点计算的精度 OFF
  • USE_GRAPHICAL_BENCHMARK ON
  • BUILD_SHARED_LIBS
    编译成动态链接库 OFF
  • USE_SOFT_BODY_MULTI_BODY_DYNAMICS_WORLD
    软体多物体动态?OFF
  • BULLET2_USE_THREAD_LOCKS
    Build Bullet 2 libraries with mutex locking around certain operations (required for multi-threading) OFF
  • USE_CUSTOM_VECTOR_MATH
    使用自定义的数学库 OFF

pybullet 的一些配置

install

bullet.pc.cmake 配置安装选项,默认安装在/usr/local/lib 中,头文件在/usr/local/include 中。

单元测试

cmake 文件在 test 目录中。

编译用的 cmake 文件

以下是 option 选项。 每个目录下都有 cmakelist.txt。

  • BUILD_OPENGL3_DEMOS OFF
    mac 系统下的 opengl demo. 目录在 Demos3 里面?
  • BUILD_BULLET2_DEMOS ON
    编译 examples,目录在 examples 中。
  • BUILD_EXTRA ON
    编译 extras,目录在 extras 中。
  • 源文件
    目录在 src 中。

src cmake 文件

SUBDIRS(  Bullet3OpenCL Bullet3Serialize/Bullet2FileLoader Bullet3Dynamics Bullet3Collision Bullet3Geometry )
SUBDIRS(   BulletInverseDynamics BulletSoftBody BulletCollision BulletDynamics LinearMath Bullet3Common)

examples cmake 文件

SUBDIRS( HelloWorld BasicDemo )
SUBDIRS( ExampleBrowser RobotSimulator SharedMemory ThirdPartyLibs/Gwen ThirdPartyLibs/BussIK ThirdPartyLibs/clsocket OpenGLWindow )
SUBDIRS(pybullet)

extras cmake 文件

SUBDIRS( InverseDynamics BulletRobotics obj2sdf Serialize ConvexDecomposition HACD GIMPACTUtils )

功能模块

待续。

Date: [2018-10-26 Fri 10:41]

Author: fhln

Created: 2018-10-26 Fri 22:26

Validate

posted @ 2018-10-26 13:12  fhln  阅读(1485)  评论(1编辑  收藏  举报