From f9585d4a6365c4792caec632480a36890b167753 Mon Sep 17 00:00:00 2001 From: nicole mazzuca Date: Fri, 2 Jul 2021 14:36:08 -0700 Subject: [PATCH 1/2] [scripts-audit] vcpkg_build_ninja --- scripts/cmake/vcpkg_build_ninja.cmake | 33 ++++++++++++++++----------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/scripts/cmake/vcpkg_build_ninja.cmake b/scripts/cmake/vcpkg_build_ninja.cmake index 2c9276e63d5a8a..bb7ec07af6d080 100644 --- a/scripts/cmake/vcpkg_build_ninja.cmake +++ b/scripts/cmake/vcpkg_build_ninja.cmake @@ -15,26 +15,33 @@ vcpkg_build_ninja( Only build the specified targets. #]===] +function(z_vcpkg_build_ninja_build config targets) + message(STATUS "Building (${config})...") + vcpkg_execute_build_process( + COMMAND "${NINJA}" -C "${CURRENT_BUILDTREES_DIR}/${config}" ${targets} + WORKING_DIRECTORY "${SOURCE_PATH}" + LOGNAME "build-${config}" + ) +endfunction() + + function(vcpkg_build_ninja) - # parse parameters such that semicolons in options arguments to COMMAND don't get erased - cmake_parse_arguments(PARSE_ARGV 0 _vbn "" "" "TARGETS") + cmake_parse_arguments(PARSE_ARGV 0 arg "" "" "TARGETS") - vcpkg_find_acquire_program(NINJA) + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(WARNING "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + if(NOT DEFINED arg_TARGETS) + message(FATAL_ERROR "TARGETS must be specified") + endif() - function(build CONFIG) - message(STATUS "Building (${CONFIG})...") - vcpkg_execute_build_process( - COMMAND "${NINJA}" -C "${CURRENT_BUILDTREES_DIR}/${CONFIG}" ${_vbn_TARGETS} - WORKING_DIRECTORY "${SOURCE_PATH}" - LOGNAME build-${CONFIG} - ) - endfunction() + vcpkg_find_acquire_program(NINJA) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - build(${TARGET_TRIPLET}-dbg) + z_vcpkg_build_ninja_build("${TARGET_TRIPLET}-dbg" "${arg_TARGETS}") endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - build(${TARGET_TRIPLET}-rel) + z_vcpkg_build_ninja_build("${TARGET_TRIPLET}-rel" "${arg_TARGETS}") endif() endfunction() From ecd7fbcf49fae483ad7de2c826f4ca2be574f35f Mon Sep 17 00:00:00 2001 From: nicole mazzuca Date: Tue, 13 Jul 2021 09:23:12 -0700 Subject: [PATCH 2/2] Robert CR --- scripts/cmake/vcpkg_build_ninja.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cmake/vcpkg_build_ninja.cmake b/scripts/cmake/vcpkg_build_ninja.cmake index bb7ec07af6d080..5a0a1755fa8c2a 100644 --- a/scripts/cmake/vcpkg_build_ninja.cmake +++ b/scripts/cmake/vcpkg_build_ninja.cmake @@ -32,7 +32,7 @@ function(vcpkg_build_ninja) message(WARNING "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") endif() if(NOT DEFINED arg_TARGETS) - message(FATAL_ERROR "TARGETS must be specified") + set(arg_TARGETS "") endif() vcpkg_find_acquire_program(NINJA)