aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorGriffin Downs <35574547+grdowns@users.noreply.github.com>2019-04-05 13:23:17 -0700
committerGitHub <noreply@github.com>2019-04-05 13:23:17 -0700
commita141b603b93cce21f67733e649fbd076ade74393 (patch)
treef97cd91cefcc493b0f51d9272c41d683561bbd43 /scripts
parente81d8c5cc87fef05f3ee379f89a0fa3c3ea5c393 (diff)
parent8bd9e3a976bfb928e05f07b3eb1be63a728b6685 (diff)
downloadvcpkg-a141b603b93cce21f67733e649fbd076ade74393.tar.gz
vcpkg-a141b603b93cce21f67733e649fbd076ade74393.zip
Merge pull request #5935 from ras0219-msft/dev/roschuma/vtk
[vtk] Fix flaky builds by using system libraries
Diffstat (limited to 'scripts')
-rw-r--r--scripts/cmake/vcpkg_build_cmake.cmake29
1 files changed, 28 insertions, 1 deletions
diff --git a/scripts/cmake/vcpkg_build_cmake.cmake b/scripts/cmake/vcpkg_build_cmake.cmake
index 2f0da07f9..e86632c7e 100644
--- a/scripts/cmake/vcpkg_build_cmake.cmake
+++ b/scripts/cmake/vcpkg_build_cmake.cmake
@@ -162,6 +162,33 @@ function(vcpkg_build_cmake)
endif()
endwhile()
endif()
+ elseif(out_contents MATCHES "mt : general error c101008d: ")
+ # Antivirus workaround - occasionally files are locked and cause mt.exe to fail
+ set(ITERATION 0)
+ while (ITERATION LESS 3 AND out_contents MATCHES "mt : general error c101008d: ")
+ MATH(EXPR ITERATION "${ITERATION}+1")
+ message(STATUS "Restarting Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} because of mt.exe file locking issue. Iteration: ${ITERATION}")
+ execute_process(
+ COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS}
+ OUTPUT_FILE "${LOGPREFIX}-out-${ITERATION}.log"
+ ERROR_FILE "${LOGPREFIX}-err-${ITERATION}.log"
+ RESULT_VARIABLE error_code
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE})
+
+ if(error_code)
+ file(READ "${LOGPREFIX}-out-${ITERATION}.log" out_contents)
+ file(READ "${LOGPREFIX}-err-${ITERATION}.log" err_contents)
+
+ if(out_contents)
+ list(APPEND LOGS "${LOGPREFIX}-out-${ITERATION}.log")
+ endif()
+ if(err_contents)
+ list(APPEND LOGS "${LOGPREFIX}-err-${ITERATION}.log")
+ endif()
+ else()
+ break()
+ endif()
+ endwhile()
endif()
if(error_code)
@@ -170,7 +197,7 @@ function(vcpkg_build_cmake)
file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG)
list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n")
endforeach()
- set(_eb_COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${NO_PARALLEL_ARG})
+ set(_eb_COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG})
set(_eb_WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE})
message(FATAL_ERROR
" Command failed: ${_eb_COMMAND}\n"