From 1bdb6bfec1929b0d30cb5a4c3353c1e62905f10f Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Tue, 22 Oct 2019 13:49:23 +0800 Subject: Fix separate make and install execution error issue. (#8540) * Fix separate make and install execution error issue. * trigger CI system. * Fix multiple copy files under debug, fix separator between make and install in linux. --- scripts/cmake/vcpkg_build_make.cmake | 46 ++++++++++++++++++++------------ scripts/cmake/vcpkg_configure_make.cmake | 1 - 2 files changed, 29 insertions(+), 18 deletions(-) (limited to 'scripts') diff --git a/scripts/cmake/vcpkg_build_make.cmake b/scripts/cmake/vcpkg_build_make.cmake index 793341655..d928a9287 100644 --- a/scripts/cmake/vcpkg_build_make.cmake +++ b/scripts/cmake/vcpkg_build_make.cmake @@ -54,15 +54,15 @@ function(vcpkg_build_make) # Set make command and install command set(MAKE ${BASH} --noprofile --norc -c "${_VCPKG_PROJECT_SUBPATH}make") # Must use absolute path to call make in windows - set(MAKE_OPTS "-j ${VCPKG_CONCURRENCY}") - set(INSTALL_OPTS "install -j ${VCPKG_CONCURRENCY}") + set(MAKE_OPTS -j ${VCPKG_CONCURRENCY}) + set(INSTALL_OPTS install -j ${VCPKG_CONCURRENCY}) else() # Compiler requriements find_program(MAKE make REQUIRED) - set(MAKE make) + set(MAKE make;) # Set make command and install command - set(MAKE_OPTS -j ${VCPKG_CONCURRENCY}) - set(INSTALL_OPTS install -j ${VCPKG_CONCURRENCY}) + set(MAKE_OPTS -j;${VCPKG_CONCURRENCY}) + set(INSTALL_OPTS install;-j;${VCPKG_CONCURRENCY}) endif() elseif (_VCPKG_MAKE_GENERATOR STREQUAL "nmake") find_program(NMAKE nmake REQUIRED) @@ -120,11 +120,19 @@ function(vcpkg_build_make) endif() endif() - vcpkg_execute_build_process( - COMMAND ${MAKE} ${MAKE_OPTS} - WORKING_DIRECTORY ${WORKING_DIRECTORY} - LOGNAME "${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}${SHORT_BUILDTYPE}" - ) + if (CMAKE_HOST_WIN32) + vcpkg_execute_build_process( + COMMAND "${MAKE} ${MAKE_OPTS}" + WORKING_DIRECTORY ${WORKING_DIRECTORY} + LOGNAME "${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}${SHORT_BUILDTYPE}" + ) + else() + vcpkg_execute_build_process( + COMMAND "${MAKE};${MAKE_OPTS}" + WORKING_DIRECTORY ${WORKING_DIRECTORY} + LOGNAME "${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}${SHORT_BUILDTYPE}" + ) + endif() if(_bc_ADD_BIN_TO_PATH) set(ENV{PATH} "${_BACKUP_ENV_PATH}") @@ -149,19 +157,23 @@ function(vcpkg_build_make) endif() endif() + message(STATUS "Installing ${TARGET_TRIPLET}${SHORT_BUILDTYPE}") if (CMAKE_HOST_WIN32) # In windows we can remotely call make set(WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}${SHORT_BUILDTYPE}) + vcpkg_execute_build_process( + COMMAND "${MAKE} ${INSTALL_OPTS}" + WORKING_DIRECTORY ${WORKING_DIRECTORY} + LOGNAME "install-${TARGET_TRIPLET}${SHORT_BUILDTYPE}" + ) else() set(WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}${SHORT_BUILDTYPE}${_VCPKG_PROJECT_SUBPATH}) + vcpkg_execute_build_process( + COMMAND "${MAKE};${INSTALL_OPTS}" + WORKING_DIRECTORY ${WORKING_DIRECTORY} + LOGNAME "install-${TARGET_TRIPLET}${SHORT_BUILDTYPE}" + ) endif() - - message(STATUS "Installing ${TARGET_TRIPLET}${SHORT_BUILDTYPE}") - vcpkg_execute_required_process( - COMMAND ${MAKE} ${INSTALL_OPTS} - WORKING_DIRECTORY ${WORKING_DIRECTORY} - LOGNAME "install-${TARGET_TRIPLET}${SHORT_BUILDTYPE}" - ) endforeach() endif() diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index 10426a0c8..1a691a945 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -241,7 +241,6 @@ function(vcpkg_configure_make) if (NOT CMAKE_HOST_WIN32) file(GLOB_RECURSE SOURCE_FILES ${_csc_SOURCE_PATH}/*) foreach(ONE_SOUCRCE_FILE ${SOURCE_FILES}) - file(COPY ${ONE_SOUCRCE_FILE} DESTINATION ${OBJ_DIR}) get_filename_component(DST_DIR ${ONE_SOUCRCE_FILE} PATH) string(REPLACE "${_csc_SOURCE_PATH}" "${OBJ_DIR}" DST_DIR "${DST_DIR}") file(COPY ${ONE_SOUCRCE_FILE} DESTINATION ${DST_DIR}) -- cgit v1.2.3