summaryrefslogtreecommitdiff
path: root/src/ivicore
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@qt.io>2021-05-20 15:55:40 +0200
committerDominik Holland <dominik.holland@qt.io>2021-05-26 18:04:55 +0200
commit6a14fc6172f687fbbbc6a5a5d0df081508fd2d41 (patch)
treeb5e305c5bb692df3c1bd74fbeea43fb0245da706 /src/ivicore
parentf357bb6e64ea24e4ec27b6d84c94c3a6dadc24fa (diff)
downloadqtivi-6a14fc6172f687fbbbc6a5a5d0df081508fd2d41.tar.gz
cmake: Don't build the virtualenv if the python3 qface package is installed
Change-Id: Ifdb724662b53b6c848ec956578bfe8ade3ab115a Reviewed-by: Robert Griebl <robert.griebl@qt.io>
Diffstat (limited to 'src/ivicore')
-rw-r--r--src/ivicore/Qt6IviCoreMacros.cmake27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/ivicore/Qt6IviCoreMacros.cmake b/src/ivicore/Qt6IviCoreMacros.cmake
index 7bacbcf..2e504b8 100644
--- a/src/ivicore/Qt6IviCoreMacros.cmake
+++ b/src/ivicore/Qt6IviCoreMacros.cmake
@@ -23,7 +23,8 @@ endmacro()
function(qt6_ivigenerator_generate)
internal_resolve_ivigenerator_path()
- if (NOT EXISTS ${VIRTUALENV}/bin/activate AND NOT EXISTS ${VIRTUALENV}/Scripts/activate.bat)
+ if (QT_FEATURE_python3_virtualenv AND NOT QT_FEATURE_system_qface
+ AND NOT EXISTS ${VIRTUALENV}/bin/activate AND NOT EXISTS ${VIRTUALENV}/Scripts/activate.bat)
return()
endif()
@@ -128,19 +129,24 @@ function(qt6_ivigenerator_generate)
# TODO How to best unset those again afterwards ?
# Use cmake -E slee + cmake -E env COMMAND instead ?
#equals(QMAKE_HOST.os, Windows): ENV = chcp 65001 &&
- if ("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
- set(PYTHON_EXECUTABLE ${VIRTUALENV}/Scripts/python.exe)
- file(TO_NATIVE_PATH "${VIRTUALENV}" VIRTUALENV)
+ if (QT_FEATURE_python3_virtualenv AND NOT QT_FEATURE_system_qface)
+ if ("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
+ set(PYTHON_EXECUTABLE ${VIRTUALENV}/Scripts/python.exe)
+ file(TO_NATIVE_PATH "${VIRTUALENV}" VIRTUALENV)
+ else()
+ set(PYTHON_EXECUTABLE ${VIRTUALENV}/bin/python)
+ set(ENV{LC_ALL} en_US.UTF-8)
+ set(ENV{LD_LIBRARY_PATH} ${VIRTUALENV}/bin)
+ endif()
+ set(ENV{PYTHONHOME} ${VIRTUALENV})
+ set(ENV{VIRTUAL_ENV} ${VIRTUALENV})
else()
- set(PYTHON_EXECUTABLE ${VIRTUALENV}/bin/python)
- set(ENV{LC_ALL} en_US.UTF-8)
- set(ENV{LD_LIBRARY_PATH} ${VIRTUALENV}/bin)
+ qt_find_package(Python3 PROVIDED_TARGETS Python3::Interpreter MODULE_NAME ivicore)
+ set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
endif()
if (DEFINED IVIGENERATOR_CONFIG)
set(ENV{IVIGENERATOR_CONFIG} ${IVIGENERATOR_CONFIG})
endif()
- set(ENV{PYTHONHOME} ${VIRTUALENV})
- set(ENV{VIRTUAL_ENV} ${VIRTUALENV})
message(STATUS "Running ivigenerator for ${QFACE_SOURCES}")
execute_process(
@@ -181,7 +187,8 @@ endif()
function(qt6_ivigenerator_include target)
internal_resolve_ivigenerator_path()
- if (NOT EXISTS ${VIRTUALENV}/bin/activate AND NOT EXISTS ${VIRTUALENV}/Scripts/activate.bat)
+ if (QT_FEATURE_python3_virtualenv AND NOT QT_FEATURE_system_qface
+ AND NOT EXISTS ${VIRTUALENV}/bin/activate AND NOT EXISTS ${VIRTUALENV}/Scripts/activate.bat)
# Create a dummy target instead
if (NOT TARGET ${target} AND NOT TEST ${target})
if (DEFINED QtIvi_BINARY_DIR)