3 echo ##########################################################################
5 echo ##########################################################################
7 IF NOT DEFINED SAT_DEBUG (
11 SET PRODUCT_BUILD_TYPE=Release
13 set PRODUCT_BUILD_TYPE=Debug
16 set PLATFORM_TARGET=x64
17 if "%SALOME_APPLICATION_NAME%" == "URANIE" (
18 set PLATFORM_TARGET=Win32
26 if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL%
27 if NOT exist "%PRODUCT_INSTALL%\libs" mkdir %PRODUCT_INSTALL%\libs
28 REM clean BUILD directory
29 if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR%
32 SET MSBUILDDISABLENODEREUSE=1
34 cd %SOURCE_DIR%\PCbuild
36 REM Upgrade to current version of MSVC
38 echo *** devenv pcbuild.sln /upgrade
39 devenv pcbuild.sln /upgrade
40 if NOT %ERRORLEVEL% == 0 (
47 REM echo Extracting nasm...
48 if exist "%SOURCE_DIR%\externals\cpython-bin-deps-nasm-2.11.06" rmdir /Q /S "%SOURCE_DIR%\externals\cpython-bin-deps-nasm-2.11.06"
49 if exist "%SOURCE_DIR%\externals\nasm-2.11.06" rmdir /Q /S "%SOURCE_DIR%\externals\nasm-2.11.06"
50 7z x -y %SOURCE_DIR%\externals\zips\nasm-2.11.06.zip -o%SOURCE_DIR%\externals
51 mv %SOURCE_DIR%\externals\cpython-bin-deps-nasm-2.11.06 %SOURCE_DIR%\externals\nasm-2.11.06
53 REM echo Extracting openssl...
54 if exist "%SOURCE_DIR%\externals\cpython-source-deps-openssl-1.0.2k" rmdir /Q /S "%SOURCE_DIR%\externals\cpython-source-deps-openssl-1.0.2k"
55 if exist "%SOURCE_DIR%\externals\openssl-1.0.2k" rmdir /Q /S "%SOURCE_DIR%\externals\openssl-1.0.2k"
56 7z x -y %SOURCE_DIR%\externals\zips\openssl-1.0.2k.zip -o%SOURCE_DIR%\externals
57 mv %SOURCE_DIR%\externals\cpython-source-deps-openssl-1.0.2k %SOURCE_DIR%\externals\openssl-1.0.2k
59 REM echo Extracting sqlite...
60 if exist "%SOURCE_DIR%\externals\cpython-source-deps-sqlite-3.21.0.0" rmdir /Q /S "%SOURCE_DIR%\externals\cpython-source-deps-sqlite-3.21.0.0"
61 if exist "%SOURCE_DIR%\externals\sqlite-3.21.0.0" rmdir /Q /S "%SOURCE_DIR%\externals\sqlite-3.21.0.0"
62 7z x -y %SOURCE_DIR%\externals\zips\sqlite-3.21.0.0.zip -o%SOURCE_DIR%\externals
63 mv %SOURCE_DIR%\externals\cpython-source-deps-sqlite-3.21.0.0 %SOURCE_DIR%\externals\sqlite-3.21.0.0
65 REM echo Extracting xz...
66 if exist "%SOURCE_DIR%\externals\cpython-source-deps-xz-5.2.2" rmdir /Q /S "%SOURCE_DIR%\externals\cpython-source-deps-xz-5.2.2"
67 if exist "%SOURCE_DIR%\externals\xz-5.2.2" rmdir /Q /S "%SOURCE_DIR%\externals\xz-5.2.2"
68 7z x -y %SOURCE_DIR%\externals\zips\xz-5.2.2.zip -o%SOURCE_DIR%\externals
69 mv %SOURCE_DIR%\externals\cpython-source-deps-xz-5.2.2 %SOURCE_DIR%\externals\xz-5.2.2
71 REM echo Extracting xz...
72 if exist "%SOURCE_DIR%\externals\cpython-source-deps-bzip2-1.0.6" rmdir /Q /S "%SOURCE_DIR%\externals\cpython-source-deps-bzip2-1.0.6"
73 if exist "%SOURCE_DIR%\externals\bzip2-1.0.6" rmdir /Q /S "%SOURCE_DIR%\externals\bzip2-1.0.6"
74 7z x -y %SOURCE_DIR%\externals\zips\bzip2-1.0.6.zip -o%SOURCE_DIR%\externals
75 mv %SOURCE_DIR%\externals\cpython-source-deps-bzip2-1.0.6 %SOURCE_DIR%\externals\bzip2-1.0.6
77 REM echo Extracting pip...
78 if exist "%SOURCE_DIR%\externals\pip-19.1.1" rmdir /Q /S "%SOURCE_DIR%\externals\pip-19.1.1"
79 7z x -y %SOURCE_DIR%\externals\zips\pip-19.1.1.zip -o%SOURCE_DIR%\externals
85 echo *** msbuild %SOURCE_DIR%\PCBuild\pcbuild.sln /t:Build /m /nologo /v:m /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=%PLATFORM_TARGET% /p:BuildProjectReferences=false /p:OutDir=%PRODUCT_INSTALL%\
86 msbuild %SOURCE_DIR%\PCBuild\pcbuild.sln /t:Build /m /nologo /v:m /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=%PLATFORM_TARGET% /p:OutDir=%PRODUCT_INSTALL%\
87 if NOT %ERRORLEVEL% == 0 (
92 REM Installation of additional files
94 echo *** Installation of additional files
96 xcopy /Y /I /E %SOURCE_DIR%\include %PRODUCT_INSTALL%\include
97 if NOT %ERRORLEVEL% == 0 (
98 echo ERROR on xcopy include
102 copy /Y %SOURCE_DIR%\PC\pyconfig.h %PRODUCT_INSTALL%\include
103 if NOT %ERRORLEVEL% == 0 (
104 echo ERROR on copy PC\pyconfig.h
108 xcopy /Y /I /E %SOURCE_DIR%\lib %PRODUCT_INSTALL%\lib
109 if NOT %ERRORLEVEL% == 0 (
110 echo ERROR on xcopy lib
114 REM some prequistes if compiled in Debug mode require the lib to be in folder libs
115 REM other ones require these static lib to be in the root directory
116 REM on purpose we don't use mklink, since this requires the user to have his node set in developer mode.
117 xcopy /Y %PRODUCT_INSTALL%\*.lib %PRODUCT_INSTALL%\libs\
118 if NOT %ERRORLEVEL% == 0 (
119 echo ERROR could not copy static libraries
123 REM on purpose, we don't use mklink - requires admin rights...
124 copy /Y /B %PRODUCT_INSTALL%\python%LIB_TAG%.exe %PRODUCT_INSTALL%\python3.exe
125 if %SAT_DEBUG% == 1 (
126 copy /Y /B %PRODUCT_INSTALL%\python_d.exe %PRODUCT_INSTALL%\python.exe
127 REM otherwise OmniORB does not compile...
128 copy /Y /B %PRODUCT_INSTALL%\libs\python36_d.lib %PRODUCT_INSTALL%\libs\python36.lib
129 copy /Y /B %PRODUCT_INSTALL%\libs\python_d.lib %PRODUCT_INSTALL%\libs\python.lib
132 cd %PRODUCT_INSTALL%\
135 set PYTHONHOME=%PRODUCT_INSTALL%
136 set PYTHON_ROOT_DIR=%PRODUCT_INSTALL%
137 set PYTHON_VERSION=3.6
138 set PATH=%PRODUCT_INSTALL%;%PATH%
139 set PATH=%PRODUCT_INSTALL%\lib;%PATH%
140 set PYTHON_INCLUDE=%PRODUCT_INSTALL%\include
141 set PYTHONPATH=%PRODUCT_INSTALL%\lib;%PYTHONPATH%
142 set PYTHONPATH=%PRODUCT_INSTALL%\lib\site-packages;%PYTHONPATH%
143 set PYTHONBIN=%PRODUCT_INSTALL%\python.exe
144 set PATH=%PRODUCT_INSTALL%\Scripts;%PATH%
146 %PRODUCT_INSTALL%\python.exe %SOURCE_DIR%\externals\pip-19.1.1\get-pip.py --force-reinstall --no-setuptools --no-wheel --no-index --find-links=%SOURCE_DIR%\externals\pip-19.1.1
148 REM In debug mode, we need to rename all _d.pyd to .pyd... don't ask why. Seems like a known bug in OmniORB.
149 if %SAT_DEBUG% == 1 (
151 powershell -Command "Get-ChildItem -File -Recurse *.pyd| ForEach-Object {if ((!$_.Name.EndsWith('_d.pyd'))) { $_ | Copy-Item -Destination {$_.Name -replace '.pyd','_d.pyd'}}}"
152 cd %PRODUCT_INSTALL%\lib\site-packages
153 powershell -Command "Get-ChildItem -File -Recurse *.pyd| ForEach-Object {if ((!$_.Name.EndsWith('_d.pyd'))) { $_ | Copy-Item -Destination {$_.Name -replace '.pyd','_d.pyd'}}}"
157 taskkill /F /IM "mspdbsrv.exe"