1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
# ~~~
# Find the Cython compiler.
#
# This code sets the following variables:
#
# CYTHON_EXECUTABLE
#
# 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.
find_package(PythonInterp)
if(PYTHONINTERP_FOUND)
get_filename_component(_python_path ${PYTHON_EXECUTABLE} PATH)
find_program(
CYTHON_EXECUTABLE
NAMES cython cython.bat cython3
HINTS ${_python_path})
else()
find_program(CYTHON_EXECUTABLE NAMES cython cython.bat cython3)
endif()
if(NOT CYTHON_EXECUTABLE STREQUAL "CYTHON_EXECUTABLE-NOTFOUND")
execute_process(
COMMAND ${CYTHON_EXECUTABLE} --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}")
else()
message(STATUS "Found Cython: ${CYTHON_EXECUTABLE}")
message(FATAL_ERROR "Cython error [${RESULT}]: ${CYTHON_VAR_OUTPUT}.")
endif()
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
Cython
FOUND_VAR CYTHON_FOUND
REQUIRED_VARS CYTHON_EXECUTABLE
VERSION_VAR CYTHON_VERSION)
mark_as_advanced(CYTHON_EXECUTABLE)
# ~~~
|