]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
Disabling boost::filesystem for windows
authorYoann Audouin <yoann.audouin@edf.fr>
Fri, 4 Nov 2022 16:22:45 +0000 (17:22 +0100)
committerYoann Audouin <yoann.audouin@edf.fr>
Fri, 4 Nov 2022 16:22:45 +0000 (17:22 +0100)
src/SMESH/SMESH_DriverShape.cxx
src/SMESH/SMESH_Gen.cxx
src/SMESH/SMESH_Mesh.cxx
src/SMESH/SMESH_Mesh.hxx
test/SMESH_ParallelCompute.py
test/netgen_runner.py

index c9db8372e1578abd01517c5ec3cb35a2c1e613e5..5568a26107d72dc8f3826a0e038e0fb583cd91da 100644 (file)
@@ -24,7 +24,6 @@
 //  Author : Yoann AUDOUIN, EDF
 //  Module : SMESH
 //
-
 #include <utilities.h>
 #include <Utils_SALOME_Exception.hxx>
 #include "SMESH_DriverShape.hxx"
 //Occ include
 #include <TopoDS.hxx>
 
+#ifndef WIN32
 #include <boost/filesystem.hpp>
 #include <boost/algorithm/string.hpp>
 namespace fs = boost::filesystem;
+#endif
 
 /**
  * @brief Import the content of a shape file (STEP) into a TopDS_Shape object
@@ -147,6 +148,7 @@ int exportBREPShape(const std::string shape_file, const TopoDS_Shape& aShape){
  * @return error code
  */
 int importShape(const std::string shape_file, TopoDS_Shape& aShape){
+#ifndef WIN32
   std::string type = fs::path(shape_file).extension().string();
   boost::algorithm::to_lower(type);
   if (type == ".brep"){
@@ -156,6 +158,7 @@ int importShape(const std::string shape_file, TopoDS_Shape& aShape){
   } else {
     throw SALOME_Exception("Unknow format for importShape: " + type);
   }
+#endif
 }
 
 /**
@@ -167,6 +170,7 @@ int importShape(const std::string shape_file, TopoDS_Shape& aShape){
  * @return error code
  */
 int exportShape(const std::string shape_file, const TopoDS_Shape& aShape){
+#ifndef WIN32
   std::string type = fs::path(shape_file).extension().string();
   boost::algorithm::to_lower(type);
   if (type == ".brep"){
@@ -176,4 +180,5 @@ int exportShape(const std::string shape_file, const TopoDS_Shape& aShape){
   } else {
     throw SALOME_Exception("Unknow format for exportShape: " + type);
   }
+#endif
 }
index fdacc74185b0015588e804405f7f415199af974e..7a98988f9b68a8a60c463aec8f2f72d53551e9df 100644 (file)
@@ -25,7 +25,6 @@
 //  Author : Paul RASCLE, EDF
 //  Module : SMESH
 //
-
 //#define CHRONODEF
 //
 #ifndef WIN32
 #include <Basics_Utils.hxx>
 
 using namespace std;
+#ifndef WIN32
 #include <boost/filesystem.hpp>
 namespace fs = boost::filesystem;
+#endif
 
 // Environment variable separator
 #ifdef WIN32
@@ -280,6 +281,9 @@ bool SMESH_Gen::parallelComputeSubMeshes(
           const bool complexShapeFirst,
           const bool   aShapeOnly)
 {
+#ifdef WIN32
+  throw SALOME_Exception("ParallelMesh is not working on Windows");
+#else
 
   bool ret = true;
 
@@ -351,15 +355,9 @@ bool SMESH_Gen::parallelComputeSubMeshes(
       smToCompute->ComputeStateEngine( SMESH_subMesh::CHECK_COMPUTE_STATE );
       continue;
     }
-#ifdef WIN32
-    compute_function(smToCompute, computeEvent,
-                      shapeSM, aShapeOnly, allowedSubShapes,
-                      aShapesId);
-#else
     boost::asio::post(*(aMesh._pool), std::bind(compute_function, smToCompute, computeEvent,
                       shapeSM, aShapeOnly, allowedSubShapes,
                       aShapesId));
-#endif
   }
 
   // Waiting for the thread for Solids to finish
@@ -369,6 +367,7 @@ bool SMESH_Gen::parallelComputeSubMeshes(
   aMesh.DeleteTmpFolder();
 
   return ret;
+#endif
 };
 
 //=============================================================================
index 6c55d1e7ba5da226da3bc931c9e06e179313508c..46b98cdae41a7b71f2e68e056fbb2adf840a2038 100644 (file)
 #include <pthread.h>
 #endif
 
+#ifndef WIN32
 #include <boost/filesystem.hpp>
 namespace fs=boost::filesystem;
+#endif
 
 // maximum stored group name length in MED file
 #define MAX_MED_GROUP_NAME_LENGTH 80
@@ -236,10 +238,8 @@ SMESH_Mesh::~SMESH_Mesh()
     int result=pthread_create(&thread, NULL, deleteMeshDS, (void*)_meshDS);
 #endif
   }
-#ifndef WIN32
   if(_pool)
     DeletePoolThreads();
-#endif
 }
 
 //================================================================================
