]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
SALOME 9.1.0 Windows version
authorrnv <rnv@opencascade.com>
Wed, 29 Aug 2018 11:23:17 +0000 (14:23 +0300)
committerrnv <rnv@opencascade.com>
Wed, 29 Aug 2018 11:23:17 +0000 (14:23 +0300)
src/EntityGUI/EntityGUI_FeatureDetectorDlg.cxx
src/GEOMUtils/GEOMUtils_XmlHandler.cxx
src/GEOM_I/GEOM_Gen_i.cc
src/GEOM_SWIG_WITHIHM/CMakeLists.txt
src/XAO_Swig/CMakeLists.txt

index 4a1ea5788a1229d3ac50b8ebd547f54195737a9a..bca07be7559a47368ef5bada7f81b1e640c17266 100644 (file)
 #include <utility>
 
 // boost includes
+#include <boost/version.hpp>
+#if BOOST_VERSION < 106700
 #include <boost/utility.hpp>
+#else
+#include <boost/next_prior.hpp>
+#endif
 
 // Constructors
 enum{
index dee3492cbb604a0620a3f037ba9c0e4cb86ff17d..46ea3a8f903c91e36513a0f8c2a1c99874afa415 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2013-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -112,7 +112,21 @@ namespace
            xmlPath += sep;
          xmlPath += "share" + sep + "salome" + sep + "resources" + sep + "geom" + sep + plugin + ".xml";
 #ifdef WIN32
-         fileOK = (GetFileAttributes(xmlPath.c_str()) != INVALID_FILE_ATTRIBUTES);
+
+#ifdef UNICODE
+         //RNV: this is workaround for providing compilation,
+         //     path should be processed as unicode string.
+         size_t length = strlen(xmlPath.c_str()) + sizeof(char);
+         wchar_t* aPath = new wchar_t[length + 1];
+         memset(aPath, '\0', length);
+         mbstowcs(aPath, xmlPath.c_str(), length);
+#else
+         const char* aPath = xmlPath.c_str();
+#endif
+         fileOK = (GetFileAttributes(aPath) != INVALID_FILE_ATTRIBUTES);
+#if UNICODE
+         delete aPath;
+#endif
 #else
          fileOK = (access(xmlPath.c_str(), F_OK) == 0);
 #endif
@@ -124,8 +138,19 @@ namespace
          if ( xmlPath[ xmlPath.size()-1 ] != sep[0] )
            xmlPath += sep;
          xmlPath += "share" + sep + "salome" + sep + "resources" + sep + toLower(plugin) + sep + plugin + ".xml";
-#ifdef WIN32
-         fileOK = (GetFileAttributes(xmlPath.c_str()) != INVALID_FILE_ATTRIBUTES);
+#ifdef WIN32     
+#ifdef UNICODE
+         size_t length = strlen(xmlPath.c_str()) + sizeof(char);
+         wchar_t* aPath = new wchar_t[length+1];
+         memset(aPath, '\0', length);
+         mbstowcs(aPath, xmlPath.c_str(), length);
+#else
+         const char* aPath = xmlPath.c_str();
+#endif
+         fileOK = (GetFileAttributes(aPath) != INVALID_FILE_ATTRIBUTES);
+#if UNICODE
+         delete aPath;
+#endif
 #else
          fileOK = (access(xmlPath.c_str(), F_OK) == 0);
 #endif
index b94e8619eac09ed5b19af20c1e51b9dc1cc132b4..715328ce0629535d623fe78c85ab9dda4e524342 100644 (file)
@@ -2510,8 +2510,22 @@ void GEOM_Gen_i::LoadPlugin(const std::string& theLibName)
 
   // check, if corresponding operations are already created
   if (myOpCreatorMap.find(theLibName) == myOpCreatorMap.end()) {
+#ifdef UNICODE
+         //RNV: this is workaround for providing compilation,
+         //     path should be processed as unicode string.
+         size_t length = strlen(aPlatformLibName.c_str()) + sizeof(char);
+         wchar_t* aPath = new wchar_t[length + 1];
+         memset(aPath, '\0', length);
+         mbstowcs(aPath, aPlatformLibName.c_str(), length);
+#else
+         const char* aPath = xmlPath.c_str();
+#endif
     // load plugin library
-    LibHandle libHandle = LoadLib( aPlatformLibName.c_str() );
+#if WIN32
+    LibHandle libHandle = LoadLib(aPath);
+#else
+       LibHandle libHandle = LoadLib(aPlatformLibName.c_str());
+#endif
     if (!libHandle) {
       // report any error, if occurred
 #ifndef WIN32
index 0e76c8e8e3e7efb3b1f59f0a4f1a71d92f262b33..b6ca5b2aaf7db960fd0b8bf0e1d71772b91d35ab 100755 (executable)
@@ -74,7 +74,12 @@ SET(_swig_SCRIPTS
 
 # --- rules ---
 
-SWIG_ADD_MODULE(libGEOM_Swig python libGEOM_Swig.i libGEOM_Swig.cxx)
+IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") 
+  SWIG_ADD_MODULE(libGEOM_Swig python libGEOM_Swig.i libGEOM_Swig.cxx)
+ELSE()
+  SWIG_ADD_LIBRARY(libGEOM_Swig LANGUAGE python SOURCES libGEOM_Swig.i libGEOM_Swig.cxx)
+ENDIF()
+
 SWIG_LINK_LIBRARIES(libGEOM_Swig "${_link_LIBRARIES}")
 SWIG_CHECK_GENERATION(libGEOM_Swig)
 IF(WIN32)
index 8d771be5cabf0f0da69c986f0ea6e3b84a33d99d..b784acd2a3269bd125e37b397775b111e91780e2 100644 (file)
@@ -53,11 +53,16 @@ SET(_swig_SCRIPTS
 # swig flags
 SET_SOURCE_FILES_PROPERTIES(xao.i PROPERTIES CPLUSPLUS ON)
 SET_SOURCE_FILES_PROPERTIES(xao.i PROPERTIES SWIG_FLAGS "-py3")
-#SET_SOURCE_FILES_PROPERTIES(xao_wrap.cxx PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H")
+SET_SOURCE_FILES_PROPERTIES(xao_wrap.cxx PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H")
 
 # --- rules ---
+IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") 
+  SWIG_ADD_MODULE(xao python xao.i)
+ELSE()
+  SWIG_ADD_LIBRARY(xao LANGUAGE python SOURCES xao.i)
+ENDIF()
+
 
-SWIG_ADD_MODULE(xao python xao.i)
 SWIG_LINK_LIBRARIES(xao "${_link_LIBRARIES}")
 SWIG_CHECK_GENERATION(xao)
 IF(WIN32)