[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35440] trunk/blender/CMakeLists.txt: better default python ABI flags for *nix, 'm' default, 'd' for debug.

Campbell Barton ideasman42 at gmail.com
Thu Mar 10 00:27:27 CET 2011


Revision: 35440
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35440
Author:   campbellbarton
Date:     2011-03-09 23:27:26 +0000 (Wed, 09 Mar 2011)
Log Message:
-----------
better default python ABI flags for *nix, 'm' default, 'd' for debug.
give a CMake error if Python.h isn't found.

Modified Paths:
--------------
    trunk/blender/CMakeLists.txt

Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt	2011-03-09 22:45:43 UTC (rev 35439)
+++ trunk/blender/CMakeLists.txt	2011-03-09 23:27:26 UTC (rev 35440)
@@ -267,13 +267,23 @@
 	if(WITH_PYTHON)
 		# No way to set py31. remove for now.
 		# find_package(PythonLibs)
+		# set(PYTHON_BINARY python) # not used yet
+
 		set(PYTHON /usr)
+
+		# ABI can be any of these chars in this order 'dmu', debug/pymalloc/unicode
+		# TODO, detect available ABI's, may want to make this a module and detect this better
+		if(CMAKE_BUILD_TYPE STREQUAL Debug)
+			set(PYTHON_ABI_FLAGS "d")
+		else()
+			set(PYTHON_ABI_FLAGS "m")
+		endif()
+
 		set(PYTHON_VERSION 3.2 CACHE STRING "")
 		mark_as_advanced(PYTHON_VERSION)
-		set(PYTHON_INCLUDE_DIRS "${PYTHON}/include/python${PYTHON_VERSION}" CACHE STRING "")
+		set(PYTHON_INCLUDE_DIRS "${PYTHON}/include/python${PYTHON_VERSION}${PYTHON_ABI_FLAGS}" CACHE STRING "")
 		mark_as_advanced(PYTHON_INCLUDE_DIRS)
-		# set(PYTHON_BINARY python) # not used yet
-		set(PYTHON_LIBRARY python${PYTHON_VERSION} CACHE STRING "")
+		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)
@@ -282,6 +292,16 @@
 
 		set(PYTHON_LINKFLAGS "-Xlinker -export-dynamic")
 		mark_as_advanced(PYTHON_LINKFLAGS)
+
+		find_file(
+			_Found_PYTHON_H
+			Python.h
+			${PYTHON_INCLUDE_DIRS}
+		)
+
+		if(NOT _Found_PYTHON_H)
+			message(FATAL_ERROR "Python.h not found in  ${PYTHON_INCLUDE_DIRS}")
+		endif()
 	endif()
 
 	if(WITH_SDL)




More information about the Bf-blender-cvs mailing list