2
0

FindBullet.cmake 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  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. FIND_PATH(BULLET_INCLUDE_DIR NAMES btBulletCollisionCommon.h
  20. HINTS
  21. NO_DEFAULT_PATH
  22. NO_CMAKE_ENVIRONMENT_PATH
  23. NO_CMAKE_SYSTEM_PATH
  24. NO_SYSTEM_ENVIRONMENT_PATH
  25. NO_CMAKE_PATH
  26. CMAKE_FIND_FRAMEWORK NEVER
  27. PATHS ${BULLET_SEARCH_PATHS}
  28. )
  29. FIND_LIBRARY(LIBBULLETDYNAMICS
  30. NAMES
  31. ${BULLETDYNAMICS}
  32. HINTS
  33. NO_DEFAULT_PATH
  34. NO_CMAKE_ENVIRONMENT_PATH
  35. NO_CMAKE_SYSTEM_PATH
  36. NO_SYSTEM_ENVIRONMENT_PATH
  37. NO_CMAKE_PATH
  38. CMAKE_FIND_FRAMEWORK NEVER
  39. $ENV{BULLETDIR}
  40. $ENV{BULLET_PATH}
  41. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  42. PATHS ${BULLET_SEARCH_PATHS}
  43. )
  44. IF(NOT LIBBULLETDYNAMICS)
  45. MESSAGE ("WARNING: Could not find Bullet Dynamics - depending targets will be disabled.")
  46. ENDIF(NOT LIBBULLETDYNAMICS)
  47. FIND_LIBRARY(LIBBULLETCOLLISION
  48. NAMES
  49. ${BULLETCOLLISION}
  50. HINTS
  51. NO_DEFAULT_PATH
  52. NO_CMAKE_ENVIRONMENT_PATH
  53. NO_CMAKE_SYSTEM_PATH
  54. NO_SYSTEM_ENVIRONMENT_PATH
  55. NO_CMAKE_PATH
  56. CMAKE_FIND_FRAMEWORK NEVER
  57. $ENV{BULLETDIR}
  58. $ENV{BULLET_PATH}
  59. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  60. PATHS ${BULLET_SEARCH_PATHS}
  61. )
  62. IF(NOT LIBBULLETCOLLISION)
  63. MESSAGE ("WARNING: Could not find Bullet Collision - depending targets will be disabled.")
  64. ENDIF(NOT LIBBULLETCOLLISION)
  65. FIND_LIBRARY(LIBBULLETMATH
  66. NAMES
  67. ${BULLETMATH}
  68. HINTS
  69. NO_DEFAULT_PATH
  70. NO_CMAKE_ENVIRONMENT_PATH
  71. NO_CMAKE_SYSTEM_PATH
  72. NO_SYSTEM_ENVIRONMENT_PATH
  73. NO_CMAKE_PATH
  74. CMAKE_FIND_FRAMEWORK NEVER
  75. $ENV{BULLETDIR}
  76. $ENV{BULLET_PATH}
  77. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  78. PATHS ${BULLET_SEARCH_PATHS}
  79. )
  80. IF(NOT LIBBULLETMATH)
  81. MESSAGE ("WARNING: Could not find Bullet Math - depending targets will be disabled.")
  82. ENDIF(NOT LIBBULLETMATH)
  83. FIND_LIBRARY(LIBBULLETSOFTBODY
  84. NAMES
  85. ${BULLETSOFTBODY}
  86. HINTS
  87. NO_DEFAULT_PATH
  88. NO_CMAKE_ENVIRONMENT_PATH
  89. NO_CMAKE_SYSTEM_PATH
  90. NO_SYSTEM_ENVIRONMENT_PATH
  91. NO_CMAKE_PATH
  92. CMAKE_FIND_FRAMEWORK NEVER
  93. $ENV{BULLETDIR}
  94. $ENV{BULLET_PATH}
  95. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  96. PATHS ${BULLET_SEARCH_PATHS}
  97. )
  98. IF(NOT LIBBULLETSOFTBODY)
  99. MESSAGE ("WARNING: Could not find Bullet SoftBody - depending targets will be disabled.")
  100. ENDIF(NOT LIBBULLETSOFTBODY)
  101. FIND_LIBRARY(LIBBULLETMULTITHREADED
  102. NAMES
  103. ${BULLETMULTITHREADED}
  104. HINTS
  105. NO_DEFAULT_PATH
  106. NO_CMAKE_ENVIRONMENT_PATH
  107. NO_CMAKE_SYSTEM_PATH
  108. NO_SYSTEM_ENVIRONMENT_PATH
  109. NO_CMAKE_PATH
  110. CMAKE_FIND_FRAMEWORK NEVER
  111. $ENV{BULLETDIR}
  112. $ENV{BULLET_PATH}
  113. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  114. PATHS ${BULLET_SEARCH_PATHS}
  115. )
  116. IF(NOT LIBBULLETMULTITHREADED)
  117. MESSAGE ("WARNING: Could not find Bullet MultiThreaded - depending targets will be disabled.")
  118. ENDIF(NOT LIBBULLETMULTITHREADED)
  119. SET(BULLET_LIBRARIES ${LIBBULLETMULTITHREADED} ${LIBBULLETSOFTBODY} ${LIBBULLETDYNAMICS} ${LIBBULLETCOLLISION} ${LIBBULLETMATH})
  120. IF(BULLET_INCLUDE_DIR AND BULLET_LIBRARIES)
  121. SET(BULLET_FOUND TRUE)
  122. ENDIF(BULLET_INCLUDE_DIR AND BULLET_LIBRARIES)
  123. # show the BULLET_INCLUDE_DIR and BULLET_LIBRARIES variables only in the advanced view
  124. IF(BULLET_FOUND)
  125. MESSAGE ("Bullet found (${BULLET_INCLUDE_DIR}) (${BULLET_LIBRARIES})")
  126. MARK_AS_ADVANCED(BULLET_INCLUDE_DIR BULLET_LIBRARIES )
  127. ENDIF(BULLET_FOUND)