summaryrefslogtreecommitdiff
path: root/scripts/cmake/source_gen_utils.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/cmake/source_gen_utils.cmake')
-rw-r--r--scripts/cmake/source_gen_utils.cmake18
1 files changed, 14 insertions, 4 deletions
diff --git a/scripts/cmake/source_gen_utils.cmake b/scripts/cmake/source_gen_utils.cmake
index ccce7e7..cd2698c 100644
--- a/scripts/cmake/source_gen_utils.cmake
+++ b/scripts/cmake/source_gen_utils.cmake
@@ -258,13 +258,23 @@ endfunction()
# outlined above.
##############################################################################
function(setup_source_generator)
+
+ # If a virtual env has been created in the resources_downloaded directory,
+ # use it for source generator. Else, fall back to creating a virtual env
+ # in the current build directory.
+ if (EXISTS ${RESOURCES_DIR}/env)
+ set(DEFAULT_VENV_DIR ${RESOURCES_DIR}/env)
+ else()
+ set(DEFAULT_VENV_DIR ${CMAKE_BINARY_DIR}/venv)
+ endif()
+
if (${CMAKE_HOST_WIN32})
-# windows python3 has python.exe
+ # Windows Python3 is python.exe
set(PY_EXEC python)
- set(PYTHON ${CMAKE_BINARY_DIR}/pyenv/Scripts/${PY_EXEC})
+ set(PYTHON ${DEFAULT_VENV_DIR}/Scripts/${PY_EXEC})
else()
set(PY_EXEC python3)
- set(PYTHON ${CMAKE_BINARY_DIR}/pyenv/bin/${PY_EXEC})
+ set(PYTHON ${DEFAULT_VENV_DIR}/bin/${PY_EXEC})
endif()
set(PYTHON ${PYTHON} PARENT_SCOPE)
@@ -276,7 +286,7 @@ function(setup_source_generator)
message(STATUS "Configuring python environment at ${PYTHON}")
execute_process(
- COMMAND ${PY_EXEC} -m venv ${CMAKE_BINARY_DIR}/pyenv
+ COMMAND ${PY_EXEC} -m venv ${DEFAULT_VENV_DIR}
RESULT_VARIABLE return_code
)
if (NOT return_code STREQUAL "0")