You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							82 lines
						
					
					
						
							3.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							82 lines
						
					
					
						
							3.4 KiB
						
					
					
				
								@echo off
							 | 
						|
								REM
							 | 
						|
								REM Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
							 | 
						|
								REM
							 | 
						|
								REM This file is part of Threading Building Blocks.
							 | 
						|
								REM
							 | 
						|
								REM Threading Building Blocks is free software; you can redistribute it
							 | 
						|
								REM and/or modify it under the terms of the GNU General Public License
							 | 
						|
								REM version 2 as published by the Free Software Foundation.
							 | 
						|
								REM
							 | 
						|
								REM Threading Building Blocks is distributed in the hope that it will be
							 | 
						|
								REM useful, but WITHOUT ANY WARRANTY; without even the implied warranty
							 | 
						|
								REM of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
							 | 
						|
								REM GNU General Public License for more details.
							 | 
						|
								REM
							 | 
						|
								REM You should have received a copy of the GNU General Public License
							 | 
						|
								REM along with Threading Building Blocks; if not, write to the Free Software
							 | 
						|
								REM 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
							 | 
						|
								REM library without restriction.  Specifically, if other files instantiate
							 | 
						|
								REM templates or use macros or inline functions from this file, or you compile
							 | 
						|
								REM this file and link it with other files to produce an executable, this
							 | 
						|
								REM file does not by itself cause the resulting executable to be covered by
							 | 
						|
								REM the GNU General Public License.  This exception does not however
							 | 
						|
								REM invalidate any other reasons why the executable file might be covered by
							 | 
						|
								REM 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
							 | 
						|
								
							 |