File: FindCython.cmake

package info (click to toggle)
neuron 8.2.6-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 34,760 kB
  • sloc: cpp: 149,571; python: 58,465; ansic: 50,329; sh: 3,510; xml: 213; pascal: 51; makefile: 35; sed: 5
file content (60 lines) | stat: -rw-r--r-- 2,053 bytes parent folder | download | duplicates (3)
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)
# ~~~