This repository was archived by the owner on Aug 28, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixed bug in FindCython.cmake and added my own version to the repo
- Loading branch information
MintoDA1
authored and
MintoDA1
committed
Aug 9, 2023
1 parent
d029272
commit 317c8a1
Showing
1 changed file
with
89 additions
and
0 deletions.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,89 @@ | ||
| #.rst: | ||
| # | ||
| # Find ``cython`` executable. | ||
| # | ||
| # This module will set the following variables in your project: | ||
| # | ||
| # ``CYTHON_EXECUTABLE`` | ||
| # path to the ``cython`` program | ||
| # | ||
| # ``CYTHON_VERSION`` | ||
| # version of ``cython`` | ||
| # | ||
| # ``CYTHON_FOUND`` | ||
| # true if the program was found | ||
| # | ||
| # For more information on the Cython project, see https://cython.org/. | ||
| # | ||
| # *Cython is a language that makes writing C extensions for the Python language | ||
| # as easy as Python itself.* | ||
| # | ||
| #============================================================================= | ||
| # Copyright 2011 Kitware, Inc. | ||
| # Modified 2023 by David A. Minton (daminton@purdue.edu) | ||
| # | ||
| # 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(Python_EXECUTABLE) | ||
| get_filename_component(_python_path ${Python_EXECUTABLE} PATH) | ||
| elseif(Python3_EXECUTABLE) | ||
| get_filename_component(_python_path ${Python3_EXECUTABLE} PATH) | ||
| elseif(DEFINED PYTHON_EXECUTABLE) | ||
| get_filename_component(_python_path ${PYTHON_EXECUTABLE} PATH) | ||
| endif() | ||
|
|
||
| if(DEFINED _python_path) | ||
| find_program(CYTHON_EXECUTABLE | ||
| NAMES cython cython.bat cython3 | ||
| HINTS ${_python_path} | ||
| DOC "path to the cython executable") | ||
| else() | ||
| find_program(CYTHON_EXECUTABLE | ||
| NAMES cython cython.bat cython3 | ||
| DOC "path to the cython executable") | ||
| endif() | ||
|
|
||
| if(CYTHON_EXECUTABLE) | ||
| set(CYTHON_version_command "${CYTHON_EXECUTABLE} --version") # Added quotes to prevent the string from having a ; inserted in the space | ||
|
|
||
| execute_process(COMMAND ${CYTHON_version_command} | ||
| OUTPUT_VARIABLE CYTHON_version_output | ||
| ERROR_VARIABLE CYTHON_version_error | ||
| RESULT_VARIABLE CYTHON_version_result | ||
| OUTPUT_STRIP_TRAILING_WHITESPACE | ||
| ERROR_STRIP_TRAILING_WHITESPACE) | ||
|
|
||
| if(NOT ${CYTHON_version_result} EQUAL 0) | ||
| set(_error_msg "Command \"${CYTHON_version_command}\" failed with") | ||
| set(_error_msg "${_error_msg} output:\n${CYTHON_version_error}") | ||
| message(SEND_ERROR "${_error_msg}") | ||
| else() | ||
| if("${CYTHON_version_output}" MATCHES "^[Cc]ython version ([^,]+)") | ||
| set(CYTHON_VERSION "${CMAKE_MATCH_1}") | ||
| else() | ||
| if("${CYTHON_version_error}" MATCHES "^[Cc]ython version ([^,]+)") | ||
| set(CYTHON_VERSION "${CMAKE_MATCH_1}") | ||
| endif() | ||
| endif() | ||
| endif() | ||
| endif() | ||
|
|
||
| include(FindPackageHandleStandardArgs) | ||
| FIND_PACKAGE_HANDLE_STANDARD_ARGS(Cython REQUIRED_VARS CYTHON_EXECUTABLE) | ||
|
|
||
| mark_as_advanced(CYTHON_EXECUTABLE) | ||
|
|
||
| include(UseCython) |