From 8a97a9eb125bc1db05e83ebc70686ce2f85231e0 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sun, 5 Jun 2016 00:19:46 +0200 Subject: [PATCH] + build smesh7 on Windows --- src/3rdParty/salomesmesh/CMakeLists.txt | 13 +++++++------ src/3rdParty/salomesmesh/inc/MED_Wrapper.hxx | 3 ++- .../src/NETGENPlugin/NETGENPlugin_Mesher.cpp | 10 +++++----- .../NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cpp | 8 ++++---- .../src/NETGENPlugin/NETGENPlugin_NETGEN_3D.cpp | 8 ++++---- src/3rdParty/salomesmesh/src/SMESH/SMESH_Mesh.cpp | 9 ++++++--- 6 files changed, 28 insertions(+), 23 deletions(-) diff --git a/src/3rdParty/salomesmesh/CMakeLists.txt b/src/3rdParty/salomesmesh/CMakeLists.txt index 329784033..b3f0f1ba6 100644 --- a/src/3rdParty/salomesmesh/CMakeLists.txt +++ b/src/3rdParty/salomesmesh/CMakeLists.txt @@ -35,6 +35,7 @@ include_directories( ${ZLIB_INCLUDE_DIR} ${VTK_INCLUDE_DIR} ${HDF5_INCLUDE_DIR} + ${MEDFILE_INCLUDE_DIRS} ${BOOST_INCLUDE_DIR} ) link_directories(${OCC_LIBRARY_DIR}) @@ -138,7 +139,7 @@ ELSE(UNIX) ######### Windows ########### #MESSAGE("-- Windows system detected") IF(MSVC) - ADD_DEFINITIONS(-DWNT -DWIN32 -D_WINDOWS -DCSFDB -DUSE_CLOCK -DMSDOS -DNO_ONEXIT -DNO_My_ctype -DNO_ISATTY -DNO_FPINIT /wd4290 /wd4251 /wd4018 /wd4800 /wd4996 /wd4244 /wd4806 /wd4275 /wd4005 /wd4099 /wd4101 /wd4267 /wd4390) + ADD_DEFINITIONS(-DWNT -DWIN32 -D_WINDOWS -DCSFDB -DUSE_CLOCK -DMSDOS -DNO_ONEXIT -DNO_My_ctype -DNO_ISATTY -DNO_FPINIT /wd4290 /wd4251 /wd4018 /wd4800 /wd4996 /wd4244 /wd4806 /wd4275 /wd4005 /wd4099 /wd4101 /wd4267 /wd4390 /wd4503 /wd4436) ELSE(MSVC) ADD_DEFINITIONS(-DWNT -DWIN32 -D_WINDOWS -DCSFDB) ENDIF(MSVC) @@ -156,7 +157,7 @@ TARGET_LINK_LIBRARIES(SMDS ${SMESH_LIBS} ${HDF5_C_STATIC_LIBRARY} ${VTK_LIBRARIE SET_BIN_DIR(SMDS SMDS) if(WIN32) - set_target_properties(SMDS PROPERTIES COMPILE_FLAGS "-DSMDS_EXPORTS") + set_target_properties(SMDS PROPERTIES COMPILE_FLAGS "-DSMDS_EXPORTS -DUTILS_EXPORTS") endif(WIN32) @@ -169,7 +170,7 @@ TARGET_LINK_LIBRARIES(Driver ${SMESH_LIBS}) SET_BIN_DIR(Driver Driver) if(WIN32) - set_target_properties(Driver PROPERTIES COMPILE_FLAGS "-DMESHDRIVER_EXPORTS") + set_target_properties(Driver PROPERTIES COMPILE_FLAGS "-DMESHDRIVER_EXPORTS -DSMESHUtils_EXPORTS") endif(WIN32) @@ -189,7 +190,7 @@ TARGET_LINK_LIBRARIES(DriverSTL ${SMESH_LIBS} Driver SMDS ${Boost_LIBRARIES}) SET_BIN_DIR(DriverSTL DriverSTL) if(WIN32) - set_target_properties(DriverSTL PROPERTIES COMPILE_FLAGS "-DMESHDRIVERSTL_EXPORTS") + set_target_properties(DriverSTL PROPERTIES COMPILE_FLAGS "-DMESHDRIVERSTL_EXPORTS -DBASICS_EXPORT -DSMESHUtils_EXPORTS -DBASICS_EXPORTS") endif(WIN32) @@ -264,7 +265,7 @@ TARGET_LINK_LIBRARIES(SMESH SMDS SMESHDS Driver DriverSTL DriverDAT DriverUNV $ SET_BIN_DIR(SMESH SMESH) if(WIN32) - set_target_properties(SMESH PROPERTIES COMPILE_FLAGS "-DSMESH_EXPORTS -DSMESHCONTROLS_EXPORTS -DSMESHimpl_EXPORTS") + set_target_properties(SMESH PROPERTIES COMPILE_FLAGS "-DSMESH_EXPORTS -DSMESHCONTROLS_EXPORTS -DSMESHimpl_EXPORTS -DMESHDriverGMF_EXPORTS -DMESHDRIVERMED_EXPORTS -DMEDWRAPPER_EXPORTS -DMEDWRAPPER_BASE_EXPORTS -DMEDWRAPPER_FACTORY_EXPORTS -DSMESHUtils_EXPORTS -DUTILS_EXPORTS") endif(WIN32) @@ -342,7 +343,7 @@ TARGET_LINK_LIBRARIES(StdMeshers SMESH ${SMESH_LIBS} MEFISTO2) SET_BIN_DIR(StdMeshers StdMeshers) if(WIN32) - set_target_properties(StdMeshers PROPERTIES COMPILE_FLAGS "-DSTDMESHERS_EXPORTS") + set_target_properties(StdMeshers PROPERTIES COMPILE_FLAGS "-DSTDMESHERS_EXPORTS -DSMESHUtils_EXPORTS") else(WIN32) set_target_properties(StdMeshers PROPERTIES COMPILE_FLAGS "${StdMeshers_CFLAGS}") endif(WIN32) diff --git a/src/3rdParty/salomesmesh/inc/MED_Wrapper.hxx b/src/3rdParty/salomesmesh/inc/MED_Wrapper.hxx index 2a14dd844..285afb2c6 100644 --- a/src/3rdParty/salomesmesh/inc/MED_Wrapper.hxx +++ b/src/3rdParty/salomesmesh/inc/MED_Wrapper.hxx @@ -986,7 +986,7 @@ namespace MED TWrapper * operator-> () const; }; - +#if 0 //---------------------------------------------------------------------------- //! To specialize the SharedPtr for TWrapper template<> @@ -1047,6 +1047,7 @@ namespace MED //---------------------------------------------------------------------------- typedef SharedPtr PWrapper; +#endif } #endif diff --git a/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp b/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp index 01327fc96..1a5aa5aa8 100644 --- a/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp +++ b/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp @@ -82,14 +82,14 @@ namespace nglib { //#include namespace netgen { #ifdef NETGEN_V5 - extern int OCCGenerateMesh (OCCGeometry&, Mesh*&, MeshingParameters&, int, int); + DLL_HEADER extern int OCCGenerateMesh (OCCGeometry&, Mesh*&, MeshingParameters&, int, int); #else - extern int OCCGenerateMesh (OCCGeometry&, Mesh*&, int, int, char*); + DLL_HEADER extern int OCCGenerateMesh (OCCGeometry&, Mesh*&, int, int, char*); #endif //extern void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh); - extern MeshingParameters mparam; - extern volatile multithreadt multithread; - extern bool merge_solids; + DLL_HEADER extern MeshingParameters mparam; + DLL_HEADER extern volatile multithreadt multithread; + DLL_HEADER extern bool merge_solids; } #include diff --git a/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cpp b/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cpp index 81756f818..e858e2450 100644 --- a/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cpp +++ b/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cpp @@ -65,12 +65,12 @@ namespace nglib { //#include namespace netgen { #ifdef NETGEN_V5 - extern int OCCGenerateMesh (OCCGeometry&, Mesh*&, MeshingParameters&, int, int); + DLL_HEADER extern int OCCGenerateMesh (OCCGeometry&, Mesh*&, MeshingParameters&, int, int); #else - extern int OCCGenerateMesh (OCCGeometry&, Mesh*&, int, int, char*); + DLL_HEADER extern int OCCGenerateMesh (OCCGeometry&, Mesh*&, int, int, char*); #endif - extern MeshingParameters mparam; - extern void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh); + DLL_HEADER extern MeshingParameters mparam; + DLL_HEADER extern void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh); } using namespace std; diff --git a/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_NETGEN_3D.cpp b/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_NETGEN_3D.cpp index b16e00b13..6e90ddcf6 100644 --- a/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_NETGEN_3D.cpp +++ b/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_NETGEN_3D.cpp @@ -76,12 +76,12 @@ namespace nglib { } namespace netgen { #ifdef NETGEN_V5 - extern int OCCGenerateMesh (OCCGeometry&, Mesh*&, MeshingParameters&, int, int); + DLL_HEADER extern int OCCGenerateMesh (OCCGeometry&, Mesh*&, MeshingParameters&, int, int); #else - extern int OCCGenerateMesh (OCCGeometry&, Mesh*&, int, int, char*); + DLL_HEADER extern int OCCGenerateMesh (OCCGeometry&, Mesh*&, int, int, char*); #endif - extern MeshingParameters mparam; - extern volatile multithreadt multithread; + DLL_HEADER extern MeshingParameters mparam; + DLL_HEADER extern volatile multithreadt multithread; } using namespace nglib; using namespace std; diff --git a/src/3rdParty/salomesmesh/src/SMESH/SMESH_Mesh.cpp b/src/3rdParty/salomesmesh/src/SMESH/SMESH_Mesh.cpp index c7b9db890..c43c2ac6a 100644 --- a/src/3rdParty/salomesmesh/src/SMESH/SMESH_Mesh.cpp +++ b/src/3rdParty/salomesmesh/src/SMESH/SMESH_Mesh.cpp @@ -78,7 +78,9 @@ #include #include #else -#include +#include +#include +//#include #endif using namespace std; @@ -221,8 +223,9 @@ SMESH_Mesh::~SMESH_Mesh() #ifndef WIN32 boost::thread aThread(boost::bind( & deleteMeshDS, _myMeshDS )); #else - pthread_t thread; - int result=pthread_create(&thread, NULL, deleteMeshDS, (void*)_myMeshDS); + boost::thread aThread(boost::bind( & deleteMeshDS, _myMeshDS )); +// pthread_t thread; +// int result=pthread_create(&thread, NULL, deleteMeshDS, (void*)_myMeshDS); #endif } }