summaryrefslogtreecommitdiff
path: root/cpp/examples/messaging
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2013-02-28 16:14:30 +0000
committerKim van der Riet <kpvdr@apache.org>2013-02-28 16:14:30 +0000
commit9c73ef7a5ac10acd6a50d5d52bd721fc2faa5919 (patch)
tree2a890e1df09e5b896a9b4168a7b22648f559a1f2 /cpp/examples/messaging
parent172d9b2a16cfb817bbe632d050acba7e31401cd2 (diff)
downloadqpid-python-asyncstore.tar.gz
Update from trunk r1375509 through r1450773asyncstore
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1451244 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/examples/messaging')
-rw-r--r--cpp/examples/messaging/CMakeLists.txt24
-rw-r--r--cpp/examples/messaging/Makefile.am11
-rw-r--r--cpp/examples/messaging/extra_dist/CMakeLists.txt62
-rw-r--r--cpp/examples/messaging/extra_dist/Makefile30
-rw-r--r--cpp/examples/messaging/spout.cpp1
5 files changed, 89 insertions, 39 deletions
diff --git a/cpp/examples/messaging/CMakeLists.txt b/cpp/examples/messaging/CMakeLists.txt
index 03ed2daaad..25651e525b 100644
--- a/cpp/examples/messaging/CMakeLists.txt
+++ b/cpp/examples/messaging/CMakeLists.txt
@@ -26,9 +26,13 @@ macro(add_messaging_example example)
target_link_libraries(${example} qpidmessaging ${_boost_libs_needed})
# For installs, don't install the built example; that would be pointless.
# Install the things a user needs to build the example on-site.
- install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/${example}.cpp ${CMAKE_CURRENT_SOURCE_DIR}/OptionParser.h ${CMAKE_CURRENT_SOURCE_DIR}/OptionParser.cpp
- DESTINATION ${QPID_INSTALL_EXAMPLESDIR}/messaging
- COMPONENT ${QPID_COMPONENT_EXAMPLES})
+ install (FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/${example}.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/OptionParser.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/OptionParser.cpp
+ DESTINATION ${QPID_INSTALL_EXAMPLESDIR}/messaging
+ COMPONENT ${QPID_COMPONENT_EXAMPLES})
+
if (MSVC)
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/messaging_${example}.vcproj
DESTINATION ${QPID_INSTALL_EXAMPLESDIR}/messaging
@@ -57,7 +61,19 @@ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/hello_world.cpp
add_executable(hello_xml hello_xml.cpp)
set_target_properties(hello_xml PROPERTIES OUTPUT_NAME hello_xml)
target_link_libraries(hello_xml qpidmessaging)
-install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/hello_xml.cpp
+
+install (FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/extra_dist/CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/OptionParser.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/OptionParser.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hello_world.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hello_xml.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/drain.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/spout.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/map_receiver.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/map_sender.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/client.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/server.cpp
DESTINATION ${QPID_INSTALL_EXAMPLESDIR}/messaging
COMPONENT ${QPID_COMPONENT_EXAMPLES})
diff --git a/cpp/examples/messaging/Makefile.am b/cpp/examples/messaging/Makefile.am
index 298d65e6f1..5fefb37f8a 100644
--- a/cpp/examples/messaging/Makefile.am
+++ b/cpp/examples/messaging/Makefile.am
@@ -22,6 +22,7 @@ examplesdir=$(pkgdatadir)/examples/messaging
AM_CXXFLAGS = $(WARNING_CFLAGS)
INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include
CLIENT_LIB=$(top_builddir)/src/libqpidmessaging.la
+TYPES_LIB=$(top_builddir)/src/libqpidtypes.la
CLIENTFLAGS=-lqpidmessaging
noinst_PROGRAMS=drain spout client server map_sender map_receiver hello_world hello_xml
@@ -33,10 +34,10 @@ hello_xml_SOURCES=hello_xml.cpp
hello_xml_LDADD=$(CLIENT_LIB)
drain_SOURCES=drain.cpp OptionParser.h OptionParser.cpp
-drain_LDADD=$(CLIENT_LIB)
+drain_LDADD=$(CLIENT_LIB) $(TYPES_LIB)
spout_SOURCES=spout.cpp OptionParser.h OptionParser.cpp
-spout_LDADD=$(CLIENT_LIB)
+spout_LDADD=$(CLIENT_LIB) $(TYPES_LIB)
client_SOURCES=client.cpp
client_LDADD=$(CLIENT_LIB)
@@ -45,10 +46,10 @@ server_SOURCES=server.cpp
server_LDADD=$(CLIENT_LIB)
map_sender_SOURCES=map_sender.cpp
-map_sender_LDADD=$(CLIENT_LIB)
+map_sender_LDADD=$(CLIENT_LIB) $(TYPES_LIB)
map_receiver_SOURCES=map_receiver.cpp
-map_receiver_LDADD=$(CLIENT_LIB)
+map_receiver_LDADD=$(CLIENT_LIB) $(TYPES_LIB)
examples_DATA= \
hello_world.cpp \
@@ -61,7 +62,7 @@ examples_DATA= \
server.cpp \
map_sender.cpp \
map_receiver.cpp \
- extra_dist/Makefile
+ extra_dist/CMakeLists.txt
EXTRA_DIST= \
$(examples_DATA) \
diff --git a/cpp/examples/messaging/extra_dist/CMakeLists.txt b/cpp/examples/messaging/extra_dist/CMakeLists.txt
new file mode 100644
index 0000000000..88df55337c
--- /dev/null
+++ b/cpp/examples/messaging/extra_dist/CMakeLists.txt
@@ -0,0 +1,62 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+cmake_minimum_required (VERSION 2.6)
+
+project (Examples)
+
+# drain and spout have explicit Boost.program_options usage in them, so be
+# sure that lib is linked in.
+
+macro(add_messaging_example example)
+ add_executable(${example} ${example}.cpp OptionParser.cpp)
+ set_target_properties(${example} PROPERTIES OUTPUT_NAME ${example})
+ target_link_libraries(${example} qpidtypes qpidmessaging ${_boost_libs_needed})
+ # For installs, don't install the built example; that would be pointless.
+ # Install the things a user needs to build the example on-site.
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/${example}.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/OptionParser.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/OptionParser.cpp
+ DESTINATION ${QPID_INSTALL_EXAMPLESDIR}/messaging
+ COMPONENT ${QPID_COMPONENT_EXAMPLES})
+ if (MSVC)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/messaging_${example}.vcproj
+ DESTINATION ${QPID_INSTALL_EXAMPLESDIR}/messaging
+ COMPONENT ${QPID_COMPONENT_EXAMPLES})
+ endif (MSVC)
+
+endmacro(add_messaging_example)
+
+add_messaging_example(drain)
+add_messaging_example(spout)
+
+add_messaging_example(map_receiver)
+add_messaging_example(map_sender)
+
+add_messaging_example(client)
+add_messaging_example(server)
+
+# These don't need Boost or OptionParser
+add_executable(hello_world hello_world.cpp)
+set_target_properties(hello_world PROPERTIES OUTPUT_NAME hello_world)
+target_link_libraries(hello_world qpidmessaging)
+
+add_executable(hello_xml hello_xml.cpp)
+set_target_properties(hello_xml PROPERTIES OUTPUT_NAME hello_xml)
+target_link_libraries(hello_xml qpidmessaging)
diff --git a/cpp/examples/messaging/extra_dist/Makefile b/cpp/examples/messaging/extra_dist/Makefile
deleted file mode 100644
index 8dd7f658f7..0000000000
--- a/cpp/examples/messaging/extra_dist/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-CXX=g++
-CXXFLAGS=-g -O2
-LDFLAGS=-lqpidmessaging
-
-all: drain spout client server map_sender map_receiver hello_world
-
-drain: drain.o OptionParser.o
-
-spout: spout.o OptionParser.o
-
-clean:
- rm -f drain spout client server map_sender map_receiver hello_world *.o
diff --git a/cpp/examples/messaging/spout.cpp b/cpp/examples/messaging/spout.cpp
index cd11a7ad81..72fcdc7c65 100644
--- a/cpp/examples/messaging/spout.cpp
+++ b/cpp/examples/messaging/spout.cpp
@@ -91,6 +91,7 @@ struct Options : OptionParser
std::string value;
if (nameval(property, name, value)) {
message.getProperties()[name] = value;
+ message.getProperties()[name].setEncoding("utf8");
} else {
message.getProperties()[name] = Variant();
}