mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-24 07:08:38 -05:00
FindPython*: Add capability to control virtual env handling.
Fixes: #19097
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
|
||||
project(TestVirtualEnv LANGUAGES NONE)
|
||||
|
||||
include(CTest)
|
||||
|
||||
find_package(Python3 REQUIRED COMPONENTS Interpreter)
|
||||
if (NOT Python3_FOUND)
|
||||
message (FATAL_ERROR "Fail to found Python 3")
|
||||
endif()
|
||||
|
||||
set (Python3_VIRTUAL_ENV "${CMAKE_CURRENT_BINARY_DIR}/py3venv")
|
||||
|
||||
execute_process (COMMAND "${Python3_EXECUTABLE}" -m venv "${Python3_VIRTUAL_ENV}"
|
||||
RESULT_VARIABLE result
|
||||
OUTPUT_VARIABLE outputs
|
||||
ERROR_VARIABLE outputs)
|
||||
if (result)
|
||||
message (FATAL_ERROR "Fail to create virtual environment: ${outputs}")
|
||||
endif()
|
||||
|
||||
add_test(NAME FindPython3.VirtualEnvDefault
|
||||
COMMAND "${CMAKE_COMMAND}" -E env --unset=PYTHONHOME
|
||||
"VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
|
||||
"${CMAKE_COMMAND}" "-DPYTHON3_VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
|
||||
-P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvDefault.cmake")
|
||||
|
||||
add_test(NAME FindPython3.VirtualEnvOnly
|
||||
COMMAND "${CMAKE_COMMAND}" -E env --unset=PYTHONHOME
|
||||
"VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
|
||||
"${CMAKE_COMMAND}" "-DPYTHON3_VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
|
||||
-P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvOnly.cmake")
|
||||
add_test(NAME FindPython3.UnsetVirtualEnvOnly
|
||||
COMMAND "${CMAKE_COMMAND}" -E env --unset=PYTHONHOME
|
||||
--unset=VIRTUAL_ENV
|
||||
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvOnly.cmake")
|
||||
|
||||
add_test(NAME FindPython3.VirtualEnvStandard
|
||||
COMMAND "${CMAKE_COMMAND}" -E env --unset=PYTHONHOME
|
||||
"VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
|
||||
"${CMAKE_COMMAND}" "-DPYTHON3_VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
|
||||
-P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvStandard.cmake")
|
||||
Reference in New Issue
Block a user