#!/bin/bash set -e set -x if [ "$#" -ne 1 ] then echo "Build the R package tarball with CUDA code. Usage: $0 [commit hash]" exit 1 fi commit_hash="$1" MAKE="/c/Rtools/bin/make" /c/Rtools/bin/make Rpack mv xgboost/ xgboost_rpack/ mkdir build cd build cmake .. -G"Visual Studio 15 2017 Win64" -DUSE_CUDA=ON -DR_LIB=ON -DLIBR_HOME="c:\\Program Files\\R\\R-3.6.3" cmake --build . --config Release --parallel cd .. rm xgboost # This super wacky hack is found in cmake/RPackageInstall.cmake.in and # cmake/RPackageInstallTargetSetup.cmake. This hack lets us bypass the normal build process of R # and have R use xgboost.dll that we've already built. rm -v xgboost_rpack/configure rm -rfv xgboost_rpack/src mkdir -p xgboost_rpack/src cp -v lib/xgboost.dll xgboost_rpack/src/ echo 'all:' > xgboost_rpack/src/Makefile echo 'all:' > xgboost_rpack/src/Makefile.win mv xgboost_rpack/ xgboost/ /c/Rtools/bin/tar -cvf xgboost_r_gpu_win64_${commit_hash}.tar xgboost/ /c/Rtools/bin/gzip -9c xgboost_r_gpu_win64_${commit_hash}.tar > xgboost_r_gpu_win64_${commit_hash}.tar.gz