 +  include(configure.cmake)
 +endif()
 +add_subdirectory(src/main)
++add_subdirectory(src/examples)
 diff --git a/activemq-cpp/config.h.cmake.in b/activemq-cpp/config.h.cmake.in
 new file mode 100644
 index 0000000..b8ee1ab

+#######################################
+# library
+add_library(${lib_name} STATIC ${${lib_name}_libsrcs})
+target_include_directories(${lib_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(${lib_name} SYSTEM PRIVATE ${APR_INCLUDE_DIR})
+install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
+  DESTINATION include/${lib_name}
+  FILES_MATCHING PATTERN "*.h"

+################################################################################
+set(CMAKE_REQUIRED_LIBRARIES)
+set(CMAKE_REQUIRED_DEFINITIONS)
diff --git a/activemq-cpp/src/examples/CMakeLists.txt b/activemq-cpp/src/examples/CMakeLists.txt
new file mode 100644
index 0000000..7a229f2
--- /dev/null
+++ b/activemq-cpp/src/examples/CMakeLists.txt
@@ -0,0 +1,83 @@
+## Example executables
+set(example_exes
+  example
+  simple_async_consumer
+  simple_producer
+  chat
+  cmstemplate_sender
+  cmstemplate_receiver
+  advisory_producer
+  advisory_consumer
+  tempdest_advisory_consumer
+  tempdest_advisory_producer
+  cmstemplate_stress
+  stress_test
+  )
+## Main Example
+set(example_srcs
+  main.cpp
+  )
+## Simple Async Consumer
+set(simple_async_consumer_srcs
+  consumers/SimpleAsyncConsumer.cpp
+  )
+## Simple Producer
+set(simple_producer_srcs
+  producers/SimpleProducer.cpp
+  )
+## Chat Sample
+set(chat_srcs
+  topics/chat/Chat.cpp
+  )
+## CMSTemplate Message send Sample
+set(cmstemplate_sender_srcs
+  cmstemplate/CMSTemplateSender.cpp
+  )
+## CMSTemplate Message receive Sample
+set(cmstemplate_receiver_srcs
+  cmstemplate/CMSTemplateReceiver.cpp
+  )
+## Advisory Producer Example
+set(advisory_producer_srcs
+  advisories/AdvisoryProducer.cpp
+  advisories/AdvisoryProducerMain.cpp
+  )
+## Advisory Consumer Example
+set(advisory_consumer_srcs
+  advisories/AdvisoryConsumer.cpp
+  advisories/AdvisoryConsumerMain.cpp
+  )
+## Temp Destination Advisory Consumer Example
+set(tempdest_advisory_consumer_srcs
+  advisories/TempDestinationAdvisoryConsumer.cpp
+  advisories/TempDestinationAdvisoryConsumerMain.cpp
+  )
+## Temp Destination Advisory Producer Example
+set(tempdest_advisory_producer_srcs
+  advisories/TempDestinationAdvisoryProducerMain.cpp
+  )
+## CMS Template Stress Test Example
+set(cmstemplate_stress_srcs
+  cmstemplate-stress/TestSenderAndReceiver.cpp
+  cmstemplate-stress/Sender.cpp
+  cmstemplate-stress/Receiver.cpp
+  cmstemplate-stress/MessagingTask.cpp
+  cmstemplate-stress/ConnectionFactoryMgr.cpp
+  cmstemplate-stress/CMSTestMultipleSendersReceivers.cpp
+  cmstemplate-stress/CmsMessageCreator.cpp
+  )
+## Stress Test Example
+set(stress_test_srcs
+  stress-test/TestSenderAndReceiver.cpp
+  stress-test/Sender.cpp
+  stress-test/Receiver.cpp
+  stress-test/MessagingTask.cpp
+  stress-test/ConnectionFactoryMgr.cpp
+  stress-test/CmsStress.cpp
+  stress-test/BrokerMonitor.cpp
+  stress-test/CmsMessageCreator.cpp
+  )
+foreach(exe ${example_exes})
+  add_executable(${exe} ${${exe}_srcs})
+  target_link_libraries(${exe} activemqcpp)
+endforeach()
diff --git a/activemq-cpp/src/main/CMakeLists.txt b/activemq-cpp/src/main/CMakeLists.txt
new file mode 100644
index 0000000..7db5d62
--- /dev/null
+++ b/activemq-cpp/src/main/CMakeLists.txt
@@ -0,0 +1,1697 @@
+set(lib_name activemqcpp)
+#######################################
+# library sources
