Salome HOME
Merge multi-study removal branch.
[plugins/netgenplugin.git] / src / NETGEN / netgen53ForWindows.patch
1 diff -Naur netgen-5.3.1_SRC_orig/CMakeLists.txt netgen-5.3.1_SRC_modif/CMakeLists.txt
2 --- netgen-5.3.1_SRC_orig/CMakeLists.txt        1970-01-01 03:00:00.000000000 +0300
3 +++ netgen-5.3.1_SRC_modif/CMakeLists.txt       2016-11-25 11:04:22.150776900 +0300
4 @@ -0,0 +1,75 @@
5 +# Copyright (C) 2016 OPEN CASCADE
6 +#
7 +# This library is free software; you can redistribute it and/or
8 +# modify it under the terms of the GNU Lesser General Public
9 +# License as published by the Free Software Foundation; either
10 +# version 2.1 of the License, or (at your option) any later version.
11 +#
12 +# This library is distributed in the hope that it will be useful,
13 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
14 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 +# Lesser General Public License for more details.
16 +#
17 +# You should have received a copy of the GNU Lesser General Public
18 +# License along with this library; if not, write to the Free Software
19 +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20 +#
21 +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 +#
23 +CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR)
24 +INCLUDE(CMakeDependentOption)
25 +
26 +PROJECT(netgen C CXX)
27 +
28 +# Ensure a proper linker behavior:
29 +CMAKE_POLICY(SET CMP0003 NEW)
30 +
31 +# Versioning
32 +# ===========
33 +# Project name, upper case
34 +STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
35 +
36 +SET(${PROJECT_NAME_UC}_MAJOR_VERSION 5)
37 +SET(${PROJECT_NAME_UC}_MINOR_VERSION 3)
38 +SET(${PROJECT_NAME_UC}_PATCH_VERSION 1)
39 +SET(${PROJECT_NAME_UC}_VERSION
40 +  ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
41 +
42 +# Common CMake macros
43 +# ===================
44 +LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
45 +# Detect platform
46 +INCLUDE(FindPLATFORM) 
47 +# Detect OCCT
48 +INCLUDE(FindCAS)
49 +
50 +# Detect ZLIB on Windows
51 +IF(WIN32)
52 +  SET(ZLIB_ROOT_DIR $ENV{ZLIB_ROOT_DIR})
53 +  IF(EXISTS ${ZLIB_ROOT_DIR})
54 +    SET(ZLIB_ROOT ${ZLIB_ROOT_DIR})
55 +    INCLUDE(FindZLIB)
56 +    IF (NOT ${ZLIB_FOUND})
57 +      MESSAGE(FATAL_ERROR "We absolutely need the zlib library, please check zlib installation !")
58 +    ENDIF()
59 +  ELSE()
60 +    MESSAGE(FATAL_ERROR "We absolutely need the zlib library, please define ZLIB_ROOT_DIR !")
61 +  ENDIF()
62 +ENDIF()
63 +
64 +
65 +# Common definitions
66 +# ==================
67 +ADD_DEFINITIONS(-DNO_PARALLEL_THREADS)
68 +ADD_DEFINITIONS(-DOCCGEOMETRY)
69 +
70 +# Target directories
71 +SET(NETGEN_INSTALL_BINS "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Install path: netgen binaries")
72 +SET(NETGEN_INSTALL_LIBS "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Install path: netgen libs")
73 +SET(NETGEN_INSTALL_HEADERS "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Install path: netgen headers")
74 +SET(NETGEN_INSTALL_CMAKE "${CMAKE_INSTALL_PREFIX}/cmake" CACHE PATH "Install path: netgen cmake files")
75 +
76 +# Sub-directories
77 +ADD_SUBDIRECTORY(nglib)
78 +ADD_SUBDIRECTORY(cmake)
79 +
80 diff -Naur netgen-5.3.1_SRC_orig/cmake/CMakeLists.txt netgen-5.3.1_SRC_modif/cmake/CMakeLists.txt
81 --- netgen-5.3.1_SRC_orig/cmake/CMakeLists.txt  1970-01-01 03:00:00.000000000 +0300
82 +++ netgen-5.3.1_SRC_modif/cmake/CMakeLists.txt 2016-11-25 11:06:44.049656800 +0300
83 @@ -0,0 +1,22 @@
84 +# Copyright (C) 2016 OPEN CASCADE
85 +#
86 +# This library is free software; you can redistribute it and/or
87 +# modify it under the terms of the GNU Lesser General Public
88 +# License as published by the Free Software Foundation; either
89 +# version 2.1 of the License, or (at your option) any later version.
90 +#
91 +# This library is distributed in the hope that it will be useful,
92 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
93 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
94 +# Lesser General Public License for more details.
95 +#
96 +# You should have received a copy of the GNU Lesser General Public
97 +# License along with this library; if not, write to the Free Software
98 +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
99 +#
100 +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
101 +#
102 +
103 +IF(WIN32)
104 + INSTALL(FILES FindZLIB.cmake DESTINATION ${NETGEN_INSTALL_CMAKE})
105 +ENDIF()
106 \ В конце файла нет новой строки
107 diff -Naur netgen-5.3.1_SRC_orig/cmake/FindCAS.cmake netgen-5.3.1_SRC_modif/cmake/FindCAS.cmake
108 --- netgen-5.3.1_SRC_orig/cmake/FindCAS.cmake   1970-01-01 03:00:00.000000000 +0300
109 +++ netgen-5.3.1_SRC_modif/cmake/FindCAS.cmake  2016-11-23 16:14:01.050542400 +0300
110 @@ -0,0 +1,152 @@
111 +#  Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
112 +#
113 +#  This library is free software; you can redistribute it and/or
114 +#  modify it under the terms of the GNU Lesser General Public
115 +#  License as published by the Free Software Foundation; either
116 +#  version 2.1 of the License.
117 +#
118 +#  This library is distributed in the hope that it will be useful,
119 +#  but WITHOUT ANY WARRANTY; without even the implied warranty of
120 +#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
121 +#  Lesser General Public License for more details.
122 +#
123 +#  You should have received a copy of the GNU Lesser General Public
124 +#  License along with this library; if not, write to the Free Software
125 +#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
126 +#
127 +#  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
128 +#
129 +
130 +SET(CASROOT $ENV{CASROOT})
131 +ADD_DEFINITIONS(-DLIN -DLINTEL -DCSFDB)
132 +ADD_DEFINITIONS(-DNo_exception)
133 +ADD_DEFINITIONS(-DHAVE_LIMITS_H)
134 +
135 +IF(CMAKE_SIZEOF_VOID_P STREQUAL 8)
136 +  ADD_DEFINITIONS(-D_OCC64)
137 +ENDIF(CMAKE_SIZEOF_VOID_P STREQUAL 8)
138 +
139 +IF(NOT WINDOWS)
140 +  FIND_LIBRARY(Xmu Xmu)
141 +  IF(Xmu)
142 +    SET(CAS_LDPATH ${Xmu})
143 +  ENDIF(Xmu)
144 +ENDIF(NOT WINDOWS)
145 +
146 +IF(WINDOWS)
147 +  IF(CMAKE_BUILD_TYPE STREQUAL Debug)
148 +    SET(CASROOT_LIBDIR ${CASROOT}/win32/libd ${CASROOT}/win64/vc10/lib)
149 +  ELSE(CMAKE_BUILD_TYPE STREQUAL Release)
150 +    SET(CASROOT_LIBDIR ${CASROOT}/win32/lib ${CASROOT}/win64/vc10/lib)
151 +  ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
152 +ELSE(WINDOWS)
153 +  SET(CASROOT_LIBDIR ${CASROOT}/lib)
154 +ENDIF(WINDOWS)
155 +
156 +SET(_CAS_VERSION_FILE_NAME Standard_Version.hxx)
157 +
158 +# Include directories:
159 +FIND_PATH(CAS_INCLUDE_DIRS ${_CAS_VERSION_FILE_NAME} PATHS ${CASROOT} PATH_SUFFIXES include/opencascade)
160 +IF(CAS_INCLUDE_DIRS)
161 +ELSE()
162 +  FIND_PATH(CAS_INCLUDE_DIRS ${_CAS_VERSION_FILE_NAME} PATHS ${CASROOT} PATH_SUFFIXES include inc)
163 +ENDIF()
164 +
165 +
166 +FIND_LIBRARY(BinLPlugin BinLPlugin PATHS ${CASROOT_LIBDIR})
167 +FIND_LIBRARY(BinPlugin BinPlugin PATHS ${CASROOT_LIBDIR})
168 +FIND_LIBRARY(BinTObjPlugin BinTObjPlugin PATHS ${CASROOT_LIBDIR})
169 +FIND_LIBRARY(BinXCAFPlugin BinXCAFPlugin PATHS ${CASROOT_LIBDIR})
170 +FIND_LIBRARY(FWOSPlugin FWOSPlugin PATHS ${CASROOT_LIBDIR})
171 +
172 +FIND_LIBRARY(PTKernel PTKernel PATHS ${CASROOT_LIBDIR})
173 +FIND_LIBRARY(StdLPlugin StdLPlugin PATHS ${CASROOT_LIBDIR})
174 +FIND_LIBRARY(StdPlugin StdPlugin PATHS ${CASROOT_LIBDIR})
175 +FIND_LIBRARY(TKAdvTools TKAdvTools PATHS ${CASROOT_LIBDIR})
176 +FIND_LIBRARY(TKBin TKBin PATHS ${CASROOT_LIBDIR})
177 +FIND_LIBRARY(TKBinL TKBinL PATHS ${CASROOT_LIBDIR})
178 +FIND_LIBRARY(TKBinTObj TKBinTObj PATHS ${CASROOT_LIBDIR})
179 +FIND_LIBRARY(TKBinXCAF TKBinXCAF PATHS ${CASROOT_LIBDIR})
180 +FIND_LIBRARY(TKBO TKBO PATHS ${CASROOT_LIBDIR})
181 +FIND_LIBRARY(TKBool TKBool PATHS ${CASROOT_LIBDIR})
182 +FIND_LIBRARY(TKBRep TKBRep PATHS ${CASROOT_LIBDIR})
183 +FIND_LIBRARY(TKCAF TKCAF PATHS ${CASROOT_LIBDIR})
184 +FIND_LIBRARY(TKCDF TKCDF PATHS ${CASROOT_LIBDIR})
185 +FIND_LIBRARY(TKernel TKernel PATHS ${CASROOT_LIBDIR})
186 +FIND_LIBRARY(TKFeat TKFeat PATHS ${CASROOT_LIBDIR})
187 +FIND_LIBRARY(TKFillet TKFillet PATHS ${CASROOT_LIBDIR})
188 +FIND_LIBRARY(TKG2d TKG2d PATHS ${CASROOT_LIBDIR})
189 +FIND_LIBRARY(TKG3d TKG3d PATHS ${CASROOT_LIBDIR})
190 +FIND_LIBRARY(TKGeomAlgo TKGeomAlgo PATHS ${CASROOT_LIBDIR})
191 +FIND_LIBRARY(TKGeomBase TKGeomBase PATHS ${CASROOT_LIBDIR})
192 +FIND_LIBRARY(TKHLR TKHLR PATHS ${CASROOT_LIBDIR})
193 +FIND_LIBRARY(TKIGES TKIGES PATHS ${CASROOT_LIBDIR})
194 +FIND_LIBRARY(TKLCAF TKLCAF PATHS ${CASROOT_LIBDIR})
195 +FIND_LIBRARY(TKMath TKMath PATHS ${CASROOT_LIBDIR})
196 +FIND_LIBRARY(TKMesh TKMesh PATHS ${CASROOT_LIBDIR})
197 +FIND_LIBRARY(TKMeshVS TKMeshVS PATHS ${CASROOT_LIBDIR})
198 +FIND_LIBRARY(TKNIS TKNIS PATHS ${CASROOT_LIBDIR})
199 +FIND_LIBRARY(TKOffset TKOffset PATHS ${CASROOT_LIBDIR})
200 +FIND_LIBRARY(TKOpenGl TKOpenGl PATHS ${CASROOT_LIBDIR})
201 +FIND_LIBRARY(TKPCAF TKPCAF PATHS ${CASROOT_LIBDIR})
202 +FIND_LIBRARY(TKPLCAF TKPLCAF PATHS ${CASROOT_LIBDIR})
203 +FIND_LIBRARY(TKPrim TKPrim PATHS ${CASROOT_LIBDIR})
204 +FIND_LIBRARY(TKPShape TKPShape PATHS ${CASROOT_LIBDIR})
205 +FIND_LIBRARY(TKService TKService PATHS ${CASROOT_LIBDIR})
206 +FIND_LIBRARY(TKShapeSchema TKShapeSchema PATHS ${CASROOT_LIBDIR})
207 +FIND_LIBRARY(TKShHealing TKShHealing PATHS ${CASROOT_LIBDIR})
208 +FIND_LIBRARY(TKStdLSchema TKStdLSchema PATHS ${CASROOT_LIBDIR})
209 +FIND_LIBRARY(TKStdSchema TKStdSchema PATHS ${CASROOT_LIBDIR})
210 +FIND_LIBRARY(TKSTEP TKSTEP PATHS ${CASROOT_LIBDIR})
211 +FIND_LIBRARY(TKSTEP209 TKSTEP209 PATHS ${CASROOT_LIBDIR})
212 +FIND_LIBRARY(TKSTEPAttr TKSTEPAttr PATHS ${CASROOT_LIBDIR})
213 +FIND_LIBRARY(TKSTEPBase TKSTEPBase PATHS ${CASROOT_LIBDIR})
214 +FIND_LIBRARY(TKSTL TKSTL PATHS ${CASROOT_LIBDIR})
215 +FIND_LIBRARY(TKTObj TKTObj PATHS ${CASROOT_LIBDIR})
216 +FIND_LIBRARY(TKTopAlgo TKTopAlgo PATHS ${CASROOT_LIBDIR})
217 +FIND_LIBRARY(TKV2d TKV2d PATHS ${CASROOT_LIBDIR})
218 +FIND_LIBRARY(TKV3d TKV3d PATHS ${CASROOT_LIBDIR})
219 +FIND_LIBRARY(TKVRML TKVRML PATHS ${CASROOT_LIBDIR})
220 +FIND_LIBRARY(TKXCAF TKXCAF PATHS ${CASROOT_LIBDIR})
221 +FIND_LIBRARY(TKXCAFSchema TKXCAFSchema PATHS ${CASROOT_LIBDIR})
222 +FIND_LIBRARY(TKXDEIGES TKXDEIGES PATHS ${CASROOT_LIBDIR})
223 +FIND_LIBRARY(TKXDESTEP TKXDESTEP PATHS ${CASROOT_LIBDIR})
224 +FIND_LIBRARY(TKXMesh TKXMesh PATHS ${CASROOT_LIBDIR})
225 +FIND_LIBRARY(TKXml TKXml PATHS ${CASROOT_LIBDIR})
226 +FIND_LIBRARY(TKXmlL TKXmlL PATHS ${CASROOT_LIBDIR})
227 +FIND_LIBRARY(TKXmlTObj TKXmlTObj PATHS ${CASROOT_LIBDIR})
228 +FIND_LIBRARY(TKXmlXCAF TKXmlXCAF PATHS ${CASROOT_LIBDIR})
229 +FIND_LIBRARY(TKXSBase TKXSBase PATHS ${CASROOT_LIBDIR})
230 +FIND_LIBRARY(XCAFPlugin XCAFPlugin PATHS ${CASROOT_LIBDIR})
231 +FIND_LIBRARY(XmlLPlugin XmlLPlugin PATHS ${CASROOT_LIBDIR})
232 +FIND_LIBRARY(XmlPlugin XmlPlugin PATHS ${CASROOT_LIBDIR})
233 +FIND_LIBRARY(XmlTObjPlugin XmlTObjPlugin PATHS ${CASROOT_LIBDIR})
234 +FIND_LIBRARY(XmlXCAFPlugin XmlXCAFPlugin PATHS ${CASROOT_LIBDIR})
235 +
236 +SET(CAS_KERNEL ${TKernel} ${TKMath})
237 +SET(CAS_OCAF ${TKernel} ${TKMath} ${TKCDF} ${TKLCAF})
238 +SET(CAS_VIEWER ${TKService} ${TKV3d} ${TKG3d} ${TKGeomBase} ${TKBRep})
239 +SET(CAS_OCAFVIS ${TKCAF} ${TKBRep} ${TKG2d})
240 +SET(CAS_MODELER ${TKG3d} ${TKGeomBase} ${TKGeomAlgo} ${TKBRep} ${TKTopAlgo} ${TKG2d})
241 +
242 +SET(TKV3d_EA ${TKernel} ${TKMath} ${TKV3d})
243 +SET(TKBool_EA ${TKernel} ${TKMath} ${TKBRep} ${TKG2d} ${TKG3d} ${TKGeomBase} ${TKGeomAlgo} ${TKTopAlgo} ${TKBool})
244 +SET(TKBRep_EA ${TKernel} ${TKMath} ${TKBRep})
245 +SET(TKIGES_EA ${TKernel} ${TKMath} ${TKXSBase} ${TKBRep} ${TKIGES})
246 +SET(TKSTEP_EA ${TKernel} ${TKMath} ${TKXSBase} ${TKBRep} ${TKSTEP})
247 +SET(TKSTL_EA ${TKernel} ${TKMath} ${TKSTL})
248 +SET(TKCAF_EA ${TKPrim} ${TKCAF})
249 +
250 +SET(TKV3d ${TKV3d_EA})
251 +SET(TKBool ${TKBool_EA})
252 +SET(TKBRep ${TKBRep_EA})
253 +SET(TKIGES ${TKIGES_EA})
254 +SET(TKSTEP ${TKSTEP_EA})
255 +SET(TKSTL ${TKSTL_EA})
256 +SET(TKCAF ${TKCAF_EA})
257 +
258 +#LIBRARIES
259 +SET(OCCLIBS ${CAS_LDPATH})
260 +SET(OCCLIBS ${OCCLIBS} ${TKernel} ${TKGeomBase} ${TKMath} ${TKG2d} ${TKG3d} ${TKXSBase} ${TKOffset} ${TKFillet} ${TKShHealing})
261 +SET(OCCLIBS ${OCCLIBS} ${TKMesh} ${TKMeshVS} ${TKTopAlgo} ${TKGeomAlgo} ${TKBool} ${TKPrim} ${TKBO} ${TKIGES} ${TKBRep})
262 +SET(OCCLIBS ${OCCLIBS} ${TKSTEPBase} ${TKSTEP} ${TKSTL} ${TKSTEPAttr} ${TKSTEP209} ${TKXDESTEP} ${TKXDEIGES} ${TKXCAF} ${TKLCAF})
263 \ В конце файла нет новой строки
264 diff -Naur netgen-5.3.1_SRC_orig/cmake/FindPLATFORM.cmake netgen-5.3.1_SRC_modif/cmake/FindPLATFORM.cmake
265 --- netgen-5.3.1_SRC_orig/cmake/FindPLATFORM.cmake      1970-01-01 03:00:00.000000000 +0300
266 +++ netgen-5.3.1_SRC_modif/cmake/FindPLATFORM.cmake     2016-11-22 19:05:57.195348500 +0300
267 @@ -0,0 +1,96 @@
268 +#  Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
269 +#
270 +#  This library is free software; you can redistribute it and/or
271 +#  modify it under the terms of the GNU Lesser General Public
272 +#  License as published by the Free Software Foundation; either
273 +#  version 2.1 of the License.
274 +#
275 +#  This library is distributed in the hope that it will be useful,
276 +#  but WITHOUT ANY WARRANTY; without even the implied warranty of
277 +#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
278 +#  Lesser General Public License for more details.
279 +#
280 +#  You should have received a copy of the GNU Lesser General Public
281 +#  License along with this library; if not, write to the Free Software
282 +#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
283 +#
284 +#  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
285 +#
286 +
287 +MARK_AS_ADVANCED(ISSUE)
288 +FIND_FILE(ISSUE issue /etc)
289 +IF(ISSUE)
290 +  SET(WINDOWS 0)
291 +ELSE()
292 +  SET(WINDOWS 1)
293 +ENDIF(ISSUE)
294 +
295 +IF(WINDOWS)
296 +  SET(MACHINE WINDOWS)
297 +ELSE(WINDOWS)
298 +  SET(MACHINE PCLINUX)
299 +ENDIF(WINDOWS)
300 +
301 +SET(CMAKE_INSTALL_PREFIX_ENV $ENV{CMAKE_INSTALL_PREFIX})
302 +IF(CMAKE_INSTALL_PREFIX_ENV)
303 +  SET(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX_ENV} CACHE PATH "installation prefix" FORCE)
304 +ENDIF(CMAKE_INSTALL_PREFIX_ENV)
305 +
306 +IF(NOT CMAKE_BUILD_TYPE)
307 +  SET(CMAKE_BUILD_TYPE $ENV{CMAKE_BUILD_TYPE})
308 +ENDIF(NOT CMAKE_BUILD_TYPE)
309 +
310 +IF(NOT CMAKE_BUILD_TYPE)
311 +  SET(CMAKE_BUILD_TYPE Release)
312 +ENDIF(NOT CMAKE_BUILD_TYPE)
313 +
314 +IF(WINDOWS)
315 +ELSE(WINDOWS)
316 +  SET(ADD_WERROR ON)
317 +  SET(NAMES ACCEPT_SALOME_WARNINGS ACCEPT_${MODULE}_WARNINGS I_AM_A_TROLL_I_DO_NOT_FIX_${MODULE}_WARNINGS)
318 +  FOREACH(name ${NAMES})
319 +    SET(VAL $ENV{${name}})
320 +    IF(X${VAL} STREQUAL X0)
321 +      SET(ADD_WERROR ON)
322 +    ENDIF(X${VAL} STREQUAL X0)
323 +    IF(X${VAL} STREQUAL X1)
324 +      SET(ADD_WERROR OFF)
325 +    ENDIF(X${VAL} STREQUAL X1)
326 +  ENDFOREACH(name ${NAMES})
327 +  IF(ADD_WERROR)
328 +    SET(CMAKE_C_FLAGS "-Werror")
329 +    SET(CMAKE_CXX_FLAGS "-Werror")
330 +  ENDIF(ADD_WERROR)
331 +ENDIF(WINDOWS)
332 +
333 +IF(CMAKE_BUILD_TYPE)
334 +  IF(WINDOWS)
335 +    MARK_AS_ADVANCED(CLEAR CMAKE_CONFIGURATION_TYPES)
336 +    SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "compilation types" FORCE)
337 +  ELSE(WINDOWS)
338 +    IF(CMAKE_BUILD_TYPE STREQUAL Debug)
339 +      SET(CMAKE_C_FLAGS_DEBUG "-g")
340 +      SET(CMAKE_CXX_FLAGS_DEBUG "-g")
341 +    ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
342 +    IF(CMAKE_BUILD_TYPE STREQUAL Release)
343 +      SET(CMAKE_C_FLAGS_RELEASE "-O1 -DNDEBUG")
344 +      SET(CMAKE_CXX_FLAGS_RELEASE "-O1 -DNDEBUG")
345 +    ENDIF(CMAKE_BUILD_TYPE STREQUAL Release)
346 +  ENDIF(WINDOWS)
347 +ENDIF(CMAKE_BUILD_TYPE)
348 +
349 +SET(PLATFORM_CPPFLAGS)
350 +SET(PLATFORM_LDFLAGS)
351 +SET(PLATFORM_LIBADD)
352 +IF(WINDOWS)
353 +  ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)  # To disable windows warnings for strcpy, fopen, ...
354 +  ADD_DEFINITIONS(-D_SCL_SECURE_NO_WARNINGS)  # To disable windows warnings std::copy, std::transform, ...
355 +  ADD_DEFINITIONS(-DWNT)
356 +  ADD_DEFINITIONS(-DPPRO_NT) # For medfile
357 +  ADD_DEFINITIONS(-D_USE_MATH_DEFINES) # At least for MEDMEM
358 +  ADD_DEFINITIONS(-D_WIN32_WINNT=0x0500) # Windows 2000 or later API is required
359 +  SET(PLATFORM_LIBADD ${PLATFORM_LIBADD} Ws2_32.lib)
360 +  SET(PLATFORM_LIBADD ${PLATFORM_LIBADD} Userenv.lib) # At least for GEOM suit
361 +ELSE(WINDOWS)
362 +  SET(PLATFORM_LIBADD ${PLATFORM_LIBADD} -ldl)
363 +ENDIF(WINDOWS) 
364 \ В конце файла нет новой строки
365 diff -Naur netgen-5.3.1_SRC_orig/cmake/FindZLIB.cmake netgen-5.3.1_SRC_modif/cmake/FindZLIB.cmake
366 --- netgen-5.3.1_SRC_orig/cmake/FindZLIB.cmake  1970-01-01 03:00:00.000000000 +0300
367 +++ netgen-5.3.1_SRC_modif/cmake/FindZLIB.cmake 2016-11-25 10:50:13.990626900 +0300
368 @@ -0,0 +1,45 @@
369 +#  Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
370 +#
371 +#  This library is free software; you can redistribute it and/or
372 +#  modify it under the terms of the GNU Lesser General Public
373 +#  License as published by the Free Software Foundation; either
374 +#  version 2.1 of the License.
375 +#
376 +#  This library is distributed in the hope that it will be useful,
377 +#  but WITHOUT ANY WARRANTY; without even the implied warranty of
378 +#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
379 +#  Lesser General Public License for more details.
380 +#
381 +#  You should have received a copy of the GNU Lesser General Public
382 +#  License along with this library; if not, write to the Free Software
383 +#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
384 +#
385 +#  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
386 +#
387 +
388 +SET(_ZLIB_SDIRS)
389 +
390 +# Search in ZLIB_ROOT_DIR first
391 +IF(ZLIB_ROOT_DIR)
392 +  SET(_ZLIB_SEARCH_ROOT PATHS ${ZLIB_ROOT_DIR} NO_DEFAULT_PATH)
393 +  list(APPEND _ZLIB_SDIRS _ZLIB_SEARCH_ROOT)
394 +ENDIF()
395 +
396 +SET(ZLIB_NAMES z zlib zdll zlib1 zlibd zlibd1 zlib1d)
397 +
398 +# Try each search configuration.
399 +FOREACH(search ${_ZLIB_SDIRS})
400 +  FIND_PATH(ZLIB_INCLUDE_DIR NAMES zlib.h        ${${search}} PATH_SUFFIXES include)
401 +  FIND_LIBRARY(ZLIB_LIBRARY  NAMES ${ZLIB_NAMES} ${search} PATH_SUFFIXES lib)
402 +ENDFOREACH()
403 +
404 +MARK_AS_ADVANCED(ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
405 +
406 +
407 +INCLUDE(FindPackageHandleStandardArgs)
408 +FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZLIB REQUIRED_VARS ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
409 +
410 +IF(ZLIB_FOUND)
411 +    SET(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
412 +    SET(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
413 +ENDIF()
414 diff -Naur netgen-5.3.1_SRC_orig/libsrc/csg/specpoin.hpp netgen-5.3.1_SRC_modif/libsrc/csg/specpoin.hpp
415 --- netgen-5.3.1_SRC_orig/libsrc/csg/specpoin.hpp       2014-08-29 12:54:06.000000000 +0300
416 +++ netgen-5.3.1_SRC_modif/libsrc/csg/specpoin.hpp      2016-11-25 16:14:55.370008500 +0300
417 @@ -8,10 +8,12 @@
418  /* Date:   01. Okt. 95                                                    */
419  /**************************************************************************/
420  
421 +#include <myadt.hpp>
422 +
423  namespace netgen
424  {
425  
426 -  extern DLL_HEADER MeshingParameters mparam;
427 +  DLL_HEADER extern MeshingParameters mparam;
428  
429    /*
430  
431 diff -Naur netgen-5.3.1_SRC_orig/libsrc/general/template.hpp netgen-5.3.1_SRC_modif/libsrc/general/template.hpp
432 --- netgen-5.3.1_SRC_orig/libsrc/general/template.hpp   2014-08-29 12:54:06.000000000 +0300
433 +++ netgen-5.3.1_SRC_modif/libsrc/general/template.hpp  2016-11-25 15:43:03.276818300 +0300
434 @@ -26,10 +26,10 @@
435  DLL_HEADER extern ostream * testout;
436  
437  /** use instead of cout */
438 -extern ostream * mycout;
439 +DLL_HEADER extern ostream * mycout;
440  
441  /** error output stream */
442 -extern ostream * myerr;
443 +DLL_HEADER extern ostream * myerr;
444  
445  /** Error messages display.
446    Error messages are displayed by this function */
447 diff -Naur netgen-5.3.1_SRC_orig/libsrc/include/mystdlib.h netgen-5.3.1_SRC_modif/libsrc/include/mystdlib.h
448 --- netgen-5.3.1_SRC_orig/libsrc/include/mystdlib.h     2014-08-29 12:54:03.000000000 +0300
449 +++ netgen-5.3.1_SRC_modif/libsrc/include/mystdlib.h    2016-11-22 20:32:24.590261200 +0300
450 @@ -66,6 +66,7 @@
451  #  ifdef MSVC_EXPRESS
452  #   include <pthread.h>
453  #  else
454 +    #define _AFXDLL
455  #   include <afxwin.h>
456  #   include <afxmt.h>
457  #  endif // MSVC_EXPRESS
458 diff -Naur netgen-5.3.1_SRC_orig/libsrc/interface/nginterface.cpp netgen-5.3.1_SRC_modif/libsrc/interface/nginterface.cpp
459 --- netgen-5.3.1_SRC_orig/libsrc/interface/nginterface.cpp      2014-08-29 12:54:02.000000000 +0300
460 +++ netgen-5.3.1_SRC_modif/libsrc/interface/nginterface.cpp     2016-11-23 14:28:40.204193800 +0300
461 @@ -1,3 +1,16 @@
462 +#ifdef _MSC_VER
463 +#ifndef MSVC_EXPRESS
464 +
465 +#define _AFXDLL
466 +
467 +#include <Afxwin.h>
468 +#include <winsock2.h>
469 +#include <winsock.h>
470 +#include <windows.h>
471 +
472 +#endif
473 +#endif
474 +
475  #include <mystdlib.h>
476  
477  #include <meshing.hpp>
478 @@ -11,7 +24,6 @@
479  #include "nginterface.h"
480  #include "../visualization/soldata.hpp"
481  
482 -
483  #ifdef _MSC_VER
484  // Philippose - 30/01/2009
485  // MSVC Express Edition Support
486 diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/global.hpp netgen-5.3.1_SRC_modif/libsrc/meshing/global.hpp
487 --- netgen-5.3.1_SRC_orig/libsrc/meshing/global.hpp     2014-08-29 12:54:05.000000000 +0300
488 +++ netgen-5.3.1_SRC_modif/libsrc/meshing/global.hpp    2016-11-25 16:03:52.591737300 +0300
489 @@ -8,6 +8,8 @@
490  /* Date:   01. Okt. 95                                                    */
491  /**************************************************************************/
492  
493 +#include <myadt.hpp>
494 +
495  /*
496    global functions and variables
497  */
498 @@ -29,7 +31,7 @@
499  
500    extern Array<int> tets_in_qualclass;
501  
502 -  class multithreadt
503 +  class DLL_HEADER multithreadt
504    {
505    public:
506      int pause;
507 @@ -44,7 +46,7 @@
508      multithreadt();
509    };
510  
511 -  extern volatile multithreadt multithread;
512 +  DLL_HEADER extern volatile multithreadt multithread;
513  
514    DLL_HEADER extern string ngdir;
515    extern DebugParameters debugparam;
516 diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/meshclass.hpp netgen-5.3.1_SRC_modif/libsrc/meshing/meshclass.hpp
517 --- netgen-5.3.1_SRC_orig/libsrc/meshing/meshclass.hpp  2014-08-29 12:54:05.000000000 +0300
518 +++ netgen-5.3.1_SRC_modif/libsrc/meshing/meshclass.hpp 2016-11-25 15:13:36.136123300 +0300
519 @@ -311,7 +311,7 @@
520      { return lockedpoints; }
521  
522      /// Returns number of domains
523 -    int GetNDomains() const;
524 +    DLL_HEADER int GetNDomains() const;
525  
526      ///
527      int GetDimension() const 
528 @@ -320,7 +320,7 @@
529      { dimension = dim; }
530  
531      /// sets internal tables
532 -    void CalcSurfacesOfNode ();
533 +    void DLL_HEADER CalcSurfacesOfNode ();
534  
535      /// additional (temporarily) fix points 
536      void FixPoints (const BitArray & fixpoints);
537 @@ -390,13 +390,13 @@
538      ///
539      DLL_HEADER void SetGlobalH (double h);
540      ///
541 -    void SetMinimalH (double h);
542 +    void DLL_HEADER SetMinimalH (double h);
543      ///
544      double MaxHDomain (int dom) const;
545      ///
546      void SetMaxHDomain (const Array<double> & mhd);
547      ///
548 -    double GetH (const Point3d & p) const;
549 +    double DLL_HEADER GetH (const Point3d & p) const;
550      ///
551      double GetMinH (const Point3d & pmin, const Point3d & pmax);
552      ///
553 diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.hpp netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.hpp
554 --- netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.hpp   2016-11-23 16:20:00.392157700 +0300
555 +++ netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.hpp  2016-11-25 15:34:15.767388200 +0300
556 @@ -324,19 +324,19 @@
557  
558    public:
559      ///
560 -    Element2d ();
561 +    DLL_HEADER Element2d ();
562      ///
563 -    Element2d (int anp);
564 +    DLL_HEADER Element2d (int anp);
565      ///
566      DLL_HEADER Element2d (ELEMENT_TYPE type);
567      ///
568 -    Element2d (int pi1, int pi2, int pi3);
569 +    DLL_HEADER Element2d (int pi1, int pi2, int pi3);
570      ///
571 -    Element2d (int pi1, int pi2, int pi3, int pi4);
572 +    DLL_HEADER Element2d (int pi1, int pi2, int pi3, int pi4);
573      ///
574 -    ELEMENT_TYPE GetType () const { return typ; }
575 +    DLL_HEADER ELEMENT_TYPE GetType () const { return typ; }
576      /// 
577 -    void SetType (ELEMENT_TYPE atyp)
578 +    DLL_HEADER  void SetType (ELEMENT_TYPE atyp)
579      {
580        typ = atyp;
581        switch (typ)
582 @@ -351,9 +351,9 @@
583         }
584      }
585      ///
586 -    int GetNP() const { return np; }
587 +    DLL_HEADER int GetNP() const { return np; }
588      ///
589 -    int GetNV() const
590 +    DLL_HEADER int GetNV() const
591      {
592        if (typ == TRIG || typ == TRIG6)
593          return 3;
594 @@ -385,95 +385,95 @@
595      }
596  
597      ///
598 -    PointIndex & operator[] (int i) { return pnum[i]; }
599 +    DLL_HEADER  PointIndex & operator[] (int i) { return pnum[i]; }
600      ///
601 -    const PointIndex & operator[] (int i) const { return pnum[i]; }
602 +    DLL_HEADER const PointIndex & operator[] (int i) const { return pnum[i]; }
603  
604 -    FlatArray<const PointIndex> PNums () const 
605 +    DLL_HEADER  FlatArray<const PointIndex> PNums () const 
606      { return FlatArray<const PointIndex> (np, &pnum[0]); }
607      
608      ///
609 -    PointIndex & PNum (int i) { return pnum[i-1]; }
610 +    DLL_HEADER PointIndex & PNum (int i) { return pnum[i-1]; }
611      ///
612 -    const PointIndex & PNum (int i) const { return pnum[i-1]; }
613 +    DLL_HEADER const PointIndex & PNum (int i) const { return pnum[i-1]; }
614      ///
615 -    PointIndex & PNumMod (int i) { return pnum[(i-1) % np]; }
616 +    DLL_HEADER PointIndex & PNumMod (int i) { return pnum[(i-1) % np]; }
617      ///
618 -    const PointIndex & PNumMod (int i) const { return pnum[(i-1) % np]; }
619 +    DLL_HEADER const PointIndex & PNumMod (int i) const { return pnum[(i-1) % np]; }
620      ///
621  
622      ///
623 -    PointGeomInfo & GeomInfoPi (int i) { return geominfo[i-1]; }
624 +    DLL_HEADER PointGeomInfo & GeomInfoPi (int i) { return geominfo[i-1]; }
625      ///
626 -    const PointGeomInfo & GeomInfoPi (int i) const { return geominfo[i-1]; }
627 +    DLL_HEADER const PointGeomInfo & GeomInfoPi (int i) const { return geominfo[i-1]; }
628      ///
629 -    PointGeomInfo & GeomInfoPiMod (int i) { return geominfo[(i-1) % np]; }
630 +    DLL_HEADER PointGeomInfo & GeomInfoPiMod (int i) { return geominfo[(i-1) % np]; }
631      ///
632 -    const PointGeomInfo & GeomInfoPiMod (int i) const { return geominfo[(i-1) % np]; }
633 +    DLL_HEADER const PointGeomInfo & GeomInfoPiMod (int i) const { return geominfo[(i-1) % np]; }
634  
635  
636 -    void SetIndex (int si) { index = si; }
637 +    DLL_HEADER void SetIndex (int si) { index = si; }
638      ///
639 -    int GetIndex () const { return index; }
640 +    DLL_HEADER int GetIndex () const { return index; }
641  
642 -    int GetOrder () const { return orderx; }
643 -    void SetOrder (int aorder) { orderx = ordery = aorder; }
644 +    DLL_HEADER int GetOrder () const { return orderx; }
645 +    DLL_HEADER void SetOrder (int aorder) { orderx = ordery = aorder; }
646  
647  
648 -    void GetOrder (int & ox, int & oy) const { ox = orderx, oy =ordery;};
649 -    void GetOrder (int & ox, int & oy, int & oz) const { ox = orderx; oy = ordery; oz=0; }
650 -    void SetOrder (int ox, int oy, int  /* oz */) { orderx = ox; ordery = oy;}
651 -    void SetOrder (int ox, int oy) { orderx = ox; ordery = oy;}
652 +    DLL_HEADER void GetOrder (int & ox, int & oy) const { ox = orderx, oy =ordery;};
653 +    DLL_HEADER void GetOrder (int & ox, int & oy, int & oz) const { ox = orderx; oy = ordery; oz=0; }
654 +    DLL_HEADER void SetOrder (int ox, int oy, int  /* oz */) { orderx = ox; ordery = oy;}
655 +    DLL_HEADER void SetOrder (int ox, int oy) { orderx = ox; ordery = oy;}
656  
657  
658      ///
659 -    void GetBox (const T_POINTS & points, Box3d & box) const;
660 +    DLL_HEADER void GetBox (const T_POINTS & points, Box3d & box) const;
661      /// invert orientation
662 -    inline void Invert ();
663 +    DLL_HEADER inline void Invert ();
664      ///
665 -    void Invert2 ();
666 +    DLL_HEADER void Invert2 ();
667      /// first point number is smallest
668 -    inline void NormalizeNumbering ();
669 +    DLL_HEADER inline void NormalizeNumbering ();
670      ///
671 -    void NormalizeNumbering2 ();
672 +    DLL_HEADER void NormalizeNumbering2 ();
673  
674 -    bool BadElement() const { return badel; }
675 +    DLL_HEADER bool BadElement() const { return badel; }
676  
677      // friend ostream & operator<<(ostream  & s, const Element2d & el);
678      friend class Mesh;
679  
680  
681      /// get number of 'integration points'
682 -    int GetNIP () const;
683 -    void GetIntegrationPoint (int ip, Point2d & p, double & weight) const;
684 +    DLL_HEADER int GetNIP () const;
685 +    DLL_HEADER void GetIntegrationPoint (int ip, Point2d & p, double & weight) const;
686  
687 -    void GetTransformation (int ip, const Array<Point2d> & points,
688 +    DLL_HEADER void GetTransformation (int ip, const Array<Point2d> & points,
689                             class DenseMatrix & trans) const;
690 -    void GetTransformation (int ip, class DenseMatrix & pmat,
691 +    DLL_HEADER void GetTransformation (int ip, class DenseMatrix & pmat,
692                             class DenseMatrix & trans) const;
693  
694 -    void GetShape (const Point2d & p, class Vector & shape) const;
695 -    void GetShapeNew (const Point<2> & p, class FlatVector & shape) const;
696 +    DLL_HEADER void GetShape (const Point2d & p, class Vector & shape) const;
697 +    DLL_HEADER void GetShapeNew (const Point<2> & p, class FlatVector & shape) const;
698      /// matrix 2 * np
699 -    void GetDShape (const Point2d & p, class DenseMatrix & dshape) const;
700 -    void GetDShapeNew (const Point<2> & p, class MatrixFixWidth<2> & dshape) const;
701 +    DLL_HEADER void GetDShape (const Point2d & p, class DenseMatrix & dshape) const;
702 +    DLL_HEADER void GetDShapeNew (const Point<2> & p, class MatrixFixWidth<2> & dshape) const;
703      /// matrix 2 * np
704 -    void GetPointMatrix (const Array<Point2d> & points,
705 +    DLL_HEADER void GetPointMatrix (const Array<Point2d> & points,
706                          class DenseMatrix & pmat) const; 
707  
708 -    void ComputeIntegrationPointData () const;
709 +    DLL_HEADER void ComputeIntegrationPointData () const;
710    
711  
712 -    double CalcJacobianBadness (const Array<Point2d> & points) const;
713 -    double CalcJacobianBadness (const T_POINTS & points, 
714 +    DLL_HEADER double CalcJacobianBadness (const Array<Point2d> & points) const;
715 +    DLL_HEADER double CalcJacobianBadness (const T_POINTS & points, 
716                                 const Vec<3> & n) const;
717 -    double CalcJacobianBadnessDirDeriv (const Array<Point2d> & points,
718 +    DLL_HEADER double CalcJacobianBadnessDirDeriv (const Array<Point2d> & points,
719                                         int pi, Vec2d & dir, double & dd) const;
720  
721  
722  
723 -    void Delete () { deleted = 1; pnum[0] = pnum[1] = pnum[2] = pnum[3] = PointIndex::BASE-1; }
724 -    bool IsDeleted () const 
725 +    DLL_HEADER void Delete () { deleted = 1; pnum[0] = pnum[1] = pnum[2] = pnum[3] = PointIndex::BASE-1; }
726 +    DLL_HEADER bool IsDeleted () const 
727      {
728  #ifdef DEBUG
729        if (pnum[0] < PointIndex::BASE && !deleted)
730 @@ -484,27 +484,27 @@
731  
732      // Philippose - 08 August 2010
733      // Access functions for the new property: visible
734 -    void Visible(bool vis = 1) 
735 +    DLL_HEADER void Visible(bool vis = 1) 
736      { visible = vis; }
737 -    bool IsVisible () const 
738 +    DLL_HEADER bool IsVisible () const 
739      { return visible; }
740     
741 -    void SetRefinementFlag (bool rflag = 1) 
742 +    DLL_HEADER void SetRefinementFlag (bool rflag = 1) 
743      { refflag = rflag; }
744 -    bool TestRefinementFlag () const
745 +    DLL_HEADER bool TestRefinementFlag () const
746      { return refflag; }
747  
748 -    void SetStrongRefinementFlag (bool rflag = 1) 
749 +    DLL_HEADER void SetStrongRefinementFlag (bool rflag = 1) 
750      { strongrefflag = rflag; }
751 -    bool TestStrongRefinementFlag () const
752 +    DLL_HEADER bool TestStrongRefinementFlag () const
753      { return strongrefflag; }
754  
755    
756 -    SurfaceElementIndex NextElement() { return next; }
757 +    DLL_HEADER SurfaceElementIndex NextElement() { return next; }
758  
759 -    bool operator==(const Element2d & el2) const;
760 +    DLL_HEADER bool operator==(const Element2d & el2) const;
761  
762 -    int HasFace(const Element2d& el) const;
763 +    DLL_HEADER int HasFace(const Element2d& el) const;
764      ///
765      int meshdocval;
766      ///
767 @@ -517,7 +517,7 @@
768    };
769  
770  
771 -  ostream & operator<<(ostream  & s, const Element2d & el);
772 +  DLL_HEADER ostream & operator<<(ostream  & s, const Element2d & el);
773  
774  
775  
776 diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occgenmesh.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occgenmesh.cpp
777 --- netgen-5.3.1_SRC_orig/libsrc/occ/occgenmesh.cpp     2016-11-23 16:20:00.432158900 +0300
778 +++ netgen-5.3.1_SRC_modif/libsrc/occ/occgenmesh.cpp    2016-11-25 16:26:13.181305600 +0300
779 @@ -18,7 +18,7 @@
780  #define VSMALL 1e-10
781  
782  
783 -   bool merge_solids = 1;
784 +   DLL_HEADER bool merge_solids = 1;
785  
786  
787    // can you please explain what you intend to compute here (JS) !!!
788 @@ -540,7 +540,7 @@
789                   
790                    Point<3> fp = occ2ng (BRep_Tool::Pnt (v1));
791                    Point<3> lp = occ2ng (BRep_Tool::Pnt (v2));
792 -                  double tol2 = std::min( eps*eps, 1e-6 * Dist2( fp, lp ));
793 +                  double tol2 = min( eps*eps, 1e-6 * Dist2( fp, lp ));
794                    if ( isClosedEdge )
795                      tol2 = BRep_Tool::Tolerance( v1 ) * BRep_Tool::Tolerance( v1 );
796  
797 diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.hpp netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.hpp
798 --- netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.hpp        2016-11-23 16:20:00.442159200 +0300
799 +++ netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.hpp       2016-11-25 15:59:20.505531400 +0300
800 @@ -9,6 +9,8 @@
801  
802  #ifdef OCCGEOMETRY
803  
804 +#include <myadt.hpp>
805 +
806  #include <meshing.hpp>
807  
808  #include "BRep_Tool.hxx"
809 @@ -122,7 +124,7 @@
810  {
811  #include "occmeshsurf.hpp"
812  
813 -  extern DLL_HEADER MeshingParameters mparam;
814 +  DLL_HEADER extern MeshingParameters mparam;
815  
816  #define PROJECTION_TOLERANCE 1e-10
817  
818 @@ -197,7 +199,7 @@
819  
820  
821  
822 -   class OCCGeometry : public NetgenGeometry
823 +   class DLL_HEADER OCCGeometry : public NetgenGeometry
824     {
825        Point<3> center;
826        // -- Optimization: to use cached projector and classifier
827 @@ -413,7 +415,7 @@
828  
829  
830  
831 -   class OCCParameters
832 +   class DLL_HEADER OCCParameters
833     {
834     public:
835  
836 @@ -453,21 +455,21 @@
837     OCCGeometry * LoadOCC_STEP (const char * filename);
838     OCCGeometry * LoadOCC_BREP (const char * filename);
839  
840 -   extern OCCParameters occparam;
841 +   extern DLL_HEADER OCCParameters occparam;
842  
843  
844     // Philippose - 31.09.2009
845     // External access to the mesh generation functions within the OCC
846     // subsystem (Not sure if this is the best way to implement this....!!)
847 -   extern int OCCGenerateMesh (OCCGeometry & occgeometry, Mesh*& mesh,
848 +   extern DLL_HEADER int OCCGenerateMesh (OCCGeometry & occgeometry, Mesh*& mesh,
849                                MeshingParameters & mparam,
850                                int perfstepsstart, int perfstepsend);
851  
852 -  extern void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh);
853 +  extern DLL_HEADER void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh);
854  
855 -   extern void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend);
856 +   extern DLL_HEADER void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend);
857  
858 -   extern void OCCFindEdges (OCCGeometry & geom, Mesh & mesh);
859 +   extern DLL_HEADER void OCCFindEdges (OCCGeometry & geom, Mesh & mesh);
860  }
861  
862  #endif
863 diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occmeshsurf.hpp netgen-5.3.1_SRC_modif/libsrc/occ/occmeshsurf.hpp
864 --- netgen-5.3.1_SRC_orig/libsrc/occ/occmeshsurf.hpp    2014-08-29 12:54:03.000000000 +0300
865 +++ netgen-5.3.1_SRC_modif/libsrc/occ/occmeshsurf.hpp   2016-11-25 12:46:27.828676600 +0300
866 @@ -169,7 +169,7 @@
867  class OCCGeometry;
868  
869  
870 -class OCCRefinementSurfaces : public Refinement
871 +class DLL_HEADER OCCRefinementSurfaces : public Refinement
872  {
873    const OCCGeometry & geometry;
874  
875 diff -Naur netgen-5.3.1_SRC_orig/libsrc/stlgeom/stlgeom.hpp netgen-5.3.1_SRC_modif/libsrc/stlgeom/stlgeom.hpp
876 --- netgen-5.3.1_SRC_orig/libsrc/stlgeom/stlgeom.hpp    2014-08-29 12:54:05.000000000 +0300
877 +++ netgen-5.3.1_SRC_modif/libsrc/stlgeom/stlgeom.hpp   2016-11-25 16:22:27.290718800 +0300
878 @@ -38,7 +38,7 @@
879      return true;
880    }
881    
882 -  extern DLL_HEADER MeshingParameters mparam;
883 +  DLL_HEADER extern MeshingParameters mparam;
884    
885  
886  
887 diff -Naur netgen-5.3.1_SRC_orig/nglib/CMakeLists.txt netgen-5.3.1_SRC_modif/nglib/CMakeLists.txt
888 --- netgen-5.3.1_SRC_orig/nglib/CMakeLists.txt  1970-01-01 03:00:00.000000000 +0300
889 +++ netgen-5.3.1_SRC_modif/nglib/CMakeLists.txt 2016-11-23 16:28:18.630104800 +0300
890 @@ -0,0 +1,252 @@
891 +# Copyright (C) 2016 OPEN CASCADE
892 +#
893 +# This library is free software; you can redistribute it and/or
894 +# modify it under the terms of the GNU Lesser General Public
895 +# License as published by the Free Software Foundation; either
896 +# version 2.1 of the License, or (at your option) any later version.
897 +#
898 +# This library is distributed in the hope that it will be useful,
899 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
900 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
901 +# Lesser General Public License for more details.
902 +#
903 +# You should have received a copy of the GNU Lesser General Public
904 +# License along with this library; if not, write to the Free Software
905 +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
906 +#
907 +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
908 +#
909 +INCLUDE_DIRECTORIES(
910 +    ${CMAKE_CURRENT_SOURCE_DIR}
911 +    ${PROJECT_SOURCE_DIR}/libsrc/include
912 +    ${ZLIB_INCLUDE_DIRS}
913 +    ${CAS_INCLUDE_DIRS}
914 +)
915 +
916 +
917 +# CGS
918 +SET(CGS_SOURCES 
919 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/algprim.cpp 
920 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/brick.cpp
921 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/bspline2d.cpp 
922 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/csgeom.cpp 
923 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/csgparser.cpp 
924 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/curve2d.cpp 
925 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/edgeflw.cpp       
926 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/explicitcurve2d.cpp 
927 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/extrusion.cpp 
928 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/gencyl.cpp 
929 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/genmesh.cpp 
930 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/identify.cpp  
931 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/manifold.cpp 
932 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/meshsurf.cpp 
933 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/polyhedra.cpp 
934 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/revolution.cpp 
935 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/singularref.cpp 
936 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/solid.cpp 
937 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/specpoin.cpp 
938 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/spline3d.cpp 
939 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/surface.cpp 
940 +    ${PROJECT_SOURCE_DIR}/libsrc/csg/triapprox.cpp)
941 +
942 +# GENERAL
943 +SET(GENERAL_SOURCES 
944 +   ${PROJECT_SOURCE_DIR}/libsrc/general/array.cpp 
945 +   ${PROJECT_SOURCE_DIR}/libsrc/general/bitarray.cpp 
946 +   ${PROJECT_SOURCE_DIR}/libsrc/general/dynamicmem.cpp 
947 +   ${PROJECT_SOURCE_DIR}/libsrc/general/flags.cpp 
948 +   ${PROJECT_SOURCE_DIR}/libsrc/general/hashtabl.cpp 
949 +   ${PROJECT_SOURCE_DIR}/libsrc/general/mystring.cpp 
950 +   ${PROJECT_SOURCE_DIR}/libsrc/general/ngexception.cpp 
951 +   ${PROJECT_SOURCE_DIR}/libsrc/general/optmem.cpp 
952 +   ${PROJECT_SOURCE_DIR}/libsrc/general/parthreads.cpp 
953 +   ${PROJECT_SOURCE_DIR}/libsrc/general/profiler.cpp 
954 +   ${PROJECT_SOURCE_DIR}/libsrc/general/seti.cpp 
955 +   ${PROJECT_SOURCE_DIR}/libsrc/general/sort.cpp 
956 +   ${PROJECT_SOURCE_DIR}/libsrc/general/spbita2d.cpp 
957 +   ${PROJECT_SOURCE_DIR}/libsrc/general/symbolta.cpp 
958 +   ${PROJECT_SOURCE_DIR}/libsrc/general/table.cpp 
959 +   ${PROJECT_SOURCE_DIR}/libsrc/general/mpi_interface.cpp 
960 +   ${PROJECT_SOURCE_DIR}/libsrc/general/gzstream.cpp)
961 +
962 +FILE(GLOB GENERAL_INCLUDES "${PROJECT_SOURCE_DIR}/libsrc/general/*.hpp")
963 +LIST(APPEND GENERAL_INCLUDES ${PROJECT_SOURCE_DIR}/libsrc/general/gzstream.h)
964 +
965 +# GEOM2D
966 +SET (GEOM2D_SOURCES 
967 +     ${PROJECT_SOURCE_DIR}/libsrc/geom2d/genmesh2d.cpp 
968 +     ${PROJECT_SOURCE_DIR}/libsrc/geom2d/geom2dmesh.cpp 
969 +     ${PROJECT_SOURCE_DIR}/libsrc/geom2d/geometry2d.cpp)
970 +
971 +# GPRIM
972 +SET(GPRIM_SOURCES 
973 +    ${PROJECT_SOURCE_DIR}/libsrc/gprim/adtree.cpp 
974 +    ${PROJECT_SOURCE_DIR}/libsrc/gprim/geom2d.cpp 
975 +    ${PROJECT_SOURCE_DIR}/libsrc/gprim/geom3d.cpp 
976 +    ${PROJECT_SOURCE_DIR}/libsrc/gprim/geomfuncs.cpp 
977 +    ${PROJECT_SOURCE_DIR}/libsrc/gprim/geomtest3d.cpp 
978 +    ${PROJECT_SOURCE_DIR}/libsrc/gprim/transform3d.cpp 
979 +    ${PROJECT_SOURCE_DIR}/libsrc/gprim/spline.cpp 
980 +    ${PROJECT_SOURCE_DIR}/libsrc/gprim/splinegeometry.cpp)
981 +
982 +FILE(GLOB GPRIM_INCLUDES "${PROJECT_SOURCE_DIR}/libsrc/gprim/*.hpp")
983 +
984 +# INCLUDE
985 +SET(INCLUDE_INCLUDES 
986 +    ${PROJECT_SOURCE_DIR}/libsrc/include/nginterface.h
987 +    ${PROJECT_SOURCE_DIR}/libsrc/include/nginterface_v2.hpp
988 +    ${PROJECT_SOURCE_DIR}/libsrc/include/mystdlib.h
989 +    ${PROJECT_SOURCE_DIR}/libsrc/include/mydefs.hpp)
990 +
991 +# INTERFACE
992 +SET(INTERFACE_SOURCES 
993 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/nginterface.cpp 
994 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/nginterface_v2.cpp
995 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/read_fnf_mesh.cpp 
996 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/readtetmesh.cpp 
997 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/readuser.cpp 
998 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writeabaqus.cpp 
999 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writediffpack.cpp 
1000 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writedolfin.cpp 
1001 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writeelmer.cpp 
1002 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writefeap.cpp 
1003 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writefluent.cpp 
1004 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writegmsh.cpp 
1005 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writejcm.cpp 
1006 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writepermas.cpp 
1007 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writetecplot.cpp 
1008 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writetet.cpp 
1009 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writetochnog.cpp 
1010 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writeuser.cpp 
1011 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/wuchemnitz.cpp 
1012 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writegmsh2.cpp 
1013 +    ${PROJECT_SOURCE_DIR}/libsrc/interface/writeOpenFOAM15x.cpp)
1014 +
1015 +# LINALG
1016 +SET (LINALG_SOURCES 
1017 +     ${PROJECT_SOURCE_DIR}/libsrc/linalg/densemat.cpp 
1018 +     ${PROJECT_SOURCE_DIR}/libsrc/linalg/polynomial.cpp 
1019 +     ${PROJECT_SOURCE_DIR}/libsrc/linalg/bfgs.cpp 
1020 +     ${PROJECT_SOURCE_DIR}/libsrc/linalg/linopt.cpp 
1021 +     ${PROJECT_SOURCE_DIR}/libsrc/linalg/linsearch.cpp)
1022 +
1023 +FILE(GLOB LINALG_INCLUDES "${PROJECT_SOURCE_DIR}/libsrc/linalg/*.hpp")
1024 +
1025 +# MESHING
1026 +SET(MESHING_SOURCES 
1027 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/adfront2.cpp 
1028 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/adfront3.cpp
1029 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/bisect.cpp 
1030 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/boundarylayer.cpp 
1031 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/clusters.cpp      
1032 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/curvedelems.cpp 
1033 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/delaunay.cpp 
1034 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/delaunay2d.cpp 
1035 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/geomsearch.cpp 
1036 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/global.cpp     
1037 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/hprefinement.cpp 
1038 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/improve2.cpp 
1039 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/improve2gen.cpp 
1040 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/improve3.cpp 
1041 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/localh.cpp 
1042 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/meshclass.cpp 
1043 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/meshfunc.cpp 
1044 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/meshfunc2d.cpp 
1045 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/meshing2.cpp 
1046 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/meshing3.cpp 
1047 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/meshtool.cpp 
1048 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/meshtype.cpp 
1049 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/msghandler.cpp 
1050 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/netrule2.cpp 
1051 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/netrule3.cpp 
1052 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/parser2.cpp 
1053 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/parser3.cpp 
1054 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/prism2rls.cpp 
1055 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/pyramid2rls.cpp 
1056 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/pyramidrls.cpp 
1057 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/quadrls.cpp 
1058 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/refine.cpp    
1059 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/ruler2.cpp 
1060 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/ruler3.cpp 
1061 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/secondorder.cpp 
1062 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/smoothing2.5.cpp 
1063 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/smoothing2.cpp 
1064 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/smoothing3.cpp 
1065 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/specials.cpp 
1066 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/tetrarls.cpp 
1067 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/topology.cpp 
1068 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/triarls.cpp 
1069 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/validate.cpp 
1070 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/zrefine.cpp 
1071 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/bcfunctions.cpp 
1072 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/parallelmesh.cpp 
1073 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/paralleltop.cpp 
1074 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/paralleltop.hpp 
1075 +    ${PROJECT_SOURCE_DIR}/libsrc/meshing/basegeom.cpp)
1076 +
1077 +FILE(GLOB MESHING_INCLUDES "${PROJECT_SOURCE_DIR}/libsrc/meshing/*.hpp")
1078 +
1079 +# OCC
1080 +SET(OCC_SOURCES 
1081 +    ${PROJECT_SOURCE_DIR}/libsrc/occ/Partition_Inter2d.cxx 
1082 +    ${PROJECT_SOURCE_DIR}/libsrc/occ/Partition_Inter3d.cxx 
1083 +    ${PROJECT_SOURCE_DIR}/libsrc/occ/Partition_Loop.cxx 
1084 +    ${PROJECT_SOURCE_DIR}/libsrc/occ/Partition_Loop2d.cxx 
1085 +    ${PROJECT_SOURCE_DIR}/libsrc/occ/Partition_Loop3d.cxx 
1086 +    ${PROJECT_SOURCE_DIR}/libsrc/occ/Partition_Spliter.cxx 
1087 +    ${PROJECT_SOURCE_DIR}/libsrc/occ/occconstruction.cpp 
1088 +    ${PROJECT_SOURCE_DIR}/libsrc/occ/occgenmesh.cpp 
1089 +    ${PROJECT_SOURCE_DIR}/libsrc/occ/occgeom.cpp 
1090 +    ${PROJECT_SOURCE_DIR}/libsrc/occ/occmeshsurf.cpp)
1091 +
1092 +SET(OCC_INCLUDES ${PROJECT_SOURCE_DIR}/libsrc/occ/occgeom.hpp ${PROJECT_SOURCE_DIR}/libsrc/occ/occmeshsurf.hpp)
1093 +
1094 +# STLGEOM
1095 +SET(STLGEOM_SOURCES 
1096 +    ${PROJECT_SOURCE_DIR}/libsrc/stlgeom/meshstlsurface.cpp 
1097 +    ${PROJECT_SOURCE_DIR}/libsrc/stlgeom/stlgeom.cpp 
1098 +    ${PROJECT_SOURCE_DIR}/libsrc/stlgeom/stlgeomchart.cpp 
1099 +    ${PROJECT_SOURCE_DIR}/libsrc/stlgeom/stlgeommesh.cpp 
1100 +    ${PROJECT_SOURCE_DIR}/libsrc/stlgeom/stlline.cpp 
1101 +    ${PROJECT_SOURCE_DIR}/libsrc/stlgeom/stltool.cpp 
1102 +    ${PROJECT_SOURCE_DIR}/libsrc/stlgeom/stltopology.cpp)
1103 +
1104 +# NGLIB
1105 +SET(NGLIB_SOURCES nglib.cpp)
1106 +ADD_LIBRARY(nglib SHARED 
1107 +            ${NGLIB_SOURCES}
1108 +            ${CGS_SOURCES} 
1109 +            ${GENERAL_SOURCES}
1110 +            ${GPRIM_SOURCES}
1111 +            ${GEOM2D_SOURCES}
1112 +            ${INTERFACE_SOURCES} 
1113 +            ${LINALG_SOURCES} 
1114 +            ${MESHING_SOURCES} 
1115 +            ${OCC_SOURCES}
1116 +            ${STLGEOM_SOURCES})
1117 +
1118 +TARGET_LINK_LIBRARIES(nglib ${OCCLIBS} ${PLATFORM_LIBADD} ${ZLIB_LIBRARIES})
1119 +INSTALL(TARGETS nglib DESTINATION ${NETGEN_INSTALL_LIBS}) 
1120 +
1121 +# Install headers
1122 +INSTALL(FILES ${GENERAL_INCLUDES} 
1123 +              ${INCLUDE_INCLUDES}
1124 +              ${GPRIM_INCLUDES} 
1125 +              ${LINALG_INCLUDES} 
1126 +              ${MESHING_INCLUDES} 
1127 +              ${OCC_INCLUDES} 
1128 +              nglib.h 
1129 +              DESTINATION ${NETGEN_INSTALL_HEADERS})
1130 +
1131 +
1132 +# NG_VOL
1133 +SET(NG_VOL_SOURCES ng_vol.cpp)
1134 +ADD_EXECUTABLE(ng_vol ${NG_VOL_SOURCES})
1135 +TARGET_LINK_LIBRARIES(ng_vol nglib)
1136 +INSTALL(TARGETS ng_vol  DESTINATION ${NETGEN_INSTALL_BINS})
1137 +
1138 +# NG_STL
1139 +SET(NG_STL_SOURCES ng_stl.cpp)
1140 +ADD_EXECUTABLE(ng_stl ${NG_STL_SOURCES})
1141 +TARGET_LINK_LIBRARIES(ng_stl nglib)
1142 +INSTALL(TARGETS ng_stl  DESTINATION ${NETGEN_INSTALL_BINS})
1143 diff -Naur netgen-5.3.1_SRC_orig/nglib/nglib.cpp netgen-5.3.1_SRC_modif/nglib/nglib.cpp
1144 --- netgen-5.3.1_SRC_orig/nglib/nglib.cpp       2014-08-29 12:54:00.000000000 +0300
1145 +++ netgen-5.3.1_SRC_modif/nglib/nglib.cpp      2016-11-23 14:58:26.631177200 +0300
1146 @@ -87,7 +87,8 @@
1147     // Clean-up functions before ending usage of nglib
1148     DLL_HEADER void Ng_Exit ()
1149     {
1150 -      ;
1151 +       delete testout;
1152 +       testout = 0;
1153     }
1154  
1155