diff --git a/vinca/generate_gha.py b/vinca/generate_gha.py index 4237e5c..77a6688 100644 --- a/vinca/generate_gha.py +++ b/vinca/generate_gha.py @@ -370,7 +370,10 @@ def build_win_pipeline(stages, trigger_branch, outfile="win.yml", azure_template "runs-on": vm_imagename, "strategy": {"fail-fast": False}, "needs": prev_batch_keys, - "env": {"CONDA_BLD_PATH": "C:\\\\bld\\\\"}, + "env": [ + {"CONDA_BLD_PATH": "C:\\\\bld\\\\"}, + {"VINCA_CUSTOM_CMAKE_BUILD_DIR": "C:\\\\x\\\\"}, + ], "steps": [ {"name": "Checkout code", "uses": "actions/checkout@v6"}, { diff --git a/vinca/templates/bld_ament_cmake.bat.in b/vinca/templates/bld_ament_cmake.bat.in index 46c56dd..d63ef14 100644 --- a/vinca/templates/bld_ament_cmake.bat.in +++ b/vinca/templates/bld_ament_cmake.bat.in @@ -8,6 +8,11 @@ set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" set CC=cl.exe set CXX=cl.exe +:: If defined, can use a custom CMake build directory which can be useful +:: to avoid too long path problems on windows +if defined VINCA_CUSTOM_CMAKE_BUILD_DIR ( + cd /d "%VINCA_CUSTOM_CMAKE_BUILD_DIR%" +) rd /s /q build mkdir build pushd build diff --git a/vinca/templates/build_ament_cmake.sh.in b/vinca/templates/build_ament_cmake.sh.in index 6ac7b5b..40bb91c 100644 --- a/vinca/templates/build_ament_cmake.sh.in +++ b/vinca/templates/build_ament_cmake.sh.in @@ -3,6 +3,9 @@ set -eo pipefail +if [[ -n "$VINCA_CUSTOM_CMAKE_BUILD_DIR" ]]; then + cd "$VINCA_CUSTOM_CMAKE_BUILD_DIR" +fi rm -rf build mkdir build cd build