From 934275b7125e89caeaeff167d567574bf41e8264 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 30 Oct 2019 14:23:36 +0800 Subject: [libxslt]Using vcpkg_install_nmake in Windows, support unix. (#8589) * [libxslt]Using vcpkg_install_nmake in Windows, support unix. * support PRERUN_SHELL/PRERUN_SHELL_DEBUG/PRERUN_SHELL_RELEASE * Re-trigger CI. --- scripts/cmake/vcpkg_build_nmake.cmake | 43 ++++++++++++++++++++++++++++++--- scripts/cmake/vcpkg_install_nmake.cmake | 15 +++++++++++- 2 files changed, 54 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/scripts/cmake/vcpkg_build_nmake.cmake b/scripts/cmake/vcpkg_build_nmake.cmake index 1eb621b0e..33f1e9d1e 100644 --- a/scripts/cmake/vcpkg_build_nmake.cmake +++ b/scripts/cmake/vcpkg_build_nmake.cmake @@ -7,8 +7,11 @@ ## vcpkg_build_nmake( ## SOURCE_PATH <${SOURCE_PATH}> ## [NO_DEBUG] -## PROJECT_SUBPATH <${SUBPATH}> -## PROJECT_NAME <${MAKEFILE_NAME}> +## [PROJECT_SUBPATH <${SUBPATH}>] +## [PROJECT_NAME <${MAKEFILE_NAME}>] +## [PRERUN_SHELL <${SHELL_PATH}>] +## [PRERUN_SHELL_DEBUG <${SHELL_PATH}>] +## [PRERUN_SHELL_RELEASE <${SHELL_PATH}>] ## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] ## [OPTIONS_RELEASE <-DOPTIMIZE=1>...] ## [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] @@ -33,6 +36,15 @@ ## ### ENABLE_INSTALL ## Install binaries after build. ## +## ### PRERUN_SHELL +## Script that needs to be called before build +## +## ### PRERUN_SHELL_DEBUG +## Script that needs to be called before debug build +## +## ### PRERUN_SHELL_RELEASE +## Script that needs to be called before release build +## ## ### OPTIONS ## Additional options passed to generate during the generation. ## @@ -62,7 +74,7 @@ function(vcpkg_build_nmake) cmake_parse_arguments(_bn "ADD_BIN_TO_PATH;ENABLE_INSTALL;NO_DEBUG" "SOURCE_PATH;PROJECT_SUBPATH;PROJECT_NAME;LOGFILE_ROOT" - "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG" + "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG;PRERUN_SHELL;PRERUN_SHELL_DEBUG;PRERUN_SHELL_RELEASE" ${ARGN} ) @@ -164,6 +176,31 @@ function(vcpkg_build_nmake) string(REPLACE "${_bn_SOURCE_PATH}" "${OBJ_DIR}" DST_DIR "${DST_DIR}") file(COPY ${ONE_SOUCRCE_FILE} DESTINATION ${DST_DIR}) endforeach() + + if (_bn_PRERUN_SHELL) + message("Prerunning ${CURRENT_TRIPLET_NAME}") + vcpkg_execute_required_process( + COMMAND ${_bn_PRERUN_SHELL} + WORKING_DIRECTORY ${OBJ_DIR}${_bn_PROJECT_SUBPATH} + LOGNAME "$prerun-${CURRENT_TRIPLET_NAME}" + ) + endif() + if (BUILDTYPE STREQUAL "debug" AND _bn_PRERUN_SHELL_DEBUG) + message("Prerunning ${CURRENT_TRIPLET_NAME}") + vcpkg_execute_required_process( + COMMAND "${_bn_PRERUN_SHELL_DEBUG}" + WORKING_DIRECTORY ${OBJ_DIR}${_bn_PROJECT_SUBPATH} + LOGNAME "prerun-${CURRENT_TRIPLET_NAME}-dbg" + ) + endif() + if (BUILDTYPE STREQUAL "release" AND _bn_PRERUN_SHELL_RELEASE) + message("Prerunning ${CURRENT_TRIPLET_NAME}") + vcpkg_execute_required_process( + COMMAND ${_bn_PRERUN_SHELL_RELEASE} + WORKING_DIRECTORY ${OBJ_DIR}${_bn_PROJECT_SUBPATH} + LOGNAME "prerun-${CURRENT_TRIPLET_NAME}-dbg" + ) + endif() if (NOT _bn_ENABLE_INSTALL) message(STATUS "Building ${CURRENT_TRIPLET_NAME}") diff --git a/scripts/cmake/vcpkg_install_nmake.cmake b/scripts/cmake/vcpkg_install_nmake.cmake index 0674f9ec3..a8197751c 100644 --- a/scripts/cmake/vcpkg_install_nmake.cmake +++ b/scripts/cmake/vcpkg_install_nmake.cmake @@ -9,6 +9,9 @@ ## [NO_DEBUG] ## PROJECT_SUBPATH <${SUBPATH}> ## PROJECT_NAME <${MAKEFILE_NAME}> +## [PRERUN_SHELL <${SHELL_PATH}>] +## [PRERUN_SHELL_DEBUG <${SHELL_PATH}>] +## [PRERUN_SHELL_RELEASE <${SHELL_PATH}>] ## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] ## [OPTIONS_RELEASE <-DOPTIMIZE=1>...] ## [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] @@ -29,6 +32,15 @@ ## ### NO_DEBUG ## This port doesn't support debug mode. ## +## ### PRERUN_SHELL +## Script that needs to be called before build +## +## ### PRERUN_SHELL_DEBUG +## Script that needs to be called before debug build +## +## ### PRERUN_SHELL_RELEASE +## Script that needs to be called before release build +## ## ### OPTIONS ## Additional options passed to generate during the generation. ## @@ -53,7 +65,7 @@ function(vcpkg_install_nmake) cmake_parse_arguments(_in "NO_DEBUG" "SOURCE_PATH;PROJECT_SUBPATH;PROJECT_NAME" - "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG" + "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG;PRERUN_SHELL;PRERUN_SHELL_DEBUG;PRERUN_SHELL_RELEASE" ${ARGN} ) @@ -68,6 +80,7 @@ function(vcpkg_install_nmake) vcpkg_build_nmake(LOGFILE_ROOT ENABLE_INSTALL ${NO_DEBUG} SOURCE_PATH ${_in_SOURCE_PATH} PROJECT_SUBPATH ${_in_PROJECT_SUBPATH} PROJECT_NAME ${_in_PROJECT_NAME} + PRERUN_SHELL ${_in_PRERUN_SHELL} PRERUN_SHELL_DEBUG ${_in_PRERUN_SHELL_DEBUG} PRERUN_SHELL_RELEASE ${_in_PRERUN_SHELL_RELEASE} OPTIONS ${_in_OPTIONS} OPTIONS_RELEASE ${_in_OPTIONS_RELEASE} OPTIONS_DEBUG ${_in_OPTIONS_DEBUG} ) endfunction() -- cgit v1.2.3