Salome HOME
merge from master
[tools/sat_salome.git] / products / compil_scripts / gmsh-4.10.3.bat
1 @echo off
2
3 echo ##########################################################################
4 echo gmsh %VERSION%
5 echo ##########################################################################
6
7 IF NOT DEFINED SAT_DEBUG (
8   SET SAT_DEBUG=0
9 )
10
11 SET PRODUCT_BUILD_TYPE=Release
12 SET BUILD_SHARED=ON
13 if %SAT_DEBUG% == 1 (
14   set PRODUCT_BUILD_TYPE=Debug
15   set BUILD_SHARED=OFF
16 )
17
18 if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL%
19 if NOT exist "%PRODUCT_INSTALL%\include" mkdir %PRODUCT_INSTALL%\include
20 if NOT exist "%PRODUCT_INSTALL%\bin" mkdir %PRODUCT_INSTALL%\bin
21
22 REM clean BUILD directory
23 if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR%
24 mkdir %BUILD_DIR%
25
26 cd %BUILD_DIR%
27 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_PREFIX:STRING=%PRODUCT_INSTALL:\=/%
28 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE=%PRODUCT_BUILD_TYPE%
29 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DENABLE_BUILD_LIB=ON
30 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DENABLE_BUILD_SHARED=%BUILD_SHARED%
31 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DENABLE_BUILD_DYNAMIC=%BUILD_SHARED%
32 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DENABLE_ACIS=OFF 
33 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DENABLE_FLTK=OFF
34 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DENABLE_ONELAB_METAMODEL=OFF
35 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DENABLE_PARSER=ON
36 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DENABLE_PETSC=OFF
37 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DENABLE_PRIVATE_API=ON
38 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DENABLE_CGNS=OFF
39 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DENABLE_TESTS=OFF
40 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DENABLE_PLUGINS=OFF
41 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DENABLE_OPENMP=OFF
42 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_GENERATOR:STRING="Visual Studio 15 2017 Win64"
43 set MSBUILDDISABLENODEREUSE=1
44
45 echo.
46 echo *********************************************************************
47 echo *** %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS%
48 echo *********************************************************************
49 echo.
50
51 %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS% %SOURCE_DIR%
52 if NOT %ERRORLEVEL% == 0 (
53     echo "ERROR on cmake"
54     exit 1
55 )
56
57 echo.
58 echo *********************************************************************
59 echo *** msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 ALL_BUILD.vcxproj
60 echo *********************************************************************
61 echo.
62
63 msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 ALL_BUILD.vcxproj
64 if NOT %ERRORLEVEL% == 0 (
65     echo ERROR on msbuild gmsh.vcxproj
66     exit 2
67 )
68
69 echo.
70 echo *********************************************************************
71 echo *** installation...
72 echo *********************************************************************
73 echo.
74
75 msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 INSTALL.vcxproj
76 if NOT %ERRORLEVEL% == 0 (
77     echo ERROR on msbuild INSTALL.vcxproj
78     exit 3
79 )
80
81 echo.
82 echo *********************************************************************
83 echo *** installation Headers...
84 echo *********************************************************************
85 echo.
86 msbuild  /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64  /p:BuildProjectReferences=false get_headers.vcxproj
87 if NOT %ERRORLEVEL% == 0 (
88     echo ERROR on msbuild get_headers.vcxproj
89     exit 4
90 )
91
92 copy /Y /B %BUILD_DIR%\%PRODUCT_BUILD_TYPE%\*.lib %PRODUCT_INSTALL%\bin
93 copy /Y /B %BUILD_DIR%\%PRODUCT_BUILD_TYPE%\*.exp %PRODUCT_INSTALL%\bin
94
95 SETLOCAL ENABLEDELAYEDEXPANSION
96 FOR %%f IN (gmsh.h gmsh.h_cwrap gmshc.h) do (
97    set X=%%f
98    copy /Y %SOURCE_DIR%\api\%%f %PRODUCT_INSTALL%\include\%X%
99 )
100 ENDLOCAL
101
102 cd %BUILD_DIR%\Headers\gmsh
103 SETLOCAL ENABLEDELAYEDEXPANSION
104 FOR %%f IN (*.h) do (
105    set X=%%f
106    copy /Y %SOURCE_DIR%\api\%%f %PRODUCT_INSTALL%\include\%X%
107 )
108 ENDLOCAL
109
110 cd %PRODUCT_INSTALL%\include\gmsh
111 SETLOCAL ENABLEDELAYEDEXPANSION
112 FOR %%f IN (*.h) do (
113    set X=%%f
114    copy /Y %PRODUCT_INSTALL%\include\gmsh\%%f %PRODUCT_INSTALL%\include\%X%
115 )
116 ENDLOCAL
117
118 REM these two files need to be moved to bin, adding bin directory to PATH does not help.
119 cp %PRODUCT_INSTALL%\lib\gmsh.py %PRODUCT_INSTALL%\bin\gmsh.py
120 if %SAT_DEBUG% == 0 (
121   cp %PRODUCT_INSTALL%\lib\gmsh.dll %PRODUCT_INSTALL%\bin\gmsh.dll
122 )
123
124 echo.
125 echo ########## END