summaryrefslogtreecommitdiffstats
path: root/src/interfaceframework/Qt6InterfaceFrameworkMacros.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaceframework/Qt6InterfaceFrameworkMacros.cmake')
-rw-r--r--src/interfaceframework/Qt6InterfaceFrameworkMacros.cmake12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/interfaceframework/Qt6InterfaceFrameworkMacros.cmake b/src/interfaceframework/Qt6InterfaceFrameworkMacros.cmake
index e712acfe..e4e32ce2 100644
--- a/src/interfaceframework/Qt6InterfaceFrameworkMacros.cmake
+++ b/src/interfaceframework/Qt6InterfaceFrameworkMacros.cmake
@@ -331,12 +331,24 @@ function(qt6_ifcodegen_generate)
if ("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
set(PYTHON_EXECUTABLE ${QT_IFCODEGEN_VIRTUALENV_PATH}/Scripts/python.exe)
file(TO_NATIVE_PATH "${QT_IFCODEGEN_VIRTUALENV_PATH}" QT_IFCODEGEN_VIRTUALENV_PATH)
+ if (NOT DEFINED QT_IFCODEGEN_VIRTUALENV_PYTHON_VERSION)
+ file(GLOB _PYTHON_PATH ${QT_IFCODEGEN_VIRTUALENV_PATH}/Scripts/python3*.dll)
+ string(REGEX MATCH "python3([0-9]+).dll" VERSION ${_PYTHON_PATH})
+ set(QT_IFCODEGEN_VIRTUALENV_PYTHON_VERSION 3.${CMAKE_MATCH_1} CACHE STRING "ifcodegen virtualenv python version")
+ endif()
else()
+ if (NOT DEFINED QT_IFCODEGEN_VIRTUALENV_PYTHON_VERSION)
+ file(GLOB _PYTHON_PATH ${QT_IFCODEGEN_VIRTUALENV_PATH}/bin/python3.*)
+ string(REGEX MATCH "python(3.[0-9]+)" VERSION ${_PYTHON_PATH})
+ set(QT_IFCODEGEN_VIRTUALENV_PYTHON_VERSION ${CMAKE_MATCH_1} CACHE STRING "ifcodegen virtualenv python version")
+ endif()
set(PYTHON_EXECUTABLE ${QT_IFCODEGEN_VIRTUALENV_PATH}/bin/python)
set(ENV{LC_ALL} en_US.UTF-8)
set(ENV{LD_LIBRARY_PATH} ${QT_IFCODEGEN_VIRTUALENV_PATH}/bin)
endif()
set(ENV{VIRTUAL_ENV} ${QT_IFCODEGEN_VIRTUALENV_PATH})
+ set(ENV{PYTHONPATH} ${QT_IFCODEGEN_VIRTUALENV_PATH}/lib/python${QT_IFCODEGEN_VIRTUALENV_PYTHON_VERSION}/site-packages)
+ set(ENV{PYTHONHOME} ${QT_IFCODEGEN_VIRTUALENV_PATH})
else()
include(QtFindPackageHelpers)
qt_find_package(Python3 PROVIDED_TARGETS Python3::Interpreter MODULE_NAME interfaceframework)