2
0

FindBullet.cmake 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. SET(BULLET_SEARCH_PATHS
  2. ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies/lib
  3. ${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies/lib
  4. ${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies/include/bullet
  5. ${POLYCODE_RELEASE_DIR}/Framework/Tools/Dependencies/lib
  6. )
  7. # - Try to find Bullet
  8. # Once done this will define
  9. #
  10. # BULLET_FOUND - system has bullet
  11. # BULLET_INCLUDE_DIR - the bullet include directory
  12. # BULLET_LIBRARIES - Link these to use Collada DOM
  13. #
  14. SET(BULLETDYNAMICS "BulletDynamics")
  15. SET(BULLETCOLLISION "BulletCollision")
  16. SET(BULLETMATH "LinearMath")
  17. SET(BULLETSOFTBODY "BulletSoftBody")
  18. SET(BULLETDYNAMICS_DEBUG "BulletDynamics_d")
  19. SET(BULLETCOLLISION_DEBUG "BulletCollision_d")
  20. SET(BULLETMATH_DEBUG "LinearMath_d")
  21. SET(BULLETSOFTBODY_DEBUG "BulletSoftBody_d")
  22. FIND_PATH(BULLET_INCLUDE_DIR NAMES btBulletCollisionCommon.h
  23. HINTS
  24. NO_DEFAULT_PATH
  25. NO_CMAKE_ENVIRONMENT_PATH
  26. NO_CMAKE_SYSTEM_PATH
  27. NO_SYSTEM_ENVIRONMENT_PATH
  28. NO_CMAKE_PATH
  29. CMAKE_FIND_FRAMEWORK NEVER
  30. PATHS ${BULLET_SEARCH_PATHS}
  31. )
  32. FIND_LIBRARY(LIBBULLETDYNAMICS
  33. NAMES
  34. ${BULLETDYNAMICS}
  35. HINTS
  36. NO_DEFAULT_PATH
  37. NO_CMAKE_ENVIRONMENT_PATH
  38. NO_CMAKE_SYSTEM_PATH
  39. NO_SYSTEM_ENVIRONMENT_PATH
  40. NO_CMAKE_PATH
  41. CMAKE_FIND_FRAMEWORK NEVER
  42. $ENV{BULLETDIR}
  43. $ENV{BULLET_PATH}
  44. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  45. PATHS ${BULLET_SEARCH_PATHS}
  46. )
  47. IF(NOT LIBBULLETDYNAMICS)
  48. MESSAGE ("WARNING: Could not find Bullet Dynamics - depending targets will be disabled.")
  49. ENDIF(NOT LIBBULLETDYNAMICS)
  50. FIND_LIBRARY(LIBBULLETCOLLISION
  51. NAMES
  52. ${BULLETCOLLISION}
  53. HINTS
  54. NO_DEFAULT_PATH
  55. NO_CMAKE_ENVIRONMENT_PATH
  56. NO_CMAKE_SYSTEM_PATH
  57. NO_SYSTEM_ENVIRONMENT_PATH
  58. NO_CMAKE_PATH
  59. CMAKE_FIND_FRAMEWORK NEVER
  60. $ENV{BULLETDIR}
  61. $ENV{BULLET_PATH}
  62. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  63. PATHS ${BULLET_SEARCH_PATHS}
  64. )
  65. IF(NOT LIBBULLETCOLLISION)
  66. MESSAGE ("WARNING: Could not find Bullet Collision - depending targets will be disabled.")
  67. ENDIF(NOT LIBBULLETCOLLISION)
  68. FIND_LIBRARY(LIBBULLETMATH
  69. NAMES
  70. ${BULLETMATH}
  71. HINTS
  72. NO_DEFAULT_PATH
  73. NO_CMAKE_ENVIRONMENT_PATH
  74. NO_CMAKE_SYSTEM_PATH
  75. NO_SYSTEM_ENVIRONMENT_PATH
  76. NO_CMAKE_PATH
  77. CMAKE_FIND_FRAMEWORK NEVER
  78. $ENV{BULLETDIR}
  79. $ENV{BULLET_PATH}
  80. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  81. PATHS ${BULLET_SEARCH_PATHS}
  82. )
  83. IF(NOT LIBBULLETMATH)
  84. MESSAGE ("WARNING: Could not find Bullet Math - depending targets will be disabled.")
  85. ENDIF(NOT LIBBULLETMATH)
  86. FIND_LIBRARY(LIBBULLETSOFTBODY
  87. NAMES
  88. ${BULLETSOFTBODY}
  89. HINTS
  90. NO_DEFAULT_PATH
  91. NO_CMAKE_ENVIRONMENT_PATH
  92. NO_CMAKE_SYSTEM_PATH
  93. NO_SYSTEM_ENVIRONMENT_PATH
  94. NO_CMAKE_PATH
  95. CMAKE_FIND_FRAMEWORK NEVER
  96. $ENV{BULLETDIR}
  97. $ENV{BULLET_PATH}
  98. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  99. PATHS ${BULLET_SEARCH_PATHS}
  100. )
  101. IF(NOT LIBBULLETSOFTBODY)
  102. MESSAGE ("WARNING: Could not find Bullet SoftBody - depending targets will be disabled.")
  103. ENDIF(NOT LIBBULLETSOFTBODY)
  104. # -------
  105. FIND_LIBRARY(LIBBULLETDYNAMICS_DEBUG
  106. NAMES
  107. ${BULLETDYNAMICS_DEBUG}
  108. HINTS
  109. NO_DEFAULT_PATH
  110. NO_CMAKE_ENVIRONMENT_PATH
  111. NO_CMAKE_SYSTEM_PATH
  112. NO_SYSTEM_ENVIRONMENT_PATH
  113. NO_CMAKE_PATH
  114. CMAKE_FIND_FRAMEWORK NEVER
  115. $ENV{BULLETDIR}
  116. $ENV{BULLET_PATH}
  117. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  118. PATHS ${BULLET_SEARCH_PATHS}
  119. )
  120. IF(NOT LIBBULLETDYNAMICS_DEBUG)
  121. MESSAGE ("WARNING: Could not find Bullet Dynamics Debug - depending targets will be disabled.")
  122. ENDIF(NOT LIBBULLETDYNAMICS_DEBUG)
  123. FIND_LIBRARY(LIBBULLETCOLLISION_DEBUG
  124. NAMES
  125. ${BULLETCOLLISION_DEBUG}
  126. HINTS
  127. NO_DEFAULT_PATH
  128. NO_CMAKE_ENVIRONMENT_PATH
  129. NO_CMAKE_SYSTEM_PATH
  130. NO_SYSTEM_ENVIRONMENT_PATH
  131. NO_CMAKE_PATH
  132. CMAKE_FIND_FRAMEWORK NEVER
  133. $ENV{BULLETDIR}
  134. $ENV{BULLET_PATH}
  135. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  136. PATHS ${BULLET_SEARCH_PATHS}
  137. )
  138. IF(NOT LIBBULLETCOLLISION_DEBUG)
  139. MESSAGE ("WARNING: Could not find Bullet Collision Debug - depending targets will be disabled.")
  140. ENDIF(NOT LIBBULLETCOLLISION_DEBUG)
  141. FIND_LIBRARY(LIBBULLETMATH_DEBUG
  142. NAMES
  143. ${BULLETMATH_DEBUG}
  144. HINTS
  145. NO_DEFAULT_PATH
  146. NO_CMAKE_ENVIRONMENT_PATH
  147. NO_CMAKE_SYSTEM_PATH
  148. NO_SYSTEM_ENVIRONMENT_PATH
  149. NO_CMAKE_PATH
  150. CMAKE_FIND_FRAMEWORK NEVER
  151. $ENV{BULLETDIR}
  152. $ENV{BULLET_PATH}
  153. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  154. PATHS ${BULLET_SEARCH_PATHS}
  155. )
  156. IF(NOT LIBBULLETMATH_DEBUG)
  157. MESSAGE ("WARNING: Could not find Bullet Math Debug - depending targets will be disabled.")
  158. ENDIF(NOT LIBBULLETMATH_DEBUG)
  159. FIND_LIBRARY(LIBBULLETSOFTBODY_DEBUG
  160. NAMES
  161. ${BULLETSOFTBODY_DEBUG}
  162. HINTS
  163. NO_DEFAULT_PATH
  164. NO_CMAKE_ENVIRONMENT_PATH
  165. NO_CMAKE_SYSTEM_PATH
  166. NO_SYSTEM_ENVIRONMENT_PATH
  167. NO_CMAKE_PATH
  168. CMAKE_FIND_FRAMEWORK NEVER
  169. $ENV{BULLETDIR}
  170. $ENV{BULLET_PATH}
  171. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  172. PATHS ${BULLET_SEARCH_PATHS}
  173. )
  174. IF(NOT LIBBULLETSOFTBODY_DEBUG)
  175. MESSAGE ("WARNING: Could not find Bullet SoftBody Debug - depending targets will be disabled.")
  176. ENDIF(NOT LIBBULLETSOFTBODY_DEBUG)
  177. SET(BULLET_LIBRARIES ${LIBBULLETSOFTBODY} ${LIBBULLETDYNAMICS} ${LIBBULLETCOLLISION} ${LIBBULLETMATH})
  178. SET(BULLET_LIBRARIES_DEBUG ${LIBBULLETSOFTBODY_DEBUG} ${LIBBULLETDYNAMICS_DEBUG} ${LIBBULLETCOLLISION_DEBUG} ${LIBBULLETMATH_DEBUG})
  179. IF(BULLET_INCLUDE_DIR AND BULLET_LIBRARIES)
  180. SET(BULLET_FOUND TRUE)
  181. ENDIF(BULLET_INCLUDE_DIR AND BULLET_LIBRARIES)
  182. # show the BULLET_INCLUDE_DIR and BULLET_LIBRARIES variables only in the advanced view
  183. IF(BULLET_FOUND)
  184. MESSAGE ("Bullet found (${BULLET_INCLUDE_DIR}) (${BULLET_LIBRARIES}) (${BULLET_LIBRARIES_DEBUG})")
  185. MARK_AS_ADVANCED(BULLET_INCLUDE_DIR BULLET_LIBRARIES BULLET_LIBRARIES_DEBUG)
  186. ENDIF(BULLET_FOUND)