CMakeLists.txt 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. cmake_minimum_required(VERSION 3.1)
  2. project(TestVirtualEnv LANGUAGES NONE)
  3. include(CTest)
  4. find_package(Python3 REQUIRED COMPONENTS Interpreter)
  5. if (NOT Python3_FOUND)
  6. message (FATAL_ERROR "Failed to find Python 3")
  7. endif()
  8. set (Python3_VIRTUAL_ENV "${CMAKE_CURRENT_BINARY_DIR}/py3venv")
  9. file (REMOVE_RECURSE "${CMAKE_CURRENT_BINARY_DIR}/py3venv")
  10. execute_process (COMMAND "${Python3_EXECUTABLE}" -m venv "${Python3_VIRTUAL_ENV}"
  11. RESULT_VARIABLE result
  12. OUTPUT_VARIABLE outputs
  13. ERROR_VARIABLE outputs)
  14. if (result)
  15. message (FATAL_ERROR "Fail to create virtual environment: ${outputs}")
  16. endif()
  17. add_test(NAME FindPython3.VirtualEnvDefault
  18. COMMAND "${CMAKE_COMMAND}" -E env --unset=PYTHONHOME
  19. --unset=CONDA_PREFIX
  20. "VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
  21. "${CMAKE_COMMAND}" "-DPYTHON3_VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
  22. -P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvDefault.cmake")
  23. add_test(NAME FindPython3.VirtualEnvOnly
  24. COMMAND "${CMAKE_COMMAND}" -E env --unset=PYTHONHOME
  25. --unset=CONDA_PREFIX
  26. "VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
  27. "${CMAKE_COMMAND}" "-DPYTHON3_VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
  28. -P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvOnly.cmake")
  29. add_test(NAME FindPython3.UnsetVirtualEnvOnly
  30. COMMAND "${CMAKE_COMMAND}" -E env --unset=PYTHONHOME
  31. --unset=VIRTUAL_ENV
  32. --unset=CONDA_PREFIX
  33. "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvOnly.cmake")
  34. add_test(NAME FindPython3.VirtualEnvStandard
  35. COMMAND "${CMAKE_COMMAND}" -E env --unset=PYTHONHOME
  36. --unset=CONDA_PREFIX
  37. "VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
  38. "${CMAKE_COMMAND}" "-DPYTHON3_VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
  39. -P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvStandard.cmake")