35 lines
1.2 KiB
CMake
35 lines
1.2 KiB
CMake
|
# Find the Python NumPy package
|
||
|
# PYTHON_NUMPY_3_INCLUDE_DIR
|
||
|
# PYTHON_NUMPY_3_FOUND
|
||
|
# will be set by this script
|
||
|
|
||
|
cmake_minimum_required(VERSION 2.6)
|
||
|
|
||
|
set(PYTHON_EXECUTABLE "python3")
|
||
|
|
||
|
if (PYTHON_EXECUTABLE)
|
||
|
# Find out the include path
|
||
|
execute_process(
|
||
|
COMMAND "${PYTHON_EXECUTABLE}" -c
|
||
|
"from __future__ import print_function\ntry: import numpy; print(numpy.get_include(), end='')\nexcept:pass\n"
|
||
|
OUTPUT_VARIABLE __numpy_path)
|
||
|
# And the version
|
||
|
execute_process(
|
||
|
COMMAND "${PYTHON_EXECUTABLE}" -c
|
||
|
"from __future__ import print_function\ntry: import numpy; print(numpy.__version__, end='')\nexcept:pass\n"
|
||
|
OUTPUT_VARIABLE __numpy_version)
|
||
|
elseif(__numpy_out)
|
||
|
message(STATUS "Python executable not found.")
|
||
|
endif(PYTHON_EXECUTABLE)
|
||
|
|
||
|
find_path(PYTHON_NUMPY_3_INCLUDE_DIR numpy/arrayobject.h
|
||
|
HINTS "${__numpy_path}" "${PYTHON_INCLUDE_PATH}" NO_DEFAULT_PATH)
|
||
|
|
||
|
if(PYTHON_NUMPY_3_INCLUDE_DIR)
|
||
|
set(PYTHON_NUMPY_3_FOUND 1 CACHE INTERNAL "Python numpy found")
|
||
|
endif(PYTHON_NUMPY_3_INCLUDE_DIR)
|
||
|
|
||
|
include(FindPackageHandleStandardArgs)
|
||
|
find_package_handle_standard_args(NumPy REQUIRED_VARS PYTHON_NUMPY_3_INCLUDE_DIR
|
||
|
VERSION_VAR __numpy_version)
|