From 2e4c6df44c7629d7a2c48de9c465494af4e6324e Mon Sep 17 00:00:00 2001 From: Max Khon Date: Fri, 10 Jun 2022 20:56:44 +0300 Subject: [PATCH] [vcpkg_execute_*_process] Add support for build profiling (#22676) Use --x-cmake-args=-DX_PORT_PROFILE=TRUE to enable port build profiling --- scripts/cmake/vcpkg_execute_build_process.cmake | 7 +++++++ scripts/cmake/vcpkg_execute_required_process.cmake | 4 ++++ scripts/cmake/vcpkg_execute_required_process_repeat.cmake | 4 ++++ 3 files changed, 15 insertions(+) diff --git a/scripts/cmake/vcpkg_execute_build_process.cmake b/scripts/cmake/vcpkg_execute_build_process.cmake index a2545c8b01..8f3c9cdcc2 100644 --- a/scripts/cmake/vcpkg_execute_build_process.cmake +++ b/scripts/cmake/vcpkg_execute_build_process.cmake @@ -37,6 +37,13 @@ function(vcpkg_execute_build_process) set(log_err "${log_prefix}-err.log") set(all_logs "${log_out}" "${log_err}") + if(X_PORT_PROFILE) + vcpkg_list(PREPEND arg_COMMAND "${CMAKE_COMMAND}" "-E" "time") + if(DEFINED arg_NO_PARALLEL_COMMAND) + vcpkg_list(PREPEND arg_NO_PARALLEL_COMMAND "${CMAKE_COMMAND}" "-E" "time") + endif() + endif() + execute_process( COMMAND ${arg_COMMAND} WORKING_DIRECTORY "${arg_WORKING_DIRECTORY}" diff --git a/scripts/cmake/vcpkg_execute_required_process.cmake b/scripts/cmake/vcpkg_execute_required_process.cmake index 4c851d412f..ffdd2815dd 100644 --- a/scripts/cmake/vcpkg_execute_required_process.cmake +++ b/scripts/cmake/vcpkg_execute_required_process.cmake @@ -51,6 +51,10 @@ Halting portfile execution. endif() endif() + if(X_PORT_PROFILE AND NOT arg_ALLOW_IN_DOWNLOAD_MODE) + vcpkg_list(PREPEND arg_COMMAND "${CMAKE_COMMAND}" "-E" "time") + endif() + vcpkg_execute_in_download_mode( COMMAND ${arg_COMMAND} OUTPUT_FILE "${log_out}" diff --git a/scripts/cmake/vcpkg_execute_required_process_repeat.cmake b/scripts/cmake/vcpkg_execute_required_process_repeat.cmake index 66ca29191f..b7dc3ddda7 100644 --- a/scripts/cmake/vcpkg_execute_required_process_repeat.cmake +++ b/scripts/cmake/vcpkg_execute_required_process_repeat.cmake @@ -27,6 +27,10 @@ Halting portfile execution. ]]) endif() + if(X_PORT_PROFILE AND NOT arg_ALLOW_IN_DOWNLOAD_MODE) + vcpkg_list(PREPEND arg_COMMAND "${CMAKE_COMMAND}" "-E" "time") + endif() + set(all_logs "") foreach(loop_count RANGE 1 ${arg_COUNT}) set(out_log "${CURRENT_BUILDTREES_DIR}/${arg_LOGNAME}-out-${loop_count}.log")