| 
									
										
										
										
											2011-03-10 00:25:35 +00:00
										 |  |  | # - Find python libraries
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | #  PYTHON_VERSION
 | 
					
						
							|  |  |  | #  PYTHON_INCLUDE_DIRS
 | 
					
						
							|  |  |  | #  PYTHON_LIBRARY
 | 
					
						
							|  |  |  | #  PYTHON_LIBPATH
 | 
					
						
							| 
									
										
										
										
											2011-04-12 11:09:10 +00:00
										 |  |  | #  PYTHON_LINKFLAGS
 | 
					
						
							| 
									
										
										
										
											2011-03-10 00:25:35 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #=============================================================================
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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})
 | 
					
						
							| 
									
										
										
										
											2011-06-14 00:24:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-10 00:25:35 +00:00
										 |  |  | set(_Python_PATHS | 
					
						
							| 
									
										
										
										
											2011-06-14 00:24:50 +00:00
										 |  |  | 	"$ENV{HOME}/py${_PYTHON_VERSION_NO_DOTS}"
 | 
					
						
							|  |  |  | 	"/opt/py${_PYTHON_VERSION_NO_DOTS}"
 | 
					
						
							|  |  |  | 	"/usr"
 | 
					
						
							|  |  |  | 	"/usr/local"
 | 
					
						
							|  |  |  | )
 | 
					
						
							| 
									
										
										
										
											2011-03-10 00:25:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-14 00:24:50 +00:00
										 |  |  | if(NOT DEFINED PYTHON_INCLUDE_DIRS OR | 
					
						
							|  |  |  |    NOT DEFINED PYTHON_LIBRARY OR
 | 
					
						
							|  |  |  |    NOT DEFINED PYTHON_LIBPATH)
 | 
					
						
							|  |  |  |    
 | 
					
						
							| 
									
										
										
										
											2011-03-10 00:25:35 +00:00
										 |  |  | 	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()
 | 
					
						
							| 
									
										
										
										
											2011-06-11 06:00:28 +00:00
										 |  |  | 	
 | 
					
						
							|  |  |  | 	unset(_Found_PYTHON_H)
 | 
					
						
							|  |  |  | 	unset(_Python_HEADER)
 | 
					
						
							|  |  |  | 	unset(_CURRENT_ABI_FLAGS)
 | 
					
						
							|  |  |  | 	unset(_CURRENT_PATH)
 | 
					
						
							| 
									
										
										
										
											2011-06-14 00:24:50 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	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 "")
 | 
					
						
							| 
									
										
										
										
											2011-03-10 00:25:35 +00:00
										 |  |  | endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-11 06:00:28 +00:00
										 |  |  | unset(_Python_ABI_FLAGS)
 | 
					
						
							|  |  |  | unset(_Python_PATHS)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-10 00:25:35 +00:00
										 |  |  | #=============================================================================
 | 
					
						
							|  |  |  | # now the python versions are found
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if(NOT EXISTS "${PYTHON_INCLUDE_DIRS}/Python.h")
 | 
					
						
							|  |  |  | 	message(FATAL_ERROR " Missing python header: ${PYTHON_INCLUDE_DIRS}/Python.h")
 | 
					
						
							|  |  |  | endif()
 |