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