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