Salome HOME
windows: gmsh debug mode
[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 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% -DCMAKE_GENERATOR:STRING="Visual Studio 15 2017 Win64"
42 set MSBUILDDISABLENODEREUSE=1
43
44 echo.
45 echo *********************************************************************
46 echo *** %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS%
47 echo *********************************************************************
48 echo.
49
50 %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS% %SOURCE_DIR%
51 if NOT %ERRORLEVEL% == 0 (
52     echo "ERROR on cmake"
53     exit 1
54 )
55
56 echo.
57 echo *********************************************************************
58 echo *** msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 ALL_BUILD.vcxproj
59 echo *********************************************************************
60 echo.
61
62 msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 ALL_BUILD.vcxproj
63 if NOT %ERRORLEVEL% == 0 (
64     echo ERROR on msbuild gmsh.vcxproj
65     exit 2
66 )
67
68 echo.
69 echo *********************************************************************
70 echo *** installation...
71 echo *********************************************************************
72 echo.
73
74 msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 INSTALL.vcxproj
75 if NOT %ERRORLEVEL% == 0 (
76     echo ERROR on msbuild INSTALL.vcxproj
77     exit 3
78 )
79
80 echo.
81 echo *********************************************************************
82 echo *** installation Headers...
83 echo *********************************************************************
84 echo.
85 msbuild  /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64  /p:BuildProjectReferences=false get_headers.vcxproj
86 if NOT %ERRORLEVEL% == 0 (
87     echo ERROR on msbuild get_headers.vcxproj
88     exit 4
89 )
90
91 copy /Y /B %BUILD_DIR%\%PRODUCT_BUILD_TYPE%\*.lib %PRODUCT_INSTALL%\bin
92 copy /Y /B %BUILD_DIR%\%PRODUCT_BUILD_TYPE%\*.exp %PRODUCT_INSTALL%\bin
93
94 SETLOCAL ENABLEDELAYEDEXPANSION
95 FOR %%f IN (gmsh.h gmsh.h_cwrap gmshc.h) do (
96    set X=%%f
97    copy /Y %SOURCE_DIR%\api\%%f %PRODUCT_INSTALL%\include\%X%
98 )
99 ENDLOCAL
100
101 cd %BUILD_DIR%\Headers\gmsh
102 SETLOCAL ENABLEDELAYEDEXPANSION
103 FOR %%f IN (*.h) do (
104    set X=%%f
105    copy /Y %SOURCE_DIR%\api\%%f %PRODUCT_INSTALL%\include\%X%
106 )
107 ENDLOCAL
108
109 cd %PRODUCT_INSTALL%\include\gmsh
110 SETLOCAL ENABLEDELAYEDEXPANSION
111 FOR %%f IN (*.h) do (
112    set X=%%f
113    copy /Y %PRODUCT_INSTALL%\include\gmsh\%%f %PRODUCT_INSTALL%\include\%X%
114 )
115 ENDLOCAL
116
117 REM these two files need to be moved to bin, adding bin directory to PATH does not help.
118 cp %PRODUCT_INSTALL%\lib\gmsh.py %PRODUCT_INSTALL%\bin\gmsh.py
119 if %SAT_DEBUG% == 0 (
120   cp %PRODUCT_INSTALL%\lib\gmsh.dll %PRODUCT_INSTALL%\bin\gmsh.dll
121 )
122
123 echo.
124 echo ########## END