2023-10-30 14:29:55 +01:00
|
|
|
if(NOT UNIX)
|
|
|
|
|
execute_process(
|
|
|
|
|
WORKING_DIRECTORY @PROJECT_BINARY_DIR@/python
|
|
|
|
|
COMMAND @Python3_EXECUTABLE@ -m pip install
|
2025-12-08 15:49:23 +01:00
|
|
|
--find-links=dist @PYTHON_PROJECT@==@PROJECT_VERSION@@PYTHON_RELEASE@
|
2023-10-30 14:29:55 +01:00
|
|
|
)
|
|
|
|
|
return()
|
|
|
|
|
endif()
|
|
|
|
|
|
2020-07-16 20:38:23 +00:00
|
|
|
if(DEFINED ENV{DESTDIR})
|
|
|
|
|
# If DESTDIR is not absolute path, make it relative to @PROJECT_BINARY_DIR@
|
|
|
|
|
# like any install() command.
|
|
|
|
|
if(IS_ABSOLUTE $ENV{DESTDIR})
|
2023-10-19 09:34:38 +02:00
|
|
|
set(ROOT "--root='$ENV{DESTDIR}'")
|
2020-07-16 20:38:23 +00:00
|
|
|
else()
|
2023-10-19 09:34:38 +02:00
|
|
|
set(ROOT "--root='@PROJECT_BINARY_DIR@/$ENV{DESTDIR}'")
|
2020-07-16 20:38:23 +00:00
|
|
|
endif()
|
|
|
|
|
else()
|
|
|
|
|
set(ROOT "")
|
|
|
|
|
endif()
|
|
|
|
|
|
2020-11-30 21:11:12 +01:00
|
|
|
# Check if we have system Python on Debian/Ubuntu, if so tell setuptools
|
|
|
|
|
# to use the deb layout (dist-packages instead of site-packages).
|
|
|
|
|
execute_process(
|
2023-10-19 09:34:38 +02:00
|
|
|
COMMAND "@Python3_EXECUTABLE@" -c "import sys; sys.stdout.write(sys.path[-1])"
|
2020-11-30 21:11:12 +01:00
|
|
|
OUTPUT_VARIABLE Python_STDLIB_DIR
|
|
|
|
|
)
|
|
|
|
|
if(Python_STDLIB_DIR MATCHES ".*/dist-packages$")
|
|
|
|
|
set(SETUPTOOLS_INSTALL_LAYOUT "--install-layout=deb")
|
|
|
|
|
else()
|
|
|
|
|
set(SETUPTOOLS_INSTALL_LAYOUT "")
|
|
|
|
|
endif()
|
|
|
|
|
|
2020-07-16 20:38:23 +00:00
|
|
|
execute_process(
|
|
|
|
|
WORKING_DIRECTORY @PROJECT_BINARY_DIR@/python
|
2023-10-19 09:34:38 +02:00
|
|
|
COMMAND "@Python3_EXECUTABLE@" setup.py install
|
2020-07-16 20:38:23 +00:00
|
|
|
${ROOT}
|
2023-10-19 09:34:38 +02:00
|
|
|
--prefix="@CMAKE_INSTALL_PREFIX@"
|
2020-11-30 21:11:12 +01:00
|
|
|
${SETUPTOOLS_INSTALL_LAYOUT}
|
2020-07-16 20:38:23 +00:00
|
|
|
)
|