diff options
| author | Barath Kannan <barathsotd@gmail.com> | 2016-10-25 20:56:02 +1100 |
|---|---|---|
| committer | Barath Kannan <barathsotd@gmail.com> | 2016-10-25 20:56:02 +1100 |
| commit | 162ba52f43d2463150bbf81d65ae218a1df11814 (patch) | |
| tree | b332a01a981b916d81817120d5b1ca6f8e675aa9 /scripts | |
| parent | 7e19b17a07c45b3b4b5ab3972e84bac90c0b64f9 (diff) | |
| download | vcpkg-162ba52f43d2463150bbf81d65ae218a1df11814.tar.gz vcpkg-162ba52f43d2463150bbf81d65ae218a1df11814.zip | |
need a function to repeatedly build up to a number of failures, since qt builds are so flaky
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/cmake/vcpkg_common_functions.cmake | 3 | ||||
| -rw-r--r-- | scripts/cmake/vcpkg_execute_required_process_repeat.cmake | 28 | ||||
| -rw-r--r-- | scripts/cmake/vcpkg_find_acquire_program.cmake | 2 |
3 files changed, 31 insertions, 2 deletions
diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake index 59824eb17..f1bbdb9e3 100644 --- a/scripts/cmake/vcpkg_common_functions.cmake +++ b/scripts/cmake/vcpkg_common_functions.cmake @@ -1,10 +1,11 @@ include(vcpkg_download_distfile) include(vcpkg_extract_source_archive) include(vcpkg_execute_required_process) +include(vcpkg_execute_required_process_repeat) include(vcpkg_find_acquire_program) include(vcpkg_build_cmake) include(vcpkg_build_msbuild) include(vcpkg_install_cmake) include(vcpkg_configure_cmake) include(vcpkg_apply_patches) -include(vcpkg_copy_pdbs)
\ No newline at end of file +include(vcpkg_copy_pdbs) diff --git a/scripts/cmake/vcpkg_execute_required_process_repeat.cmake b/scripts/cmake/vcpkg_execute_required_process_repeat.cmake new file mode 100644 index 000000000..562265ee2 --- /dev/null +++ b/scripts/cmake/vcpkg_execute_required_process_repeat.cmake @@ -0,0 +1,28 @@ +# Usage: vcpkg_execute_required_process_repeat(COUNT <num> COMMAND <cmd> [<args>...] WORKING_DIRECTORY </path/to/dir> LOGNAME <my_log_name>) +function(vcpkg_execute_required_process_repeat) + cmake_parse_arguments(vcpkg_execute_required_process_repeat "" "COUNT;WORKING_DIRECTORY;LOGNAME" "COMMAND" ${ARGN}) + #debug_message("vcpkg_execute_required_process_repeat(${vcpkg_execute_required_process_repeat_COMMAND})") + foreach(loop_count RANGE ${vcpkg_execute_required_process_repeat_COUNT}) + execute_process( + COMMAND ${vcpkg_execute_required_process_repeat_COMMAND} + OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_repeat_LOGNAME}-out.log + ERROR_FILE ${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process__repeat_LOGNAME}-err.log + RESULT_VARIABLE error_code + WORKING_DIRECTORY ${vcpkg_execute_required_process_repeat_WORKING_DIRECTORY}) + #debug_message("error_code=${error_code}") + file(TO_NATIVE_PATH "${CURRENT_BUILDTREES_DIR}" NATIVE_BUILDTREES_DIR) + if(NOT error_code) + set(SUCCESSFUL_EXECUTION TRUE) + break() + endif() + endforeach(loop_count) + if (NOT ${SUCCESSFUL_EXECUTION}) + message(FATAL_ERROR + " Command failed: ${vcpkg_execute_required_process_repeat_COMMAND}\n" + " Working Directory: ${vcpkg_execute_required_process_repeat_WORKING_DIRECTORY}\n" + " See logs for more information:\n" + " ${NATIVE_BUILDTREES_DIR}\\${vcpkg_execute_required_process_repeat_LOGNAME}-out.log\n" + " ${NATIVE_BUILDTREES_DIR}\\${vcpkg_execute_required_process_repeat_LOGNAME}-err.log\n" + ) + endif() +endfunction() diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 0e993b78b..337cc04a5 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -24,7 +24,7 @@ function(vcpkg_find_acquire_program VAR) set(ARCHIVE "yasm.exe") set(NOEXTRACT ON) set(HASH 850b26be5bbbdaeaf45ac39dd27f69f1a85e600c35afbd16b9f621396b3c7a19863ea3ff316b025b578fce0a8280eef2203306a2b3e46ee1389abb65313fb720) -elseif(VAR MATCHES "JOM") + elseif(VAR MATCHES "JOM") set(PROGNAME jom) set(PATHS ${DOWNLOADS}/tools/jom) set(URL "http://download.qt.io/official_releases/jom/jom_1_1_1.zip") |
