set thirdpartyGeneration=%1
set buildType=%2
+::The following line is to force x86 or x64 compilation
+set x86Comp=%3
set installpath=%thirdpartyGeneration%\thirdparty_install\%buildType%
set binpath=%thirdpartyGeneration%\thirdparty_bin\%buildType%
set sourcepath=%thirdpartyGeneration%\thirdparty_source\%buildType%
-if %PROCESSOR_ARCHITECTURE%==x86 (
+if %PROCESSOR_ARCHITECTURE%==x86 (
set ProgramFilesPath_x86=%ProgramFiles%
echo "Architecture found = x86"
) else (
set boost=boost
set xercesc=xerces
set itk=itk
-set gdcm=gdcm
+set gdcm=gdcm13
set vtk=vtk
set QTDIR=%sourcepath%\%qt%
set ITKSRCDIR=%sourcepath%\%itk%
set VTKSRCDIR=%sourcepath%\%VTK%
set GDCMSRCDIR=%sourcepath%\%gdcm%
+set LogFolder=%thirdpartyGeneration%\installLog
echo -----------------------------------
echo Environment variables Configuration
echo -----------------------------------
echo ThirdpartyGeneration=%thirdpartyGeneration%
echo BuildType=%buildType%
-echo wget=%wgetPath%
-echo MikTex=%miktex%
-echo urlCreatis=%urlCreatisSource%
-echo 7zip=%zipPath%
echo Visual Studio=%vcvarsall%
echo InstallPath=%installpath%
echo BinPath=%binpath%
echo -----------------------------------
-call %vcvarsall%
+if %x86Comp%==ON (
+ set addressmodel=32
+ call %vcvarsall%
+ echo "Compilation forced x86"
+) else (
+ set addressmodel=64
+ if %PROCESSOR_ARCHITECTURE%==x86 (
+ call %vcvarsall%
+ ) else (
+ call %vcvarsall% amd64
+ )
+)
+if %EEDinstallQT%==FALSE GOTO SKIPINSTALLQT
echo -----------------------------------
echo --------Qt Installation------------
echo -----------------------------------
cd %QTDIR%
set QMAKESPEC=win32-msvc2010
-
-echo y | configure -%buildType% -opensource -shared -qt-sql-sqlite -phonon -phonon-backend -platform win32-msvc2010 -mp
-
-%JOMDIR%\jom.exe -j %NUMBER_OF_PROCESSORS%
-
+echo y | configure -%buildType% -opensource -shared -qt-sql-sqlite -phonon -phonon-backend -platform win32-msvc2010 -mp >> %LogFolder%\qtInstall.log 2>&1
+%JOMDIR%\jom.exe -j %NUMBER_OF_PROCESSORS% >> %LogFolder%\qtInstall.log 2>&1
cd C:\
+:SKIPINSTALLQT
+
+if %EEDinstallWXWIDGETS%==FALSE GOTO SKIPINSTALLWXWIDGETS
echo -----------------------------------
echo -----wxWidgets Installation--------
echo -----------------------------------
cd %WXDIR%\build\msw
-nmake -f makefile.vc BUILD=%buildType% UNICODE=0 SHARED=1
+if %x86Comp%==ON (
+ nmake -f makefile.vc BUILD=%buildType% UNICODE=0 SHARED=1 USE_OPENGL=1 >> %LogFolder%\wxInstall.log 2>&1
+) else (
+ if %PROCESSOR_ARCHITECTURE%==x86 (
+ nmake -f makefile.vc BUILD=%buildType% UNICODE=0 SHARED=1 USE_OPENGL=1 >> %LogFolder%\wxInstall.log 2>&1
+ ) else (
+ nmake -f makefile.vc TARGET_CPU=AMD64 BUILD=%buildType% UNICODE=0 SHARED=1 USE_OPENGL=1 >> %LogFolder%\wxInstall.log 2>&1
+ )
+)
cd C:\
+:SKIPINSTALLWXWIDGETS
+
+if %EEDinstallBOOST%==FALSE GOTO SKIPINSTALLBOOST
echo -----------------------------------
echo ------Boost Installation-----------
echo -----------------------------------
-
mkdir %binpath%\%boost%Bin
mkdir %installpath%\%boost%
-
cd %sourcepath%\%boost%
+call bootstrap.bat >> %LogFolder%\boostInstall.log 2>&1
+
+REM bjam.exe -j %NUMBER_OF_PROCESSORS% --address-model=%addressmodel% --prefix=%installpath%\%boost% --build-dir=%binpath%\%boost%Bin toolset=msvc-10.0 variant=%buildType% link=shared runtime-link=shared install >> %LogFolder%\boostInstall.log 2>&1
+REM bjam.exe -j %NUMBER_OF_PROCESSORS% --address-model=%addressmodel% --prefix=%installpath%\%boost% --build-dir=%binpath%\%boost%Bin toolset=msvc-10.0 variant=%buildType% link=shared runtime-link=shared install >> %LogFolder%\boostInstall.log 2>&1
+
+bjam.exe -j %NUMBER_OF_PROCESSORS% address-model=%addressmodel% --prefix=%installpath%\%boost% --build-dir=%binpath%\%boost%Bin toolset=msvc-10.0 variant=%buildType% link=shared runtime-link=shared install >> %LogFolder%\boostInstall.log 2>&1
+bjam.exe -j %NUMBER_OF_PROCESSORS% address-model=%addressmodel% --prefix=%installpath%\%boost% --build-dir=%binpath%\%boost%Bin toolset=msvc-10.0 variant=%buildType% link=shared runtime-link=shared install >> %LogFolder%\boostInstall.log 2>&1
+
+
+::if %x86Comp%==ON (
+:: echo -install_thirdparty_all-EED1a
+:: bjam.exe -j %NUMBER_OF_PROCESSORS% --prefix=%installpath%\%boost% --toolset=msvc-10.0 --build-type=complete --build-dir=%binpath%\%boost%Bin --link=shared --runtime-link=shared install >> %LogFolder%\boostInstall.log 2>&1
+:: echo -install_thirdparty_all-EED1b
+::) else (
+:: if %PROCESSOR_ARCHITECTURE%==x86 (
+:: echo -install_thirdparty_all-EED2a
+:: bjam.exe -j %NUMBER_OF_PROCESSORS% --prefix=%installpath%\%boost% --toolset=msvc-10.0 --build-type=complete --build-dir=%binpath%\%boost%Bin --link=shared --runtime-link=shared install >> %LogFolder%\boostInstall.log 2>&1
+:: echo -install_thirdparty_all-EED2b
+:: ) else (
+:: echo -install_thirdparty_all-EED3a
+:: bjam.exe -j %NUMBER_OF_PROCESSORS% --address-model=64 --prefix=%installpath%\%boost% --build-dir=%binpath%\%boost%Bin toolset=msvc-10.0 variant=%buildType% link=shared runtime-link=shared install >> %LogFolder%\boostInstall.log 2>&1
+:: echo -install_thirdparty_all-EED3b
+:: bjam.exe -j %NUMBER_OF_PROCESSORS% --address-model=64 --prefix=%installpath%\%boost% --build-dir=%binpath%\%boost%Bin toolset=msvc-10.0 variant=%buildType% link=shared runtime-link=shared install >> %LogFolder%\boostInstall.log 2>&1
+:: echo -install_thirdparty_all-EED3c
+:: )
+::)
-call bootstrap.bat
-bjam.exe -j %NUMBER_OF_PROCESSORS% --toolset=msvc-10.0 --build-type=complete --build-dir=%binpath%\%boost%Bin --link=shared --runtime-link=shared --prefix=%installpath%\%boost% install
cd C:\
+:SKIPINSTALLBOOST
+if %EEEDinstallVTK%==FALSE GOTO SKIPINSTALLVTK
echo -----------------------------------
echo -------VTK Installation------------
echo -----------------------------------
-
cd %binpath%
mkdir %vtk%Bin
cd %vtk%Bin
-cmake -G"Visual Studio 10" -H%sourcepath%\%vtk% -B%binpath%\%vtk%Bin
-cmake -D USE_DEBUG_LIB:BOOL=%buildType% -D CMAKE_INSTALL_PREFIX:PATH=%installpath%\%vtk%\ CMakeCache.txt
-cmake -D BUILD_EXAMPLES:BOOL=OFF -D BUILD_TESTING:BOOL=OFF -D BUILD_SHARED_LIBS:BOOL=ON -D VTK_USE_QT:BOOL=ON CMakeCache.txt
-cmake CMakeCache.txt
-FOR /R %%a IN (*.sln) DO msbuild %%a /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType%
-msbuild /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType% INSTALL.vcxproj
+if %x86Comp%==ON (
+ cmake -G"Visual Studio 10" -H%sourcepath%\%vtk% -B%binpath%\%vtk%Bin >> %LogFolder%\vtkInstall.log 2>&1
+) else (
+ if %PROCESSOR_ARCHITECTURE%==x86 (
+ cmake -G"Visual Studio 10" -H%sourcepath%\%vtk% -B%binpath%\%vtk%Bin >> %LogFolder%\vtkInstall.log 2>&1
+ ) else (
+ cmake -G"Visual Studio 10 Win64" -H%sourcepath%\%vtk% -B%binpath%\%vtk%Bin >> %LogFolder%\vtkInstall.log 2>&1
+ )
+)
+cmake -D USE_DEBUG_LIB:BOOL=%buildType% -D CMAKE_INSTALL_PREFIX:PATH=%installpath%\%vtk%\ CMakeCache.txt >> %LogFolder%\vtkInstall.log 2>&1
+cmake -D BUILD_EXAMPLES:BOOL=OFF -D BUILD_TESTING:BOOL=OFF -D BUILD_SHARED_LIBS:BOOL=ON -D VTK_USE_QT:BOOL=ON CMakeCache.txt >> %LogFolder%\vtkInstall.log 2>&1
+cmake CMakeCache.txt >> %LogFolder%\vtkInstall.log 2>&1
+FOR /R %%a IN (*.sln) DO msbuild %%a /m:%NUMBER_OF_PROCESSORS% /target:ALL_BUILD /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType% >> %LogFolder%\vtkInstall.log 2>&1
+msbuild /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType% INSTALL.vcxproj >> %LogFolder%\vtkInstall.log 2>&1
cd c:\
+:SKIPINSTALLVTK
+
+if %EEDinstallGDCM%==FALSE GOTO SKIPINSTALLGDCM
echo -----------------------------------
-echo -------ITK Installation------------
+echo -------GDCM Installation-----------
echo -----------------------------------
-echo ----------Extracting---------------
+cd %binpath%
+mkdir %gdcm%Bin
+cd %gdcm%Bin
+if %x86Comp%==ON (
+ cmake -G"Visual Studio 10" -H%sourcepath%\%gdcm% -B%binpath%\%gdcm%Bin >> %LogFolder%\GDCMInstall.log 2>&1
+) else (
+ if %PROCESSOR_ARCHITECTURE%==x86 (
+ cmake -G"Visual Studio 10" -H%sourcepath%\%gdcm% -B%binpath%\%gdcm%Bin >> %LogFolder%\GDCMInstall.log 2>&1
+ ) else (
+ cmake -G"Visual Studio 10 Win64" -H%sourcepath%\%gdcm% -B%binpath%\%gdcm%Bin >> %LogFolder%\GDCMInstall.log 2>&1
+ )
+)
+cmake -D USE_DEBUG_LIB:BOOL=%buildType% -D CMAKE_INSTALL_PREFIX:PATH=%installpath%\%gdcm%\ CMakeCache.txt >> %LogFolder%\GDCMInstall.log 2>&1
+cmake -D VTK_DIR:PATH=%binpath%\%vtk%Bin\ -D GDCM_VTK:BOOL=ON -D BUILD_TESTING:BOOL=OFF -D GDCM_NAME_SPACE:STRING=gdcm13 CMakeCache.txt >> %LogFolder%\GDCMInstall.log 2>&1
+cmake CMakeCache.txt >> %LogFolder%\GDCMInstall.log 2>&1
+FOR /R %%a IN (*.sln) DO msbuild %%a /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType% >> %LogFolder%\GDCMInstall.log 2>&1
+msbuild INSTALL.vcxproj /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType% >> %LogFolder%\GDCMInstall.log 2>&1
+cd c:\
+:SKIPINSTALLGDCM
+
+if %EEDinstallITK%==FALSE GOTO SKIPINSTALLITK
+echo -----------------------------------
+echo -------ITK Installation------------
+echo -----------------------------------
cd %binpath%
mkdir %itk%Bin
cd %itk%Bin
-cmake -G"Visual Studio 10" -H%sourcepath%\%itk% -B%binpath%\%itk%Bin
-cmake -D USE_DEBUG_LIB:BOOL=%buildType% -D CMAKE_INSTALL_PREFIX:PATH=%installpath%\%itk%\ CMakeCache.txt
-cmake -D BUILD_EXAMPLES:BOOL=OFF -D BUILD_TESTING:BOOL=OFF -D BUILD_SHARED_LIBS:BOOL=ON -D ITK_USE_REVIEW:BOOL=ON CMakeCache.txt
-cmake CMakeCache.txt
-FOR /R %%a IN (*.sln) DO msbuild %%a /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType%
-msbuild /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType% INSTALL.vcxproj
+if %x86Comp%==ON (
+ cmake -G"Visual Studio 10" -H%sourcepath%\%itk% -B%binpath%\%itk%Bin >> %LogFolder%\ITKInstall.log 2>&1
+) else (
+ if %PROCESSOR_ARCHITECTURE%==x86 (
+ cmake -G"Visual Studio 10" -H%sourcepath%\%itk% -B%binpath%\%itk%Bin >> %LogFolder%\ITKInstall.log 2>&1
+ ) else (
+ cmake -G"Visual Studio 10 Win64" -H%sourcepath%\%itk% -B%binpath%\%itk%Bin >> %LogFolder%\ITKInstall.log 2>&1
+ )
+)
+cmake -D USE_DEBUG_LIB:BOOL=%buildType% -D CMAKE_INSTALL_PREFIX:PATH=%installpath%\%itk%\ CMakeCache.txt >> %LogFolder%\ITKInstall.log 2>&1
+cmake -D BUILD_EXAMPLES:BOOL=OFF -D BUILD_TESTING:BOOL=OFF -D BUILD_SHARED_LIBS:BOOL=ON -D ITK_USE_REVIEW:BOOL=ON CMakeCache.txt >> %LogFolder%\ITKInstall.log 2>&1
+cmake CMakeCache.txt >> %LogFolder%\ITKInstall.log 2>&1
+FOR /R %%a IN (*.sln) DO msbuild %%a /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType% >> %LogFolder%\ITKInstall.log 2>&1
+msbuild INSTALL.vcxproj /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType% >> %LogFolder%\ITKInstall.log 2>&1
cd c:\
+:SKIPINSTALLITK
+
+
+if %EEDinstallXERCES%==FALSE GOTO SKIPINSTALLXERCES
echo -----------------------------------
echo ------XERCES Installation----------
echo -----------------------------------
cd %sourcepath%\%xercesc%\projects\Win32\VC10\xerces-all
-FOR /R %%a IN (*.sln) DO msbuild %%a /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType%
-FOR /R %%a IN (*.sln) DO msbuild %%a /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType%
-msbuild /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType% INSTALL.vcxproj
-
-echo -----------------------------------
-echo -------GDCM Installation-----------
-echo -----------------------------------
-
-cd %binpath%
-mkdir %gdcm%Bin
-
-cd %gdcm%Bin
-cmake -G"Visual Studio 10" -H%sourcepath%\%gdcm% -B%binpath%\%gdcm%Bin
-cmake -D USE_DEBUG_LIB:BOOL=%buildType% -D CMAKE_INSTALL_PREFIX:PATH=%installpath%\%gdcm%\ CMakeCache.txt
-cmake -D VTK_DIR:PATH=%installpath%\%vtk%\ -D GDCM_VTK:BOOL=ON -D BUILD_TESTING:BOOL=OFF -D GDCM_NAME_SPACE:STRING=gdcm13 CMakeCache.txt
-cmake CMakeCache.txt
-FOR /R %%a IN (*.sln) DO msbuild %%a /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType%
-msbuild /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType% INSTALL.vcxproj
+FOR /R %%a IN (*.sln) DO msbuild %%a /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType% >> %LogFolder%\XERCESInstall.log 2>&1
+FOR /R %%a IN (*.sln) DO msbuild %%a /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType% >> %LogFolder%\XERCESInstall.log 2>&1
+msbuild INSTALL.vcxproj /m:%NUMBER_OF_PROCESSORS% /p:UseEnv=true;BuildInParallel=true;Configuration=%buildType% >> %LogFolder%\XERCESInstall.log 2>&1
cd c:\
+:SKIPINSTALLXERCES
+
echo -----------------------------------
echo ---End of Installing Libraries-----
echo -----------------------------------
-exit /B
\ No newline at end of file
+exit
\ No newline at end of file