8000 fix CMakeLists.txt · xtensor-stack/xtensor-python@43197be · GitHub
[go: up one dir, main page]

Skip to content

Commit 43197be

Browse files
fix CMakeLists.txt
1 parent 520e4f8 commit 43197be

File tree

2 files changed

+16
-116
lines changed

2 files changed

+16
-116
lines changed

CMakeLists.txt

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# The full license is in the file LICENSE, distributed with this software. #
88
############################################################################
99

10-
cmake_minimum_required(VERSION 3.29)
10+
cmake_minimum_required(VERSION 3.14)
1111
project(xtensor-python)
1212

1313
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
@@ -25,14 +25,14 @@ foreach(ver ${xtensor_python_version_defines})
2525
set(XTENSOR_PYTHON_VERSION_${CMAKE_MATCH_1} "${CMAKE_MATCH_2}" CACHE INTERNAL "")
2626
endif()
2727
endforeach()
28-
set(${PROJECT_NAME}_VERSION
28+
set(${PROJECT_NAME}_VERSION
2929
${XTENSOR_PYTHON_VERSION_MAJOR}.${XTENSOR_PYTHON_VERSION_MINOR}.${XTENSOR_PYTHON_VERSION_PATCH})
3030
message(STATUS "xtensor-python v${${PROJECT_NAME}_VERSION}")
3131

3232
# Dependencies
3333
# ============
3434

35-
set(xtensor_REQUIRED_VERSION 0.26.0)
35+
set(xtensor_REQUIRED_VERSION 0.25.0)
3636
if(TARGET xtensor)
3737
set(xtensor_VERSION ${XTENSOR_VERSION_MAJOR}.${XTENSOR_VERSION_MINOR}.${XTENSOR_VERSION_PATCH})
3838
# Note: This is not SEMVER compatible comparison
@@ -46,27 +46,23 @@ else()
4646
message(STATUS "Found xtensor: ${xtensor_INCLUDE_DIRS}/xtensor")
4747
endif()
4848

49-
find_package(Python COMPONENTS Interpreter REQUIRED)
49+
# Running find_package(PythonInterp) to retrieve the Python version
50+
# which is not exported by Pybind11's cmake.
51+
# Cf. https://github.com/pybind/pybind11/issues/2268
52+
#find_package(PythonInterp ${PythonLibsNew_FIND_VERSION} REQUIRED)
53+
# the above line uses a deprecated cmake method, use the following instead
54+
find_package(Python COMPONENTS Interpreter Development.Module NumPy REQUIRED)
5055

5156
set(pybind11_REQUIRED_VERSION 2.6.1)
52-
if (NOT TARGET pybind11::headers)
53-
# Defaults to ON for cmake >= 3.18
54-
# https://github.com/pybind/pybind11/blob/35ff42b56e9d34d9a944266eb25f2c899dbdfed7/CMakeLists.txt#L96
55-
set(PYBIND11_FINDPYTHON OFF)
56-
find_package(pybind11 ${pybind11_REQUIRED_VERSION} REQUIRED)
57-
message(STATUS "Found pybind11: ${pybind11_INCLUDE_DIRS}/pybind11")
58-
else ()
57+
if(TARGET pybind11 OR TARGET pybind11::headers)
5958
# pybind11 has a variable that indicates its version already, so use that
6059
message(STATUS "Found pybind11 v${pybind11_VERSION}")
61-
endif ()
62-
63-
# Look for NumPy headers, except if NUMPY_INCLUDE_DIRS is passed,
64-
# which is required under some circumstances (such as wasm, where
65-
# there is no real python executable)
66-
if(NOT NUMPY_INCLUDE_DIRS)
67-
find_package(NumPy REQUIRED)
60+
else()
61+
find_package(pybind11 ${pybind11_REQUIRED_VERSION} REQUIRED)
62+
message(STATUS "Found pybind11: ${pybind11_INCLUDE_DIRS}/pybind11")
6863
endif()
69-
message(STATUS "Found numpy: ${NUMPY_INCLUDE_DIRS}")
64+
65+
message(STATUS "Found numpy: ${Python_NumPy_INCLUDE_DIR}")
7066

7167
# Build
7268
# =====
@@ -85,7 +81,7 @@ set(XTENSOR_PYTHON_HEADERS
8581

8682
add_library(xtensor-python INTERFACE)
8783
target_include_directories(xtensor-python INTERFACE
88-
"$<BUILD_INTERFACE:${XTENSOR_PYTHON_INCLUDE_DIR};${pybind11_INCLUDE_DIRS};${NUMPY_INCLUDE_DIRS}>"
84+
"$<BUILD_INTERFACE:${XTENSOR_PYTHON_INCLUDE_DIR};${pybind11_INCLUDE_DIRS};${Python_NumPy_INCLUDE_DIR}>"
8985
$<INSTALL_INTERFACE:include>)
9086
target_link_libraries(xtensor-python INTERFACE xtensor)
9187
get_target_property(inc_dir xtensor-python INTERFACE_INCLUDE_DIRECTORIES)
@@ -124,12 +120,6 @@ export(EXPORT ${PROJECT_NAME}-targets
124120
install(FILES ${XTENSOR_PYTHON_HEADERS}
125121
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/xtensor-python)
126122

127-
configure_file(${PROJECT_NAME}.pc.in
128-
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc"
129-
@ONLY)
130-
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc"
131-
DESTINATION "${CMAKE_INSTALL_DATADIR}/pkgconfig/")
132-
133123
set(XTENSOR_PYTHON_CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" CACHE
134124
STRING "install path for xtensor-pythonConfig.cmake")
135125

@@ -152,4 +142,3 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
152142
install(EXPORT ${PROJECT_NAME}-targets
153143
FILE ${PROJECT_NAME}Targets.cmake
154144
DESTINATION ${XTENSOR_PYTHON_CMAKECONFIG_INSTALL_DIR})
155-

cmake/FindNumPy.cmake

Lines changed: 0 additions & 89 deletions
This file was deleted.

0 commit comments

Comments
 (0)
0