blob: 73d55a71f6ef152e22dae169c74ab3823b461966 [file] [log] [blame]
cmake_minimum_required(VERSION 3.0)
set(LIBRARY_NAME_DEMO onsclient4cpp)
set(PROJECT_NAME_DEMO rocketmq-ons-cpp-demo)
project(${PROJECT_NAME_DEMO} VERSION 1.0
LANGUAGES C CXX)
set(CMAKE_CXX_STANDARD 11)
if (CONAN_LIBCXX STREQUAL "libstdc++11")
message("-- Detect libstdc++11,Using -D_GLIBCXX_USE_CXX11_ABI=1")
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1)
elseif (CONAN_LIBCXX STREQUAL "libstdc++")
message("-- Detect libstdc++, Using -D_GLIBCXX_USE_CXX11_ABI=0")
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
else ()
message("-- As Default, Will not open Dual ABI.")
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0
endif ()
include_directories(../include)
find_library(ROCKETMQ_CLIENT_CORE
NAMES rocketmq_client_core
HINTS ../lib)
if (${ROCKETMQ_CLIENT_CORE-NOTFOUNT})
message("find_library for rocketmq_client_core failed")
endif ()
find_library(ONS_CLIENT
NAMES ${LIBRARY_NAME_DEMO}
HINTS ../lib)
if (${ONS_CLIENT-NOTFOUNT})
message("find_library for rocketmq_client_core failed")
endif ()
macro(add_demo name source_file)
add_executable(${name} ${source_file})
target_link_libraries(${name} pthread ${ROCKETMQ_CLIENT_CORE} ${ONS_CLIENT})
set_target_properties(${name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
endmacro()
add_demo(producer_demo ProducerDemo.cpp)
add_demo(order_producer_demo OrderProducerDemo.cpp)
add_demo(multi_thread_producer_demo MultiThreadProducerDemo.cpp)
add_demo(producer_async_demo ProducerAsyncDemo.cpp)
add_demo(producer_oneway_demo ProducerOnewayDemo.cpp)
add_demo(consumer_demo ConsumerDemo.cpp)
add_demo(order_consumer_demo OrderConsumerDemo.cpp)
add_demo(transaction_producer_demo TransactionProducerDemo.cpp)