FindBullet.cmake 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  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(BULLETMULTITHREADED "BulletMultiThreaded")
  19. SET(BULLETDYNAMICS_DEBUG "BulletDynamics_d")
  20. SET(BULLETCOLLISION_DEBUG "BulletCollision_d")
  21. SET(BULLETMATH_DEBUG "LinearMath_d")
  22. SET(BULLETSOFTBODY_DEBUG "BulletSoftBody_d")
  23. SET(BULLETMULTITHREADED_DEBUG "BulletMultiThreaded_d")
  24. FIND_PATH(BULLET_INCLUDE_DIR NAMES btBulletCollisionCommon.h
  25. HINTS
  26. NO_DEFAULT_PATH
  27. NO_CMAKE_ENVIRONMENT_PATH
  28. NO_CMAKE_SYSTEM_PATH
  29. NO_SYSTEM_ENVIRONMENT_PATH
  30. NO_CMAKE_PATH
  31. CMAKE_FIND_FRAMEWORK NEVER
  32. PATHS ${BULLET_SEARCH_PATHS}
  33. )
  34. FIND_LIBRARY(LIBBULLETDYNAMICS
  35. NAMES
  36. ${BULLETDYNAMICS}
  37. HINTS
  38. NO_DEFAULT_PATH
  39. NO_CMAKE_ENVIRONMENT_PATH
  40. NO_CMAKE_SYSTEM_PATH
  41. NO_SYSTEM_ENVIRONMENT_PATH
  42. NO_CMAKE_PATH
  43. CMAKE_FIND_FRAMEWORK NEVER
  44. $ENV{BULLETDIR}
  45. $ENV{BULLET_PATH}
  46. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  47. PATHS ${BULLET_SEARCH_PATHS}
  48. )
  49. IF(NOT LIBBULLETDYNAMICS)
  50. MESSAGE ("WARNING: Could not find Bullet Dynamics - depending targets will be disabled.")
  51. ENDIF(NOT LIBBULLETDYNAMICS)
  52. FIND_LIBRARY(LIBBULLETCOLLISION
  53. NAMES
  54. ${BULLETCOLLISION}
  55. HINTS
  56. NO_DEFAULT_PATH
  57. NO_CMAKE_ENVIRONMENT_PATH
  58. NO_CMAKE_SYSTEM_PATH
  59. NO_SYSTEM_ENVIRONMENT_PATH
  60. NO_CMAKE_PATH
  61. CMAKE_FIND_FRAMEWORK NEVER
  62. $ENV{BULLETDIR}
  63. $ENV{BULLET_PATH}
  64. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  65. PATHS ${BULLET_SEARCH_PATHS}
  66. )
  67. IF(NOT LIBBULLETCOLLISION)
  68. MESSAGE ("WARNING: Could not find Bullet Collision - depending targets will be disabled.")
  69. ENDIF(NOT LIBBULLETCOLLISION)
  70. FIND_LIBRARY(LIBBULLETMATH
  71. NAMES
  72. ${BULLETMATH}
  73. HINTS
  74. NO_DEFAULT_PATH
  75. NO_CMAKE_ENVIRONMENT_PATH
  76. NO_CMAKE_SYSTEM_PATH
  77. NO_SYSTEM_ENVIRONMENT_PATH
  78. NO_CMAKE_PATH
  79. CMAKE_FIND_FRAMEWORK NEVER
  80. $ENV{BULLETDIR}
  81. $ENV{BULLET_PATH}
  82. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  83. PATHS ${BULLET_SEARCH_PATHS}
  84. )
  85. IF(NOT LIBBULLETMATH)
  86. MESSAGE ("WARNING: Could not find Bullet Math - depending targets will be disabled.")
  87. ENDIF(NOT LIBBULLETMATH)
  88. FIND_LIBRARY(LIBBULLETSOFTBODY
  89. NAMES
  90. ${BULLETSOFTBODY}
  91. HINTS
  92. NO_DEFAULT_PATH
  93. NO_CMAKE_ENVIRONMENT_PATH
  94. NO_CMAKE_SYSTEM_PATH
  95. NO_SYSTEM_ENVIRONMENT_PATH
  96. NO_CMAKE_PATH
  97. CMAKE_FIND_FRAMEWORK NEVER
  98. $ENV{BULLETDIR}
  99. $ENV{BULLET_PATH}
  100. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  101. PATHS ${BULLET_SEARCH_PATHS}
  102. )
  103. IF(NOT LIBBULLETSOFTBODY)
  104. MESSAGE ("WARNING: Could not find Bullet SoftBody - depending targets will be disabled.")
  105. ENDIF(NOT LIBBULLETSOFTBODY)
  106. FIND_LIBRARY(LIBBULLETMULTITHREADED
  107. NAMES
  108. ${BULLETMULTITHREADED}
  109. HINTS
  110. NO_DEFAULT_PATH
  111. NO_CMAKE_ENVIRONMENT_PATH
  112. NO_CMAKE_SYSTEM_PATH
  113. NO_SYSTEM_ENVIRONMENT_PATH
  114. NO_CMAKE_PATH
  115. CMAKE_FIND_FRAMEWORK NEVER
  116. $ENV{BULLETDIR}
  117. $ENV{BULLET_PATH}
  118. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  119. PATHS ${BULLET_SEARCH_PATHS}
  120. )
  121. IF(NOT LIBBULLETMULTITHREADED)
  122. MESSAGE ("WARNING: Could not find Bullet MultiThreaded - depending targets will be disabled.")
  123. ENDIF(NOT LIBBULLETMULTITHREADED)
  124. # -------
  125. FIND_LIBRARY(LIBBULLETDYNAMICS_DEBUG
  126. NAMES
  127. ${BULLETDYNAMICS_DEBUG}
  128. HINTS
  129. NO_DEFAULT_PATH
  130. NO_CMAKE_ENVIRONMENT_PATH
  131. NO_CMAKE_SYSTEM_PATH
  132. NO_SYSTEM_ENVIRONMENT_PATH
  133. NO_CMAKE_PATH
  134. CMAKE_FIND_FRAMEWORK NEVER
  135. $ENV{BULLETDIR}
  136. $ENV{BULLET_PATH}
  137. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  138. PATHS ${BULLET_SEARCH_PATHS}
  139. )
  140. IF(NOT LIBBULLETDYNAMICS_DEBUG)
  141. MESSAGE ("WARNING: Could not find Bullet Dynamics Debug - depending targets will be disabled.")
  142. ENDIF(NOT LIBBULLETDYNAMICS_DEBUG)
  143. FIND_LIBRARY(LIBBULLETCOLLISION_DEBUG
  144. NAMES
  145. ${BULLETCOLLISION_DEBUG}
  146. HINTS
  147. NO_DEFAULT_PATH
  148. NO_CMAKE_ENVIRONMENT_PATH
  149. NO_CMAKE_SYSTEM_PATH
  150. NO_SYSTEM_ENVIRONMENT_PATH
  151. NO_CMAKE_PATH
  152. CMAKE_FIND_FRAMEWORK NEVER
  153. $ENV{BULLETDIR}
  154. $ENV{BULLET_PATH}
  155. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  156. PATHS ${BULLET_SEARCH_PATHS}
  157. )
  158. IF(NOT LIBBULLETCOLLISION_DEBUG)
  159. MESSAGE ("WARNING: Could not find Bullet Collision Debug - depending targets will be disabled.")
  160. ENDIF(NOT LIBBULLETCOLLISION_DEBUG)
  161. FIND_LIBRARY(LIBBULLETMATH_DEBUG
  162. NAMES
  163. ${BULLETMATH_DEBUG}
  164. HINTS
  165. NO_DEFAULT_PATH
  166. NO_CMAKE_ENVIRONMENT_PATH
  167. NO_CMAKE_SYSTEM_PATH
  168. NO_SYSTEM_ENVIRONMENT_PATH
  169. NO_CMAKE_PATH
  170. CMAKE_FIND_FRAMEWORK NEVER
  171. $ENV{BULLETDIR}
  172. $ENV{BULLET_PATH}
  173. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  174. PATHS ${BULLET_SEARCH_PATHS}
  175. )
  176. IF(NOT LIBBULLETMATH_DEBUG)
  177. MESSAGE ("WARNING: Could not find Bullet Math Debug - depending targets will be disabled.")
  178. ENDIF(NOT LIBBULLETMATH_DEBUG)
  179. FIND_LIBRARY(LIBBULLETSOFTBODY_DEBUG
  180. NAMES
  181. ${BULLETSOFTBODY_DEBUG}
  182. HINTS
  183. NO_DEFAULT_PATH
  184. NO_CMAKE_ENVIRONMENT_PATH
  185. NO_CMAKE_SYSTEM_PATH
  186. NO_SYSTEM_ENVIRONMENT_PATH
  187. NO_CMAKE_PATH
  188. CMAKE_FIND_FRAMEWORK NEVER
  189. $ENV{BULLETDIR}
  190. $ENV{BULLET_PATH}
  191. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  192. PATHS ${BULLET_SEARCH_PATHS}
  193. )
  194. IF(NOT LIBBULLETSOFTBODY_DEBUG)
  195. MESSAGE ("WARNING: Could not find Bullet SoftBody Debug - depending targets will be disabled.")
  196. ENDIF(NOT LIBBULLETSOFTBODY_DEBUG)
  197. FIND_LIBRARY(LIBBULLETMULTITHREADED_DEBUG
  198. NAMES
  199. ${BULLETMULTITHREADED_DEBUG}
  200. HINTS
  201. NO_DEFAULT_PATH
  202. NO_CMAKE_ENVIRONMENT_PATH
  203. NO_CMAKE_SYSTEM_PATH
  204. NO_SYSTEM_ENVIRONMENT_PATH
  205. NO_CMAKE_PATH
  206. CMAKE_FIND_FRAMEWORK NEVER
  207. $ENV{BULLETDIR}
  208. $ENV{BULLET_PATH}
  209. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  210. PATHS ${BULLET_SEARCH_PATHS}
  211. )
  212. IF(NOT LIBBULLETMULTITHREADED_DEBUG)
  213. MESSAGE ("WARNING: Could not find Bullet MultiThreaded Debug - depending targets will be disabled.")
  214. ENDIF(NOT LIBBULLETMULTITHREADED_DEBUG)
  215. SET(BULLET_LIBRARIES ${LIBBULLETMULTITHREADED} ${LIBBULLETSOFTBODY} ${LIBBULLETDYNAMICS} ${LIBBULLETCOLLISION} ${LIBBULLETMATH})
  216. SET(BULLET_LIBRARIES_DEBUG ${LIBBULLETMULTITHREADED_DEBUG} ${LIBBULLETSOFTBODY_DEBUG} ${LIBBULLETDYNAMICS_DEBUG} ${LIBBULLETCOLLISION_DEBUG} ${LIBBULLETMATH_DEBUG})
  217. IF(BULLET_INCLUDE_DIR AND BULLET_LIBRARIES)
  218. SET(BULLET_FOUND TRUE)
  219. ENDIF(BULLET_INCLUDE_DIR AND BULLET_LIBRARIES)
  220. # show the BULLET_INCLUDE_DIR and BULLET_LIBRARIES variables only in the advanced view
  221. IF(BULLET_FOUND)
  222. MESSAGE ("Bullet found (${BULLET_INCLUDE_DIR}) (${BULLET_LIBRARIES}) (${BULLET_LIBRARIES_DEBUG})")
  223. MARK_AS_ADVANCED(BULLET_INCLUDE_DIR BULLET_LIBRARIES BULLET_LIBRARIES_DEBUG)
  224. ENDIF(BULLET_FOUND)