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