| 
									
										
										
										
											2017-03-21 12:55:50 +08:00
										 |  |  | # Modifed from: https://github.com/nest/nest-simulator/blob/master/cmake/FindCython.cmake
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # Find the Cython compiler.
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # This code sets the following variables:
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | #  CYTHON_FOUND
 | 
					
						
							| 
									
										
										
										
											2017-08-06 07:30:20 +08:00
										 |  |  | #  CYTHON_PATH
 | 
					
						
							|  |  |  | #  CYTHON_EXECUTABLE
 | 
					
						
							| 
									
										
										
										
											2017-03-21 12:55:50 +08:00
										 |  |  | #  CYTHON_VERSION
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # See also UseCython.cmake
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #=============================================================================
 | 
					
						
							|  |  |  | # Copyright 2011 Kitware, Inc.
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # Licensed under the Apache License, Version 2.0 (the "License");
 | 
					
						
							|  |  |  | # you may not use this file except in compliance with the License.
 | 
					
						
							|  |  |  | # You may obtain a copy of the License at
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | #     http://www.apache.org/licenses/LICENSE-2.0
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # Unless required by applicable law or agreed to in writing, software
 | 
					
						
							|  |  |  | # distributed under the License is distributed on an "AS IS" BASIS,
 | 
					
						
							|  |  |  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
					
						
							|  |  |  | # See the License for the specific language governing permissions and
 | 
					
						
							|  |  |  | # limitations under the License.
 | 
					
						
							|  |  |  | #=============================================================================
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Use the Cython executable that lives next to the Python executable
 | 
					
						
							|  |  |  | # if it is a local installation.
 | 
					
						
							| 
									
										
										
										
											2019-03-06 18:00:13 +08:00
										 |  |  | if(GTSAM_PYTHON_VERSION STREQUAL "Default")
 | 
					
						
							|  |  |  |   find_package(PythonInterp)
 | 
					
						
							|  |  |  | else()
 | 
					
						
							|  |  |  |   find_package(PythonInterp ${GTSAM_PYTHON_VERSION} EXACT)
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-21 12:55:50 +08:00
										 |  |  | if ( PYTHONINTERP_FOUND )
 | 
					
						
							| 
									
										
										
										
											2017-04-07 12:08:08 +08:00
										 |  |  |   execute_process( COMMAND "${PYTHON_EXECUTABLE}" "-c" | 
					
						
							| 
									
										
										
										
											2019-01-08 18:28:19 +08:00
										 |  |  |       "import Cython; print(Cython.__path__[0])"
 | 
					
						
							| 
									
										
										
										
											2017-04-07 12:08:08 +08:00
										 |  |  |       RESULT_VARIABLE RESULT
 | 
					
						
							|  |  |  |       OUTPUT_VARIABLE CYTHON_PATH
 | 
					
						
							|  |  |  |       OUTPUT_STRIP_TRAILING_WHITESPACE
 | 
					
						
							|  |  |  |   )
 | 
					
						
							| 
									
										
										
										
											2017-03-21 12:55:50 +08:00
										 |  |  | endif ()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-06 07:30:20 +08:00
										 |  |  | # RESULT=0 means ok
 | 
					
						
							|  |  |  | if ( NOT RESULT )
 | 
					
						
							|  |  |  |   get_filename_component( _python_path ${PYTHON_EXECUTABLE} PATH )
 | 
					
						
							|  |  |  |   find_program( CYTHON_EXECUTABLE | 
					
						
							|  |  |  |       NAMES cython cython.bat cython3
 | 
					
						
							|  |  |  |       HINTS ${_python_path}
 | 
					
						
							|  |  |  |    )
 | 
					
						
							|  |  |  | endif ()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-07 12:08:08 +08:00
										 |  |  | # RESULT=0 means ok
 | 
					
						
							|  |  |  | if ( NOT RESULT )
 | 
					
						
							|  |  |  |   execute_process( COMMAND "${PYTHON_EXECUTABLE}" "-c" | 
					
						
							| 
									
										
										
										
											2019-01-08 18:28:19 +08:00
										 |  |  |       "import Cython; print(Cython.__version__)"
 | 
					
						
							| 
									
										
										
										
											2017-03-21 12:55:50 +08:00
										 |  |  |       RESULT_VARIABLE RESULT
 | 
					
						
							|  |  |  |       OUTPUT_VARIABLE CYTHON_VAR_OUTPUT
 | 
					
						
							|  |  |  |       ERROR_VARIABLE CYTHON_VAR_OUTPUT
 | 
					
						
							|  |  |  |       OUTPUT_STRIP_TRAILING_WHITESPACE
 | 
					
						
							|  |  |  |   )
 | 
					
						
							|  |  |  |   if ( RESULT EQUAL 0 )
 | 
					
						
							|  |  |  |     string( REGEX REPLACE ".* ([0-9]+\\.[0-9]+(\\.[0-9]+)?).*" "\\1" | 
					
						
							|  |  |  |                           CYTHON_VERSION "${CYTHON_VAR_OUTPUT}" )
 | 
					
						
							|  |  |  |   endif ()
 | 
					
						
							|  |  |  | endif ()
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | include( FindPackageHandleStandardArgs )
 | 
					
						
							|  |  |  | find_package_handle_standard_args( Cython | 
					
						
							|  |  |  |   FOUND_VAR
 | 
					
						
							|  |  |  |     CYTHON_FOUND
 | 
					
						
							|  |  |  |   REQUIRED_VARS
 | 
					
						
							| 
									
										
										
										
											2017-04-07 12:08:08 +08:00
										 |  |  |     CYTHON_PATH
 | 
					
						
							| 
									
										
										
										
											2017-08-06 07:30:20 +08:00
										 |  |  |     CYTHON_EXECUTABLE
 | 
					
						
							| 
									
										
										
										
											2017-03-21 12:55:50 +08:00
										 |  |  |   VERSION_VAR
 | 
					
						
							|  |  |  |     CYTHON_VERSION
 | 
					
						
							|  |  |  |     )
 | 
					
						
							|  |  |  | 
 |