summaryrefslogtreecommitdiff
path: root/cpp/src/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/CMakeLists.txt')
-rw-r--r--cpp/src/CMakeLists.txt35
1 files changed, 34 insertions, 1 deletions
diff --git a/cpp/src/CMakeLists.txt b/cpp/src/CMakeLists.txt
index 1a84f5e79a..1d963850ca 100644
--- a/cpp/src/CMakeLists.txt
+++ b/cpp/src/CMakeLists.txt
@@ -207,7 +207,9 @@ execute_process(COMMAND ${RUBY_EXECUTABLE} -I ${rgen_dir} ${rgen_dir}/generate $
set(mgmt_specs ${AMQP_SPEC_DIR}/management-schema.xml
${CMAKE_CURRENT_SOURCE_DIR}/qpid/acl/management-schema.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/qpid/cluster/management-schema.xml)
+ ${CMAKE_CURRENT_SOURCE_DIR}/qpid/cluster/management-schema.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/qpid/ha/management-schema.xml
+ )
set(mgen_dir ${qpid-cpp_SOURCE_DIR}/managementgen)
set(regen_mgmt OFF)
foreach (spec_file ${mgmt_specs})
@@ -595,6 +597,37 @@ if (BUILD_ACL)
endif (NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
endif (BUILD_ACL)
+set (ha_default ON)
+option(BUILD_HA "Build Active-Passive HA plugin" ${ha_default})
+if (BUILD_HA)
+ set (ha_SOURCES
+ qpid/ha/Backup.cpp
+ qpid/ha/Backup.h
+ qpid/ha/HaBroker.cpp
+ qpid/ha/HaBroker.h
+ qpid/ha/HaPlugin.cpp
+ qpid/ha/Settings.h
+ qpid/ha/QueueReplicator.h
+ qpid/ha/QueueReplicator.cpp
+ qpid/ha/ReplicatingSubscription.h
+ qpid/ha/ReplicatingSubscription.cpp
+ qpid/ha/BrokerReplicator.cpp
+ qpid/ha/BrokerReplicator.h
+ )
+
+ add_library (ha MODULE ${ha_SOURCES})
+ set_target_properties (ha PROPERTIES PREFIX "")
+ target_link_libraries (ha qpidbroker ${Boost_PROGRAM_OPTIONS_LIBRARY})
+ if (CMAKE_COMPILER_IS_GNUCXX)
+ set_target_properties (ha PROPERTIES
+ PREFIX ""
+ LINK_FLAGS -Wl,--no-undefined)
+ endif (CMAKE_COMPILER_IS_GNUCXX)
+ install (TARGETS ha
+ DESTINATION ${QPIDD_MODULE_DIR}
+ COMPONENT ${QPID_COMPONENT_BROKER})
+endif (BUILD_HA)
+
# Check for optional cluster support requirements
include (cluster.cmake)