diff options
author | Dominik Holland <dominik.holland@qt.io> | 2021-05-20 15:55:40 +0200 |
---|---|---|
committer | Dominik Holland <dominik.holland@qt.io> | 2021-05-26 18:04:55 +0200 |
commit | 6a14fc6172f687fbbbc6a5a5d0df081508fd2d41 (patch) | |
tree | b5e305c5bb692df3c1bd74fbeea43fb0245da706 /src/ivicore | |
parent | f357bb6e64ea24e4ec27b6d84c94c3a6dadc24fa (diff) | |
download | qtivi-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.cmake | 27 |
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) |