From 4f6a245aab360f95d359a102bfd6e9904c8893ac Mon Sep 17 00:00:00 2001
From: William F Godoy <williamfgc@yahoo.com>
Date: Wed, 28 Jun 2017 15:25:14 -0400
Subject: [PATCH] Changes on CMake for thread compilation in heat transfer
 example

---
 examples/heatTransfer/write/CMakeLists.txt | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/examples/heatTransfer/write/CMakeLists.txt b/examples/heatTransfer/write/CMakeLists.txt
index e9f9c3a12..f24a6e7dd 100644
--- a/examples/heatTransfer/write/CMakeLists.txt
+++ b/examples/heatTransfer/write/CMakeLists.txt
@@ -5,6 +5,7 @@
 
 if(ADIOS2_HAVE_MPI)
   find_package(MPI COMPONENTS C REQUIRED)
+  find_package(Threads REQUIRED)
 
   add_executable(heatTransfer_write_adios2
     main.cpp
@@ -15,13 +16,15 @@ if(ADIOS2_HAVE_MPI)
   target_include_directories(heatTransfer_write_adios2
     PRIVATE ${MPI_C_INCLUDE_PATH}
   )
-  target_link_libraries(heatTransfer_write_adios2 adios2 ${MPI_C_LIBRARIES} pthread)
+  target_link_libraries(heatTransfer_write_adios2 adios2 ${MPI_C_LIBRARIES} 
+                        ${CMAKE_THREAD_LIBS_INIT})
   target_compile_definitions(heatTransfer_write_adios2 PRIVATE
    -DDEFAULT_CONFIG=${CMAKE_CURRENT_SOURCE_DIR}/config.xml)
 
   if(ADIOS2_HAVE_ADIOS1)
     find_package(ADIOS1 REQUIRED)
     find_package(MPI COMPONENTS C REQUIRED)
+    find_package(Threads REQUIRED)
 
     add_executable(heatTransfer_write_adios1
       main.cpp
@@ -33,13 +36,14 @@ if(ADIOS2_HAVE_MPI)
       PRIVATE ${MPI_C_INCLUDE_PATH}
     )
     target_link_libraries(heatTransfer_write_adios1
-      adios1::adios ${MPI_C_LIBRARIES} pthread
+      adios1::adios ${MPI_C_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}
     )
   endif()
 
   if(ADIOS2_HAVE_HDF5)
     find_package(HDF5 REQUIRED)
     find_package(MPI COMPONENTS C REQUIRED)
+    find_package(Threads REQUIRED)
 
     add_executable(heatTransfer_write_hdf5
       main.cpp
@@ -51,7 +55,7 @@ if(ADIOS2_HAVE_MPI)
       PRIVATE ${MPI_C_INCLUDE_PATH} ${HDF5_C_INCLUDE_DIRS}
     )
     target_link_libraries(heatTransfer_write_hdf5
-      ${MPI_C_LIBRARIES} ${HDF5_C_LIBRARIES} pthread
+      ${MPI_C_LIBRARIES} ${HDF5_C_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}
     )
   endif()
 
@@ -59,6 +63,7 @@ if(ADIOS2_HAVE_MPI)
   if(ADIOS2_HAVE_HDF5)
     find_package(HDF5 REQUIRED)
     find_package(MPI COMPONENTS C REQUIRED)
+    find_package(Threads REQUIRED)
 
     add_executable(heatTransfer_write_ph5
       main.cpp
@@ -70,13 +75,14 @@ if(ADIOS2_HAVE_MPI)
       PRIVATE ${MPI_C_INCLUDE_PATH} ${HDF5_C_INCLUDE_DIRS}
     )
     target_link_libraries(heatTransfer_write_ph5
-      ${MPI_C_LIBRARIES} ${HDF5_C_LIBRARIES} pthread
+      ${MPI_C_LIBRARIES} ${HDF5_C_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}
     )
   endif()
 
 
   if(ADIOS2_HAVE_HDF5)
      find_package(MPI COMPONENTS C REQUIRED)
+     find_package(Threads REQUIRED)
 
      add_executable(heatTransfer_write_a2h5
       main.cpp
@@ -91,7 +97,8 @@ if(ADIOS2_HAVE_MPI)
     #target_link_libraries(heatTransfer_write_a2h5
     #  ${MPI_C_LIBRARIES} 
     #)
-    target_link_libraries(heatTransfer_write_a2h5 PUBLIC adios2 pthread)
+    target_link_libraries(heatTransfer_write_a2h5 PUBLIC adios2 
+                          ${CMAKE_THREAD_LIBS_INIT})
 
   endif()
 
-- 
GitLab