summaryrefslogtreecommitdiffstats
path: root/Tests/FindPython/VirtualEnv/CMakeLists.txt
blob: dae328269466fd74d9fc2bd0695694c05f04a47a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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 "Failed to find Python 3")
endif()

set (Python3_VIRTUAL_ENV "${CMAKE_CURRENT_BINARY_DIR}/py3venv")
file (REMOVE_RECURSE "${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
                                           --unset=CONDA_PREFIX
                                           "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
                                           --unset=CONDA_PREFIX
                                           "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
                                           --unset=CONDA_PREFIX
                 "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvOnly.cmake")

add_test(NAME FindPython3.VirtualEnvStandard
         COMMAND "${CMAKE_COMMAND}" -E env --unset=PYTHONHOME
                                           --unset=CONDA_PREFIX
                                           "VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
                 "${CMAKE_COMMAND}" "-DPYTHON3_VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
                 -P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvStandard.cmake")