82 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			CMake
		
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			CMake
		
	
	
| # 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
 | |
| #  CYTHON_PATH
 | |
| #  CYTHON_EXECUTABLE
 | |
| #  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.
 | |
| if(GTSAM_PYTHON_VERSION STREQUAL "Default")
 | |
|   find_package(PythonInterp)
 | |
| else()
 | |
|   find_package(PythonInterp ${GTSAM_PYTHON_VERSION} EXACT)
 | |
| endif()
 | |
| 
 | |
| if ( PYTHONINTERP_FOUND )
 | |
|   execute_process( COMMAND "${PYTHON_EXECUTABLE}" "-c"
 | |
|       "import Cython; print(Cython.__path__[0])"
 | |
|       RESULT_VARIABLE RESULT
 | |
|       OUTPUT_VARIABLE CYTHON_PATH
 | |
|       OUTPUT_STRIP_TRAILING_WHITESPACE
 | |
|   )
 | |
| endif ()
 | |
| 
 | |
| # 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 ()
 | |
| 
 | |
| # RESULT=0 means ok
 | |
| if ( NOT RESULT )
 | |
|   execute_process( COMMAND "${PYTHON_EXECUTABLE}" "-c"
 | |
|       "import Cython; print(Cython.__version__)"
 | |
|       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
 | |
|     CYTHON_PATH
 | |
|     CYTHON_EXECUTABLE
 | |
|   VERSION_VAR
 | |
|     CYTHON_VERSION
 | |
|     )
 | |
| 
 |