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