summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Pentchev <roam@ringlet.net>2022-09-05 16:28:57 +0300
committerPeter Pentchev <roam@debian.org>2022-09-05 16:28:57 +0300
commitd1dabf2e2ddaba5c6fede65416f796753b944255 (patch)
tree54183bb3abbb29268e392ba8c06f6d042f332119
parent77521ae992dd6fcbd91d1f42fbff3d262e07af2c (diff)
Make the Python module build with scikit-build
Forwarded: no Last-Update: 2022-09-05 Gbp-Pq: Name python-skbuild-path.patch
-rw-r--r--src/python/CMakeLists.txt25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt
index a31b14d..d477822 100644
--- a/src/python/CMakeLists.txt
+++ b/src/python/CMakeLists.txt
@@ -10,10 +10,11 @@ ENDMACRO(PYTHON_UNSET)
if (NOT SKBUILD)
PYTHON_UNSET()
SET(Python_ADDITIONAL_VERSIONS 3.0 CACHE INTERNAL "")
- FIND_PACKAGE(PythonInterp 3 REQUIRED)
- FIND_PACKAGE(PythonLibs 3 REQUIRED)
endif (NOT SKBUILD)
+FIND_PACKAGE(PythonInterp 3 REQUIRED)
+FIND_PACKAGE(PythonLibs 3 REQUIRED)
+
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from sysconfig import get_path; stdout.write(get_path('platlib'))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH})
@@ -58,23 +59,19 @@ TARGET_LINK_LIBRARIES(_createrepo_c
)
IF (SKBUILD)
+ EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "import importlib.resources; print(importlib.resources.path('skbuild', 'resources') / 'cmake', end='')" OUTPUT_VARIABLE PYTHON_SKLIB_CMAKE_DIR)
+ MESSAGE(STATUS "Python skbuild CMake dir is ${PYTHON_SKLIB_CMAKE_DIR}")
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PYTHON_SKLIB_CMAKE_DIR}/")
find_package(PythonExtensions REQUIRED)
python_extension_module(_createrepo_c)
ELSE ()
TARGET_LINK_LIBRARIES(_createrepo_c ${PYTHON_LIBRARY})
ENDIF ()
-IF (NOT SKBUILD)
- FILE(COPY createrepo_c/__init__.py DESTINATION createrepo_c)
-ENDIF()
+FILE(COPY createrepo_c/__init__.py DESTINATION createrepo_c)
-IF (SKBUILD)
- INSTALL(FILES createrepo_c/__init__.py DESTINATION src/python/createrepo_c)
- INSTALL(TARGETS _createrepo_c LIBRARY DESTINATION src/python/createrepo_c)
-ELSE ()
- INSTALL(FILES createrepo_c/__init__.py DESTINATION ${PYTHON_INSTALL_DIR}/createrepo_c)
- INSTALL(TARGETS _createrepo_c LIBRARY DESTINATION ${PYTHON_INSTALL_DIR}/createrepo_c)
+INSTALL(FILES createrepo_c/__init__.py DESTINATION ${PYTHON_INSTALL_DIR}/createrepo_c)
+INSTALL(TARGETS _createrepo_c LIBRARY DESTINATION ${PYTHON_INSTALL_DIR}/createrepo_c)
- # Version has to be passed as last argument.
- INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/utils/setup_for_python_metadata.py install_egg_info --install-dir \$ENV{DESTDIR}/${PYTHON_INSTALL_DIR} ${VERSION})")
-ENDIF ()
+# Version has to be passed as last argument.
+INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/utils/setup_for_python_metadata.py install_egg_info --install-dir \$ENV{DESTDIR}/${PYTHON_INSTALL_DIR} ${VERSION})")