forked from bartvdbraak/blender
0a60bc14d6
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.
73 lines
2.1 KiB
CMake
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()
|