mirror of
https://github.com/wjakob/tbb.git
synced 2026-08-31 01:20:42 +08:00
75 lines
3.3 KiB
Batchfile
75 lines
3.3 KiB
Batchfile
@echo off
|
|
REM
|
|
REM Copyright 2005-2016 Intel Corporation. All Rights Reserved.
|
|
REM
|
|
REM This file is part of Threading Building Blocks. Threading Building Blocks is free software;
|
|
REM you can redistribute it and/or modify it under the terms of the GNU General Public License
|
|
REM version 2 as published by the Free Software Foundation. Threading Building Blocks is
|
|
REM distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
REM implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
REM See the GNU General Public License for more details. You should have received a copy of
|
|
REM the GNU General Public License along with Threading Building Blocks; if not, write to the
|
|
REM Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
REM
|
|
REM As a special exception, you may use this file as part of a free software library without
|
|
REM restriction. Specifically, if other files instantiate templates or use macros or inline
|
|
REM functions from this file, or you compile this file and link it with other files to produce
|
|
REM an executable, this file does not by itself cause the resulting executable to be covered
|
|
REM by the GNU General Public License. This exception does not however invalidate any other
|
|
REM reasons why the executable file might be covered by the GNU General Public License.
|
|
REM
|
|
|
|
:: Getting parameters
|
|
if ("%1") == ("") goto error0
|
|
if ("%2") == ("") goto error0
|
|
if ("%3") == ("") goto error0
|
|
set arch=%1
|
|
if ("%2") == ("debug") set postfix=_debug
|
|
set output_dir=%3
|
|
|
|
:: Optional 4th parameter to set install root
|
|
if ("%4") NEQ ("") set TBBROOT=%4
|
|
:: Actually we can set install root by ourselves
|
|
if ("%TBBROOT%") == ("") set TBBROOT=%~d0%~p0..\..\
|
|
|
|
:: Getting vs folders in case vc_mt binaries are not provided
|
|
:: ordered from oldest to newest, so we end with newest available version
|
|
if ("%VS90COMNTOOLS%") NEQ ("") set vc_dir=vc9
|
|
if ("%VS100COMNTOOLS%") NEQ ("") set vc_dir=vc10
|
|
if ("%VS110COMNTOOLS%") NEQ ("") set vc_dir=vc11
|
|
if ("%VS120COMNTOOLS%") NEQ ("") set vc_dir=vc12
|
|
|
|
:: Are we standalone/oss or inside compiler?
|
|
if exist "%TBBROOT%\bin\%arch%\%vc_dir%\tbb%postfix%.dll" set interim_path=bin\%arch%
|
|
if exist "%TBBROOT%\..\redist\%arch%\tbb\%vc_dir%\tbb%postfix%.dll" set interim_path=..\redist\%arch%\tbb
|
|
if ("%interim_path%") == ("") goto error1
|
|
|
|
:: Do we provide vc_mt binaries?
|
|
if exist "%TBBROOT%\%interim_path%\vc_mt\tbb%postfix%.dll" set vc_dir=vc_mt
|
|
if ("%vc_dir%") == ("") goto error2
|
|
|
|
:: We know everything we wanted and there are no errors
|
|
:: Copying binaries
|
|
|
|
copy "%TBBROOT%\%interim_path%\%vc_dir%\tbb%postfix%.dll" "%output_dir%"
|
|
copy "%TBBROOT%\%interim_path%\%vc_dir%\tbb%postfix%.pdb" "%output_dir%"
|
|
copy "%TBBROOT%\%interim_path%\%vc_dir%\tbbmalloc%postfix%.dll" "%output_dir%"
|
|
copy "%TBBROOT%\%interim_path%\%vc_dir%\tbbmalloc%postfix%.pdb" "%output_dir%"
|
|
if exist "%TBBROOT%\%interim_path%\%vc_dir%\tbb_preview%postfix%.dll" copy "%TBBROOT%\%interim_path%\%vc_dir%\tbb_preview%postfix%.dll" "%output_dir%"
|
|
if exist "%TBBROOT%\%interim_path%\%vc_dir%\tbb_preview%postfix%.pdb" copy "%TBBROOT%\%interim_path%\%vc_dir%\tbb_preview%postfix%.pdb" "%output_dir%"
|
|
|
|
goto end
|
|
:error0
|
|
echo number of parameters not correct
|
|
exit /B 1
|
|
:error1
|
|
echo Could not determine path to TBB libraries
|
|
exit /B 1
|
|
:error2
|
|
echo Could not determine Visual Studio version
|
|
exit /B 1
|
|
|
|
:end
|
|
exit /B 0
|
|
|