Salome HOME
rely on non empty %SALOME_APPLICATION_NAME% to target URANIE
[tools/sat_salome.git] / products / compil_scripts / Python-3.6.5.bat
index 8112a59b17bdff1f3b39191e79a255c87eb2ec4e..7f319eaec3a3e364daf42d8e0c0a3d8cccee684f 100644 (file)
@@ -13,6 +13,11 @@ if %SAT_DEBUG% == 1 (
   set PRODUCT_BUILD_TYPE=Debug
 )
 
+set PLATFORM_TARGET=x64
+if "%SALOME_APPLICATION_NAME%" == "URANIE" (
+  set PLATFORM_TARGET=Win32
+)
+
 SET LIB_TAG=
 if %SAT_DEBUG% == 1 (
   set LIB_TAG=_d
@@ -77,8 +82,8 @@ REM Compilation
 
 cd %SOURCE_DIR%
 echo.
-echo *** msbuild %SOURCE_DIR%\PCBuild\pcbuild.sln /t:Build /m /nologo /v:m /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 /p:BuildProjectReferences=false /p:OutDir=%PRODUCT_INSTALL%\
-msbuild %SOURCE_DIR%\PCBuild\pcbuild.sln  /t:Build /m /nologo /v:m /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 /p:OutDir=%PRODUCT_INSTALL%\
+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%\
+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%\
 if NOT %ERRORLEVEL% == 0 (
     echo ERROR on msbuild
     exit 2
@@ -115,36 +120,16 @@ if NOT %ERRORLEVEL% == 0 (
     exit 6
 )
 
-REM on purpose, we don't use mklink
+REM on purpose, we don't use mklink - requires admin rights...
 copy /Y /B %PRODUCT_INSTALL%\python%LIB_TAG%.exe %PRODUCT_INSTALL%\python3.exe
-
-REM some prequistes the DLL to be renamed
-REM on purpose we don't use mklink, since this requires the user to have his node set in developer mode.
-cd %PRODUCT_INSTALL%\
 if %SAT_DEBUG% == 1 (
-  FOR %%G IN (python3 python python36 sqlite3 pyshellext) DO copy /Y /B %PRODUCT_INSTALL%\%%G%LIB_TAG%.dll %PRODUCT_INSTALL%\%%G.dll
-)
-
-REM some of the products expect .lib instead of _d.lib...
-REM on purpose we don't use mklink, since this requires the user to have his node set in developer mode.
-cd %PRODUCT_INSTALL%\libs\
-if %SAT_DEBUG% == 1 (
-  SETLOCAL ENABLEDELAYEDEXPANSION
-  FOR %%f IN (*_d.lib) do (
-     set X=%%f
-     copy /Y /B %PRODUCT_INSTALL%\libs\%%f %PRODUCT_INSTALL%\libs\!X:_d.lib=.lib!
-     copy /Y /B %PRODUCT_INSTALL%\%%f %PRODUCT_INSTALL%\!X:_d.lib=.lib!
-  )
-  ENDLOCAL
+  copy /Y /B %PRODUCT_INSTALL%\python_d.exe %PRODUCT_INSTALL%\python.exe
+  REM otherwise OmniORB does not compile...
+  copy /Y /B %PRODUCT_INSTALL%\libs\python36_d.lib %PRODUCT_INSTALL%\libs\python36.lib 
+  copy /Y /B %PRODUCT_INSTALL%\libs\python_d.lib %PRODUCT_INSTALL%\libs\python.lib 
 )
 
 cd %PRODUCT_INSTALL%\
-powershell -Command "Get-ChildItem *_d.exe| Rename-Item -newname { $_.name -replace '_d.exe','.exe' }"
-REM powershell -Command "Get-ChildItem *_d.dll| Rename-Item -newname { $_.name -replace '_d.dll','.dll' }"
-REM powershell -Command "Get-ChildItem *_d.pdb| Rename-Item -newname { $_.name -replace '_d.pdb','.pdb' }"
-REM powershell -Command "Get-ChildItem *_d.pyd| Rename-Item -newname { $_.name -replace '_d.pyd','.pyd' }"
-REM powershell -Command "Get-ChildItem *_d.exp| Rename-Item -newname { $_.name -replace '_d.exp','.exp' }"
-REM powershell -Command "Get-ChildItem *_d.ilk| Rename-Item -newname { $_.name -replace '_d.ilk','.ilk' }"
 
 REM Add PIP support
 set PYTHONHOME=%PRODUCT_INSTALL%
@@ -160,6 +145,15 @@ set PATH=%PRODUCT_INSTALL%\Scripts;%PATH%
 
 %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
 
+REM In debug mode, we need to rename all _d.pyd to .pyd... don't ask why. Seems like a known bug in OmniORB.
+if %SAT_DEBUG% == 1 (
+  cd %PRODUCT_INSTALL%
+  powershell -Command "Get-ChildItem -File -Recurse *.pyd| ForEach-Object {if ((!$_.Name.EndsWith('_d.pyd'))) {  $_ | Copy-Item -Destination {$_.Name  -replace '.pyd','_d.pyd'}}}"
+  cd %PRODUCT_INSTALL%\lib\site-packages
+  powershell -Command "Get-ChildItem -File -Recurse *.pyd| ForEach-Object {if ((!$_.Name.EndsWith('_d.pyd'))) {  $_ | Copy-Item -Destination {$_.Name  -replace '.pyd','_d.pyd'}}}"
+)
+
+
 taskkill /F /IM "mspdbsrv.exe"
 
 echo.