mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-01 03:21:41 +00:00
978b5f64d8
Merge in the patch from the cmake official repository: https://cmake.org/gitweb?p=cmake.git;a=commit;h=6f935d7f55af5c96d18d23b72991e87d1e029dda Without this fix cmake couldn't find bullet's debug libraries, and VS2010 openmw project file was generated with links to release libraries instead (which caused errors during build in debug configuration).
77 lines
2.7 KiB
CMake
77 lines
2.7 KiB
CMake
# - Try to find the Bullet physics engine
|
|
#
|
|
# This module defines the following variables
|
|
#
|
|
# BULLET_FOUND - Was bullet found
|
|
# BULLET_INCLUDE_DIRS - the Bullet include directories
|
|
# BULLET_LIBRARIES - Link to this, by default it includes
|
|
# all bullet components (Dynamics,
|
|
# Collision, LinearMath, & SoftBody)
|
|
#
|
|
# This module accepts the following variables
|
|
#
|
|
# BULLET_ROOT - Can be set to bullet install path or Windows build path
|
|
#
|
|
|
|
# Copyright (c) 2009, Philip Lowman <philip at yhbt.com>
|
|
#
|
|
# Redistribution AND use is allowed according to the terms of the New
|
|
# BSD license.
|
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
|
|
macro(_FIND_BULLET_LIBRARY _var)
|
|
find_library(${_var}
|
|
NAMES
|
|
${ARGN}
|
|
PATHS
|
|
${BULLET_ROOT}
|
|
${BULLET_ROOT}/out/release8/libs
|
|
${BULLET_ROOT}/out/debug8/libs
|
|
PATH_SUFFIXES lib
|
|
)
|
|
mark_as_advanced(${_var})
|
|
endmacro()
|
|
|
|
macro(_BULLET_APPEND_LIBRARIES _list _release)
|
|
set(_debug ${_release}_DEBUG)
|
|
if(${_debug})
|
|
set(${_list} ${${_list}} optimized ${${_release}} debug ${${_debug}})
|
|
else()
|
|
set(${_list} ${${_list}} ${${_release}})
|
|
endif()
|
|
endmacro()
|
|
|
|
find_path(BULLET_INCLUDE_DIR NAMES btBulletCollisionCommon.h
|
|
PATHS
|
|
${BULLET_ROOT}/include
|
|
${BULLET_ROOT}/src
|
|
PATH_SUFFIXES bullet
|
|
)
|
|
|
|
# Find the libraries
|
|
|
|
_FIND_BULLET_LIBRARY(BULLET_DYNAMICS_LIBRARY BulletDynamics)
|
|
_FIND_BULLET_LIBRARY(BULLET_DYNAMICS_LIBRARY_DEBUG BulletDynamics_Debug BulletDynamics_d)
|
|
_FIND_BULLET_LIBRARY(BULLET_COLLISION_LIBRARY BulletCollision)
|
|
_FIND_BULLET_LIBRARY(BULLET_COLLISION_LIBRARY_DEBUG BulletCollision_Debug BulletCollision_d)
|
|
_FIND_BULLET_LIBRARY(BULLET_MATH_LIBRARY BulletMath LinearMath)
|
|
_FIND_BULLET_LIBRARY(BULLET_MATH_LIBRARY_DEBUG BulletMath_Debug BulletMath_d LinearMath_debug LinearMath_d)
|
|
_FIND_BULLET_LIBRARY(BULLET_SOFTBODY_LIBRARY BulletSoftBody)
|
|
_FIND_BULLET_LIBRARY(BULLET_SOFTBODY_LIBRARY_DEBUG BulletSoftBody_Debug BulletSoftBody_d)
|
|
|
|
|
|
# handle the QUIETLY and REQUIRED arguments and set BULLET_FOUND to TRUE if
|
|
# all listed variables are TRUE
|
|
include(FindPackageHandleStandardArgs)
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Bullet DEFAULT_MSG
|
|
BULLET_DYNAMICS_LIBRARY BULLET_COLLISION_LIBRARY BULLET_MATH_LIBRARY
|
|
BULLET_SOFTBODY_LIBRARY BULLET_INCLUDE_DIR)
|
|
|
|
set(BULLET_INCLUDE_DIRS ${BULLET_INCLUDE_DIR})
|
|
if(BULLET_FOUND)
|
|
_BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_DYNAMICS_LIBRARY)
|
|
_BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_COLLISION_LIBRARY)
|
|
_BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_MATH_LIBRARY)
|
|
_BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_SOFTBODY_LIBRARY)
|
|
endif()
|