From 45cbc9f167d1158bc73e87618cc08ede2e3f2911 Mon Sep 17 00:00:00 2001
From: "Marcus D. Hanwell" <marcus.hanwell@kitware.com>
Date: Thu, 1 Jun 2017 13:17:20 -0400
Subject: [PATCH] Removed GenerateExportHeader, bumped CMake min

Removed the GenerateExportHeader copy we had, use CMake's, and bump the
minimum to ensure it has the features we expect.
---
 CMakeLists.txt                   |   2 +-
 cmake/GenerateExportHeader.cmake | 375 ---------------------------------------
 cmake/exportheader.cmake.in      |  35 ----
 3 files changed, 1 insertion(+), 411 deletions(-)
 delete mode 100644 cmake/GenerateExportHeader.cmake
 delete mode 100644 cmake/exportheader.cmake.in

diff --git a/CMakeLists.txt b/CMakeLists.txt
index df93bc8..a107c8f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
 
 project(MoleQueue)
 
From aae92632d10fe98728c3e73bfd891e502e8712fd Mon Sep 17 00:00:00 2001
From: "Marcus D. Hanwell" <marcus.hanwell@kitware.com>
Date: Thu, 16 Nov 2017 15:10:25 -0500
Subject: [PATCH] Remove deprecated calls for export flags

Move them to the project default variables in the top level.
---
 CMakeLists.txt                      | 8 ++++++++
 molequeue/client/CMakeLists.txt     | 1 -
 molequeue/servercore/CMakeLists.txt | 1 -
 molequeue/zeromq/CMakeLists.txt     | 1 -
 thirdparty/qt5json/CMakeLists.txt   | 1 -
 5 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index a107c8f..e68d81f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,6 +4,14 @@ project(MoleQueue)
 
 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
 
+# Request C++11 standard, using new CMake variables.
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
+set(CMAKE_CXX_EXTENSIONS False)
+# Set symbol visibility defaults for all targets.
+set(CMAKE_CXX_VISIBILITY_PRESET "hidden")
+set(CMAKE_VISIBILITY_INLINES_HIDDEN True)
+
 include(BuildType)
 include(BuildLocation)
 include(CompilerFlags)
diff --git a/molequeue/client/CMakeLists.txt b/molequeue/client/CMakeLists.txt
index 674f91a..8cb131a 100644
--- a/molequeue/client/CMakeLists.txt
+++ b/molequeue/client/CMakeLists.txt
@@ -20,7 +20,6 @@ set_target_properties(MoleQueueClient PROPERTIES AUTOMOC TRUE)
 include(GenerateExportHeader)
 generate_export_header(MoleQueueClient EXPORT_FILE_NAME molequeueclientexport.h)
 list(APPEND headers "${CMAKE_CURRENT_BINARY_DIR}/molequeueclientexport.h")
-add_compiler_export_flags(molequeue_export_flags)
 set_property(TARGET MoleQueueClient APPEND
     PROPERTY COMPILE_FLAGS ${molequeue_export_flags})
 
diff --git a/molequeue/servercore/CMakeLists.txt b/molequeue/servercore/CMakeLists.txt
index 8d4f7ee..aab0bec 100644
--- a/molequeue/servercore/CMakeLists.txt
+++ b/molequeue/servercore/CMakeLists.txt
@@ -30,7 +30,6 @@ set(hdrs
 generate_export_header(MoleQueueServerCore
   EXPORT_FILE_NAME molequeueservercoreexport.h)
 include_directories(${CMAKE_CURRENT_BINARY_DIR})
-add_compiler_export_flags(molequeue_export_flags)
 set_property(TARGET MoleQueueServerCore APPEND
   PROPERTY COMPILE_FLAGS ${molequeue_export_flags})
 
diff --git a/molequeue/zeromq/CMakeLists.txt b/molequeue/zeromq/CMakeLists.txt
index bc1e893..188f437 100644
--- a/molequeue/zeromq/CMakeLists.txt
+++ b/molequeue/zeromq/CMakeLists.txt
@@ -20,7 +20,6 @@ target_link_libraries(MoleQueueZeroMq MoleQueueServerCore ${ZeroMQ_LIBRARIES})
 generate_export_header(MoleQueueZeroMq
   EXPORT_FILE_NAME molequeuezeromqexport.h)
 include_directories(${CMAKE_CURRENT_BINARY_DIR})
-add_compiler_export_flags(molequeue_export_flags)
 set_property(TARGET MoleQueueZeroMq APPEND
   PROPERTY COMPILE_FLAGS ${molequeue_export_flags})
 
diff --git a/thirdparty/qt5json/CMakeLists.txt b/thirdparty/qt5json/CMakeLists.txt
index 6d00685..52f5df2 100644
--- a/thirdparty/qt5json/CMakeLists.txt
+++ b/thirdparty/qt5json/CMakeLists.txt
@@ -54,7 +54,6 @@ include(GenerateExportHeader)
 generate_export_header(${QT5_JSON_LIBRARY_NAME}
   EXPORT_FILE_NAME qt5jsonexport.h
   EXPORT_MACRO_NAME QT5JSON_EXPORT)
-add_compiler_export_flags(qt5json_export_flags)
 
 set_property(TARGET ${QT5_JSON_LIBRARY_NAME} APPEND
   PROPERTY COMPILE_FLAGS ${qt5json_export_flags})
