blender/build_files/cmake/FindPythonLibsUnix.cmake
Joseph Eagar 0a60bc14d6 =cloth collisions=
Plugged the eltopo library into the cloth solver.
I was playing with it earlier, and it's so easy to
use I decided to quickly put it in (trunk's) cloth.

See http://www.cs.ubc.ca/labs/imager/tr/2009/eltopo/eltopo.html
.  The authors are on the bleeding edge of continuous collision
detection (one of them did ILM's cloth sim).  
I
don't really have to time to plug it into softbody, particles,
bullet, fluid, etc, but doing so would be pretty straightforward.
I'll leave that up to someone else.

To use, turn on USE_ELTOPO (in cmake) or WITH_BF_ELTOPO in scons.
2011-04-09 23:19:11 +00:00

73 lines
2.1 KiB
CMake

# - Find python libraries
#
# PYTHON_VERSION
# PYTHON_INCLUDE_DIRS
# PYTHON_LIBRARY
# PYTHON_LIBPATH
# PYTHON_LINKFLAGSPYTHON
#=============================================================================
set(PYTHON_VERSION 3.2 CACHE STRING "")
mark_as_advanced(PYTHON_VERSION)
set(PYTHON_LINKFLAGS "-Xlinker -export-dynamic")
mark_as_advanced(PYTHON_LINKFLAGS)
set(_Python_ABI_FLAGS
"m;mu;u; ")
string(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
set(_Python_PATHS
"$ENV{HOME}/py${_PYTHON_VERSION_NO_DOTS}" "/opt/py${_PYTHON_VERSION_NO_DOTS}" "/usr" "/usr/local")
if(NOT DEFINED PYTHON_INCLUDE_DIRS)
message(STATUS "Looking for include Python.h")
set(_Found_PYTHON_H OFF)
foreach(_CURRENT_PATH ${_Python_PATHS})
foreach(_CURRENT_ABI_FLAGS ${_Python_ABI_FLAGS})
if(CMAKE_BUILD_TYPE STREQUAL Debug)
set(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}")
endif()
string(REPLACE " " "" _CURRENT_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
set(_Python_HEADER "${_CURRENT_PATH}/include/python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}/Python.h")
if(EXISTS ${_Python_HEADER})
message(STATUS "Checking for header: ${_Python_HEADER} - found")
set(_Found_PYTHON_H ON)
set(PYTHON ${_CURRENT_PATH})
set(PYTHON_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
break()
else()
message(STATUS "Checking for header: ${_Python_HEADER}")
endif()
endforeach()
if(_Found_PYTHON_H)
break()
endif()
endforeach()
if(NOT _Found_PYTHON_H)
message(FATAL_ERROR "Python.h not found")
endif()
endif()
#=============================================================================
# now the python versions are found
set(PYTHON_INCLUDE_DIRS "${PYTHON}/include/python${PYTHON_VERSION}${PYTHON_ABI_FLAGS}" CACHE STRING "")
mark_as_advanced(PYTHON_INCLUDE_DIRS)
set(PYTHON_LIBRARY "python${PYTHON_VERSION}${PYTHON_ABI_FLAGS}" CACHE STRING "")
mark_as_advanced(PYTHON_LIBRARY)
set(PYTHON_LIBPATH ${PYTHON}/lib CACHE STRING "")
mark_as_advanced(PYTHON_LIBPATH)
# set(PYTHON_BINARY ${PYTHON_EXECUTABLE} CACHE STRING "")
if(NOT EXISTS "${PYTHON_INCLUDE_DIRS}/Python.h")
message(FATAL_ERROR " Missing python header: ${PYTHON_INCLUDE_DIRS}/Python.h")
endif()