From 74af5c4191ff6894f7be384b015ff0e8a6e5f61f Mon Sep 17 00:00:00 2001
From: Chuck Atkins <chuck.atkins@kitware.com>
Date: Tue, 20 Jun 2017 14:54:26 -0600
Subject: [PATCH] Disable the POSIX transport on Windows

---
 source/adios2/ADIOSTypes.h                    |  4 ++++
 source/adios2/CMakeLists.txt                  |  5 ++++-
 source/adios2/engine/bp/BPFileWriter.cpp      |  2 --
 .../toolkit/transportman/TransportMan.cpp     | 19 ++++++++++++-------
 4 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/source/adios2/ADIOSTypes.h b/source/adios2/ADIOSTypes.h
index 458193c71..b689e840c 100644
--- a/source/adios2/ADIOSTypes.h
+++ b/source/adios2/ADIOSTypes.h
@@ -141,7 +141,11 @@ enum class SelectionType
 };
 
 // adios defaults
+#ifdef _WIN32
+const std::string DefaultFileLibrary("stdio");
+#else
 const std::string DefaultFileLibrary("POSIX");
+#endif
 const std::string DefaultTimeUnit("Microseconds");
 constexpr TimeUnit DefaultTimeUnitEnum(TimeUnit::Microseconds);
 
diff --git a/source/adios2/CMakeLists.txt b/source/adios2/CMakeLists.txt
index 79e779d23..f48e0924e 100644
--- a/source/adios2/CMakeLists.txt
+++ b/source/adios2/CMakeLists.txt
@@ -35,7 +35,6 @@ add_library(adios2
   toolkit/profiling/iochrono/Timer.cpp
 
   toolkit/transport/Transport.cpp
-  toolkit/transport/file/FileDescriptor.cpp
   toolkit/transport/file/FilePointer.cpp
   toolkit/transport/file/FileStream.cpp
   
@@ -53,6 +52,10 @@ target_include_directories(adios2
 find_package(Threads REQUIRED)
 target_link_libraries(adios2 PUBLIC ${CMAKE_THREAD_LIBS_INIT})
 
+if(UNIX)
+  target_sources(adios2 PRIVATE toolkit/transport/file/FileDescriptor.cpp)
+endif()
+
 if(ADIOS2_HAVE_SysVShMem)
   target_sources(adios2 PRIVATE toolkit/capsule/shmem/ShmSystemV.cpp)
 endif()
diff --git a/source/adios2/engine/bp/BPFileWriter.cpp b/source/adios2/engine/bp/BPFileWriter.cpp
index f6001622c..c8e6fcef4 100644
--- a/source/adios2/engine/bp/BPFileWriter.cpp
+++ b/source/adios2/engine/bp/BPFileWriter.cpp
@@ -14,8 +14,6 @@
 #include "adios2/ADIOSMPI.h"
 #include "adios2/core/IO.h"
 #include "adios2/helper/adiosFunctions.h" //CheckIndexRange
-#include "adios2/toolkit/transport/file/FileDescriptor.h"
-#include "adios2/toolkit/transport/file/FilePointer.h"
 #include "adios2/toolkit/transport/file/FileStream.h"
 
 namespace adios2
diff --git a/source/adios2/toolkit/transportman/TransportMan.cpp b/source/adios2/toolkit/transportman/TransportMan.cpp
index fc7fedc28..efbd4f21d 100644
--- a/source/adios2/toolkit/transportman/TransportMan.cpp
+++ b/source/adios2/toolkit/transportman/TransportMan.cpp
@@ -15,10 +15,13 @@
 /// \endcond
 
 #include "adios2/helper/adiosFunctions.h" //CreateDirectory
-#include "adios2/toolkit/transport/file/FileDescriptor.h"
 #include "adios2/toolkit/transport/file/FilePointer.h"
 #include "adios2/toolkit/transport/file/FileStream.h"
 
+#ifndef _WIN32
+#include "adios2/toolkit/transport/file/FileDescriptor.h"
+#endif
+
 namespace adios2
 {
 namespace transportman
@@ -204,12 +207,7 @@ void TransportMan::OpenFileTransport(const std::string &fileName,
 {
     auto lf_SetFileTransport = [&](const std::string library,
                                    std::shared_ptr<Transport> &transport) {
-        if (library == "POSIX")
-        {
-            transport = std::make_shared<transport::FileDescriptor>(
-                m_MPIComm, m_DebugMode);
-        }
-        else if (library == "stdio")
+        if (library == "stdio")
         {
             transport = std::make_shared<transport::FilePointer>(m_MPIComm,
                                                                  m_DebugMode);
@@ -219,6 +217,13 @@ void TransportMan::OpenFileTransport(const std::string &fileName,
             transport =
                 std::make_shared<transport::FileStream>(m_MPIComm, m_DebugMode);
         }
+#ifndef _WIN32
+        else if (library == "POSIX")
+        {
+            transport = std::make_shared<transport::FileDescriptor>(
+                m_MPIComm, m_DebugMode);
+        }
+#endif
         else
         {
             if (m_DebugMode)
-- 
GitLab