--- a/src/CMakeLists.txt	Mon Mar 13 21:37:24 2017
+++ b/src/CMakeLists.txt	Sun Aug 06 19:34:00 2017
@@ -1,6 +1,8 @@
 cmake_minimum_required (VERSION 2.8.8)
 project (hypre)
 
+include(GenerateExportHeader)
+
 # The version number.
 set (HYPRE_VERSION 2.11.2)
 set (HYPRE_DATE    2017/03/13)
@@ -618,6 +620,8 @@
   struct_ls/sparse_msg_solve.c
 )
 
+set_source_files_properties(struct_ls/pfmg3_setup_rap.c PROPERTIES LANGUAGE CXX)
+
 # Headers and sources: sstruct_mv
 list (APPEND HYPRE_HEADERS
   sstruct_mv/HYPRE_sstruct_mv.h
@@ -758,11 +762,11 @@
   find_package (MPI)
   if ((MPI_C_FOUND) AND (NOT CMAKE_C_COMPILER STREQUAL MPI_C_COMPILER))
     include_directories (${MPI_C_INCLUDE_PATH})
-    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MPI_C_COMPILE_FLAGS}")
+    #set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MPI_C_COMPILE_FLAGS}")
   endif ()
   if ((MPI_CXX_FOUND) AND (NOT CMAKE_CXX_COMPILER STREQUAL MPI_CXX_COMPILER))
     include_directories (${MPI_CXX_INCLUDE_PATH})
-    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MPI_CXX_COMPILE_FLAGS}")
+    #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MPI_CXX_COMPILE_FLAGS}")
   endif ()
 endif (NOT HYPRE_SEQUENTIAL)
 
@@ -807,7 +811,23 @@
 
 add_library (HYPRE ${HYPRE_SOURCES} ${FEI_LIBS})
 
-install (TARGETS HYPRE DESTINATION lib)
+if (NOT HYPRE_SEQUENTIAL)
+  target_link_libraries(HYPRE ${MPI_C_LIBRARIES})
+endif()
+
+if (WIN32 AND BUILD_SHARED_LIBS)
+  set_target_properties(HYPRE PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
+endif()
+
+generate_export_header(HYPRE EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/_hypre_export.h)
+list(APPEND HYPRE_HEADERS ${CMAKE_BINARY_DIR}/_hypre_export.h)
+
+install (TARGETS HYPRE 
+  RUNTIME DESTINATION bin
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
+
 install (FILES ${HYPRE_HEADERS} DESTINATION include)
 
 # add_subdirectory (test EXCLUDE_FROM_ALL)
