3 echo ##########################################################################
5 echo ##########################################################################
7 IF NOT DEFINED SAT_DEBUG (
11 IF NOT DEFINED CMAKE_GENERATOR (
12 SET CMAKE_GENERATOR="Visual Studio 15 2017"
16 SET PRODUCT_BUILD_TYPE=Release
17 IF DEFINED SAT_CMAKE_BUILD_TYPE (
18 SET PRODUCT_BUILD_TYPE=%SAT_CMAKE_BUILD_TYPE%
21 set PRODUCT_BUILD_TYPE=Debug
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
29 REM clean BUILD directory
30 if exist "%BUILD_DIR%" rmdir /Q /S %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
53 echo *********************************************************************
54 echo *** %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS%
55 echo *********************************************************************
58 %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS% %SOURCE_DIR%
59 if NOT %ERRORLEVEL% == 0 (
65 echo *********************************************************************
66 echo *** msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 ALL_BUILD.vcxproj
67 echo *********************************************************************
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
77 echo *********************************************************************
78 echo *** installation...
79 echo *********************************************************************
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
89 echo *********************************************************************
90 echo *** installation Headers...
91 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
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
102 SETLOCAL ENABLEDELAYEDEXPANSION
103 FOR %%f IN (gmsh.h gmsh.h_cwrap gmshc.h) do (
105 copy /Y %SOURCE_DIR%\api\%%f %PRODUCT_INSTALL%\include\%X%
109 cd %BUILD_DIR%\Headers\gmsh
110 SETLOCAL ENABLEDELAYEDEXPANSION
111 FOR %%f IN (*.h) do (
113 copy /Y %SOURCE_DIR%\api\%%f %PRODUCT_INSTALL%\include\%X%
117 cd %PRODUCT_INSTALL%\include\gmsh
118 SETLOCAL ENABLEDELAYEDEXPANSION
119 FOR %%f IN (*.h) do (
121 copy /Y %PRODUCT_INSTALL%\include\gmsh\%%f %PRODUCT_INSTALL%\include\%X%
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