@@ -2578,9 +2578,11 @@ void SMESH_Mesh::getAncestorsSubMeshes (const TopoDS_Shape&            theSubSha
 //=============================================================================
 void SMESH_Mesh::CreateTmpFolder()
 {
+#ifndef WIN32
   // Temporary folder that will be used by parallel computation
   tmp_folder = fs::temp_directory_path()/fs::unique_path(fs::path("SMESH_%%%%-%%%%"));
   fs::create_directories(tmp_folder);
+#endif
 }
 //
 //=============================================================================
@@ -2590,7 +2592,7 @@ void SMESH_Mesh::CreateTmpFolder()
 //=============================================================================
 void SMESH_Mesh::DeleteTmpFolder()
 {
-#ifndef _DEBUG_
+#ifndef WIN32
     fs::remove_all(tmp_folder);
 #endif
 }
index ffce714173bec6feba7015fa66a5825b3943340c..42e5b4c92cb75efa4e093bf17d374ac930efab8a 100644 (file)
@@ -29,7 +29,6 @@
 
 #include "SMESH_SMESH.hxx"
 
-
 #include "SMDSAbs_ElementType.hxx"
 #include "SMESH_ComputeError.hxx"
 #include "SMESH_Controls.hxx"
 #include <vector>
 #include <ostream>
 
-#include <boost/filesystem.hpp>
 #ifndef WIN32
+#include <boost/filesystem.hpp>
 #include <boost/asio/thread_pool.hpp>
-#include <boost/thread.hpp>
 #endif
+#include <boost/thread.hpp>
 
 #ifdef WIN32
 #pragma warning(disable:4251) // Warning DLL Interface ...
@@ -422,10 +421,13 @@ class SMESH_EXPORT SMESH_Mesh
   void DeleteTmpFolder();
 
   // Temporary folder used during parallel Computation
+#ifndef WIN32
   boost::filesystem::path tmp_folder;
-  #ifndef WIN32
   boost::asio::thread_pool *     _pool = nullptr; //thread pool for computation
-  #endif
+#else
+  std::string tmp_folder;
+  bool _pool = false;
+#endif
 
 
 private:
index eeddd3f026ba61f14b8846886d18effda2e5d7d0..fccec13004cd413103483135123ac6fd80086c21 100644 (file)
@@ -123,9 +123,11 @@ def run_test(nbox=2, boxsize=100):
     print("Time elapsed (seq, par): ", time_seq, time_par)
 
 def main():
+    if sys.platform == "win32":
+        print("Test disabled on Windows")
+        return
     nbox = 2
     boxsize = 100
     run_test(nbox, boxsize)
 
 main()
-
index be8386fcb9da7df4cbaf8b80199b638c91ef1b0f..76ec09d8ba5d38abc0a455469a466357a42e8942 100644 (file)
@@ -126,4 +126,7 @@ def test_netgen3d():
         assert nb_tetras > 0
 
 if __name__ == "__main__":
+    if sys.platform == "win32":
+        print("Disabled on windows")
+        sys.exit(0)
     test_netgen3d()