From 56ade5a3db02cf0bd363887e00961b74f8d803b5 Mon Sep 17 00:00:00 2001
From: Chuck Atkins <chuck.atkins@kitware.com>
Date: Mon, 11 Sep 2017 11:14:18 -0400
Subject: [PATCH] Use KWSys as a static object lib on Windows

---
 source/adios2/CMakeLists.txt    | 2 +-
 source/dataman/CMakeLists.txt   | 2 +-
 thirdparty/KWSys/CMakeLists.txt | 8 ++++++--
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/source/adios2/CMakeLists.txt b/source/adios2/CMakeLists.txt
index 5cca92009..24c36ffe8 100644
--- a/source/adios2/CMakeLists.txt
+++ b/source/adios2/CMakeLists.txt
@@ -55,7 +55,7 @@ target_include_directories(adios2
     $<BUILD_INTERFACE:${ADIOS2_BINARY_DIR}/source>
     $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
 )
-target_link_libraries(adios2 PRIVATE adios2sys pugixml)
+target_link_libraries(adios2 PRIVATE adios2sys_interface pugixml)
 target_link_libraries(adios2 PUBLIC ${CMAKE_THREAD_LIBS_INIT})
 
 if(UNIX)
diff --git a/source/dataman/CMakeLists.txt b/source/dataman/CMakeLists.txt
index 11e4823c7..6defa0d61 100644
--- a/source/dataman/CMakeLists.txt
+++ b/source/dataman/CMakeLists.txt
@@ -19,7 +19,7 @@ target_include_directories(dataman
   PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
 )
 target_link_libraries(dataman
-  PRIVATE adios2sys
+  PRIVATE adios2sys_interface
   PUBLIC NLohmannJson
 )
 set_target_properties(dataman PROPERTIES
diff --git a/thirdparty/KWSys/CMakeLists.txt b/thirdparty/KWSys/CMakeLists.txt
index 8c24389e1..952fd5e0c 100644
--- a/thirdparty/KWSys/CMakeLists.txt
+++ b/thirdparty/KWSys/CMakeLists.txt
@@ -2,10 +2,14 @@ set(KWSYS_NAMESPACE adios2sys)
 set(KWSYS_USE_DynamicLoader ON)
 set(KWSYS_USE_RegularExpression ON)
 set(KWSYS_USE_SystemTools ON)
-set(KWSYS_BUILD_SHARED ${BUILD_SHARED_LIBS})
+if(WIN32)
+  set(KWSYS_BUILD_SHARED OFF)
+else()
+  set(KWSYS_BUILD_SHARED ${BUILD_SHARED_LIBS})
+endif()
 set(KWSYS_SPLIT_OBJECTS_FROM_INTERFACE ON)
 set(KWSYS_INSTALL_EXPORT_NAME adios2Exports)
 set(KWSYS_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR})
-set(KWSYS_DEFINE_SYMBOL adios2_EXPORTS)
 
 add_subdirectory(adios2sys)
+add_library(adios2sys_interface ALIAS adios2sys_private)
-- 
GitLab