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