CMakeLists.txt 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 "Fail to found Python 3")
  7. endif()
  8. set (Python3_VIRTUAL_ENV "${CMAKE_CURRENT_BINARY_DIR}/py3venv")
  9. execute_process (COMMAND "${Python3_EXECUTABLE}" -m venv "${Python3_VIRTUAL_ENV}"
  10. RESULT_VARIABLE result
  11. OUTPUT_VARIABLE outputs
  12. ERROR_VARIABLE outputs)
  13. if (result)
  14. message (FATAL_ERROR "Fail to create virtual environment: ${outputs}")
  15. endif()
  16. add_test(NAME FindPython3.VirtualEnvDefault
  17. COMMAND "${CMAKE_COMMAND}" -E env --unset=PYTHONHOME
  18. "VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
  19. "${CMAKE_COMMAND}" "-DPYTHON3_VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
  20. -P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvDefault.cmake")
  21. add_test(NAME FindPython3.VirtualEnvOnly
  22. COMMAND "${CMAKE_COMMAND}" -E env --unset=PYTHONHOME
  23. "VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
  24. "${CMAKE_COMMAND}" "-DPYTHON3_VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
  25. -P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvOnly.cmake")
  26. add_test(NAME FindPython3.UnsetVirtualEnvOnly
  27. COMMAND "${CMAKE_COMMAND}" -E env --unset=PYTHONHOME
  28. --unset=VIRTUAL_ENV
  29. "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvOnly.cmake")
  30. add_test(NAME FindPython3.VirtualEnvStandard
  31. COMMAND "${CMAKE_COMMAND}" -E env --unset=PYTHONHOME
  32. "VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
  33. "${CMAKE_COMMAND}" "-DPYTHON3_VIRTUAL_ENV=${Python3_VIRTUAL_ENV}"
  34. -P "${CMAKE_CURRENT_LIST_DIR}/VirtualEnvStandard.cmake")