Salome HOME
Ensure cmake_build_type is used in SALOME 9.12.0
[tools/sat_salome.git] / products / compil_scripts / HOMARD_MED_MINGW.bat
1 @echo off
2
3 echo ##########################################################################
4 echo Installing HOMARD %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 Win64"
13 )
14
15 SET PRODUCT_BUILD_TYPE=Release
16 if %SAT_DEBUG% == 1 (
17   set PRODUCT_BUILD_TYPE=Debug
18 )
19 if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL%
20 REM clean BUILD directory
21 if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR%
22 REM
23 set MEDFILE_SOURCE_DIR=%SOURCE_DIR:HOMARD=medfile%
24 SET MEDFILE_BUILD_DIR=%BUILD_DIR%\BUILD\MEDFILE
25 set MEDFILE_INSTALL_DIR=%BUILD_DIR%\W64\medfile
26 REM
27 SET HOMARD_BUILD_DIR=%BUILD_DIR%\BUILD\HOMARD
28 SET HOMARD_GUI_BUILD_DIR=%HOMARD_BUILD_DIR%\GUI
29 SET HOMARD_TOOL_SOURCE_DIR=%SOURCE_DIR%\src\tool
30 SET HOMARD_TOOL_BUILD_DIR=%HOMARD_BUILD_DIR%\tool
31
32 mkdir %MEDFILE_BUILD_DIR%
33 mkdir %MEDFILE_INSTALL_DIR%
34 mkdir %HOMARD_BUILD_DIR%
35 mkdir %HOMARD_TOOL_BUILD_DIR%
36 mkdir %HOMARD_GUI_BUILD_DIR%
37
38 echo.
39 echo *** building HOMARD GUI without tool
40 echo.
41
42 cd %HOMARD_GUI_BUILD_DIR%
43 set CMAKE_OPTIONS=
44 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_PREFIX=%PRODUCT_INSTALL%
45 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE=%PRODUCT_BUILD_TYPE%
46 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSWIG_EXECUTABLE=%SWIG_ROOT_DIR:\=/%/bin/swig.exe
47 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBUILD_HOMARD_TOOL_STANDALONE:BOOL=ON
48 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_GENERATOR=%CMAKE_GENERATOR%
49
50 set MSBUILDDISABLENODEREUSE=1
51
52 echo.
53 echo *** cmake %CMAKE_OPTIONS%
54 %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS% %SOURCE_DIR%
55 if NOT %ERRORLEVEL% == 0 (
56     echo "ERROR on cmake"
57     exit 1
58 )
59
60 echo.
61 echo *********************************************************************
62 echo *** msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 ALL_BUILD.vcxproj
63 echo *********************************************************************
64 echo.
65
66 msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 ALL_BUILD.vcxproj
67 if NOT %ERRORLEVEL% == 0 (
68     echo ERROR on msbuild ALL_BUILD.vcxproj
69     exit 2
70 )
71
72 echo.
73 echo *********************************************************************
74 echo *** installation of HOMARD...
75 echo *********************************************************************
76 echo
77
78 msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 INSTALL.vcxproj
79 if NOT %ERRORLEVEL% == 0 (
80     echo ERROR on msbuild INSTALL.vcxproj
81     exit 3
82 )
83
84
85 SET OLD_PATH=%PATH%
86 SET GFORTRAN_EXE=%MINGW_ROOT_DIR%\bin\gfortran.exe
87 SET PATH=%MINGW_ROOT_DIR%\bin;%PATH%
88
89 echo.
90 echo *********************************************************************
91 echo *** building MEDFILE
92 echo *********************************************************************
93 echo.
94
95 cd %MEDFILE_BUILD_DIR%
96 SET CMAKE_OPTIONS=
97 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_PREFIX:STRING=%MEDFILE_INSTALL_DIR:\=/%
98 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE:STRING=%PRODUCT_BUILD_TYPE%
99 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DMEDFILE_BUILD_STATIC_LIBS:BOOL=OFF
100 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DMEDFILE_BUILD_SHARED_LIBS:BOOL=ON
101 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_ROOT_DIR:STRING=%HDF5_ROOT_DIR:\=/%
102 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_MEDINT_TYPE:STRING="long long"
103 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_Fortran_COMPILER=%MINGW_ROOT_DIR:\=/%/bin/gfortran.exe
104 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_EXE_LINKER_FLAGS="-Wl,--allow-multiple-definition"
105 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_SH="CMAKE_SH-NOTFOUND"
106 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_Fortran_FLAGS="-g -O2 -ffixed-line-length-none"
107 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DMEDFILE_USE_MPI:BOOL=OFF
108 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_GENERATOR="MinGW Makefiles"
109
110 echo.
111 echo *********************************************************************
112 echo *** cmake %CMAKE_OPTIONS% %MEDFILE_SOURCE_DIR%
113 echo *********************************************************************
114 echo.
115 %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS% %MEDFILE_SOURCE_DIR%
116 if NOT %ERRORLEVEL% == 0 (
117     echo "ERROR on cmake: failed to run cmake for product MEDFILE..."
118     exit 4
119 )
120
121 REM
122 echo.
123 echo *********************************************************************
124 echo *** Compilation of MEDFILE with mingw32-make
125 echo *********************************************************************
126 echo.
127 mingw32-make
128 if NOT %ERRORLEVEL% == 0 (
129     echo ERROR on mingw32-make: failed to compile MEDFILE Tool...
130     exit 8
131 )
132
133 echo.
134 echo *********************************************************************
135 echo *** Installation of MEDFILE Tool with mingw32-make install...
136 echo *********************************************************************
137 echo.
138 mingw32-make install
139 if NOT %ERRORLEVEL% == 0 (
140     echo ERROR on mingw32-make install: failed to install MEDFILE...
141     exit 9
142 )
143
144 set MED3HOME=%MEDFILE_INSTALL_DIR%
145 set MED2HOME=%MEDFILE_INSTALL_DIR%
146 set MEDFILE_ROOT_DIR=%MEDFILE_INSTALL_DIR%
147 set PATH=%MEDFILE_INSTALL_DIR%\bin;%PATH%
148 set PATH=%MEDFILE_INSTALL_DIR%\lib;%PATH%
149
150
151 echo.
152 echo *** building HOMARD tool
153 echo.
154
155 cd %HOMARD_TOOL_BUILD_DIR%
156 set CMAKE_OPTIONS=
157 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_PREFIX=%PRODUCT_INSTALL%\bin\salome\tool
158 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE=%PRODUCT_BUILD_TYPE%
159 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBUILD_HOMARD_TOOL_STANDALONE:BOOL=ON
160 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSWIG_EXECUTABLE=%SWIG_ROOT_DIR:\=/%/bin/swig.exe
161 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_Fortran_COMPILER=%MINGW_ROOT_DIR:\=/%/bin/gfortran.exe
162 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_CXX_COMPILER=%MINGW_ROOT_DIR:\=/%/bin/g++.exe
163 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_C_COMPILER=%MINGW_ROOT_DIR:\=/%/bin/gcc.exe
164 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_EXE_LINKER_FLAGS="-Wl,--allow-multiple-definition"
165 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_SH="CMAKE_SH-NOTFOUND"
166 SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_GENERATOR="MinGW Makefiles"
167 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSALOME_INSTALL_LIBS=%PRODUCT_INSTALL:\=/%/lib/salome/tool
168 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSALOME_INSTALL_BINS=%PRODUCT_INSTALL:\=/%/bin/salome/tool
169
170 echo.
171 echo *********************************************************************
172 echo *** cmake %CMAKE_OPTIONS% %HOMARD_TOOL_SOURCE_DIR%
173 echo *********************************************************************
174
175 %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS% %HOMARD_TOOL_SOURCE_DIR%
176 if NOT %ERRORLEVEL% == 0 (
177     echo "ERROR on cmake: failed to run cmake for product HOMARD Tool..."
178     exit 7
179 )
180
181 echo.
182 echo *********************************************************************
183 echo *** Compilation of HDF5 with mingw32-make
184 echo *********************************************************************
185 echo.
186 mingw32-make
187 if NOT %ERRORLEVEL% == 0 (
188     echo ERROR on mingw32-make: failed to compile HOMARD Tool...
189     exit 8
190 )
191
192 echo.
193 echo *********************************************************************
194 echo *** Installation of HOMARD TOOL with mingw32-make install...
195 echo *********************************************************************
196 echo.
197 mingw32-make install
198 if NOT %ERRORLEVEL% == 0 (
199     echo ERROR on mingw32-make install: failed to install HOMARD...
200     exit 9
201 )
202
203 REM finally embed required libraries
204 cp %MEDFILE_INSTALL_DIR%\lib\libmedC.dll %PRODUCT_INSTALL%\bin\salome\tool\libmedC.dll
205 cp %MEDFILE_INSTALL_DIR%\lib\libmedfwrap.dll %PRODUCT_INSTALL%\bin\salome\tool\libmedfwrap.dll
206 cp %MINGW_ROOT_DIR%\bin\libgcc_s_seh-1.dll %PRODUCT_INSTALL%\bin\salome\tool\libgcc_s_seh-1.dll
207 cp %MINGW_ROOT_DIR%\bin\libwinpthread-1.dll %PRODUCT_INSTALL%\bin\salome\tool\libwinpthread-1.dll
208 cp %MINGW_ROOT_DIR%\bin\libstdc++-6.dll %PRODUCT_INSTALL%\bin\salome\tool\libstdc++-6.dll
209 cp %MINGW_ROOT_DIR%\bin\libquadmath-0.dll %PRODUCT_INSTALL%\bin\salome\tool\libquadmath-0.dll
210
211
212 echo.
213 echo ########## END