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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM