From 962918629bc83a4da291b8f30ff4d9caabf43e21 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Thu, 10 Dec 2020 17:55:24 +0100 Subject: [PATCH] qbs: fix installing doc dependenices on macOS and Windows python still aliases to python 2.7 on macOS, so we need a smarter way to find python3. Change-Id: I229d8c1e124fb599119991b44c0f6d88d39b1684 Reviewed-by: Eike Ziller --- .github/workflows/build_cmake.yml | 10 +++++++++- scripts/build.py | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index a0c7ca5e883..a72eb318ef1 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -330,8 +330,12 @@ jobs: message(FATAL_ERROR "Failed to install dependencies") endif() endif() + find_package(Python3 REQUIRED COMPONENTS Interpreter) + # hack to replace 32-bit python found by this script with 64-bit one + # required for linking qtcreatorcdbext + string(REPLACE "x86" "x64" Python3_EXECUTABLE "${Python3_EXECUTABLE}") execute_process( - COMMAND python -m pip install --user beautifulsoup4 lxml + COMMAND ${Python3_EXECUTABLE} -m pip install --user beautifulsoup4 lxml RESULT_VARIABLE result ) if (NOT result EQUAL 0) @@ -394,6 +398,9 @@ jobs: set(ELFUTILS_OPTION) endif() + find_package(Python3 REQUIRED COMPONENTS Interpreter) + string(REPLACE "x86" "x64" Python3_EXECUTABLE "${Python3_EXECUTABLE}") + execute_process( COMMAND python -u @@ -403,6 +410,7 @@ jobs: --build build --qt-path "${{ steps.qt.outputs.qt_dir }}" --llvm-path "${{ steps.libclang.outputs.libclang_dir }}" + --python3 "${Python3_EXECUTABLE}" --with-tests ${CDB_OPTION} ${ELFUTILS_OPTION} diff --git a/scripts/build.py b/scripts/build.py index c4b2e36cc7e..1aa491f1bc1 100755 --- a/scripts/build.py +++ b/scripts/build.py @@ -132,6 +132,7 @@ def build_qtcreator(args, paths): if args.python3: cmake_args += ['-DPYTHON_EXECUTABLE=' + args.python3] + cmake_args += ['-DPython3_EXECUTABLE=' + args.python3] if args.module_paths: module_paths = [common.to_posix_path(os.path.abspath(fp)) for fp in args.module_paths]