blob: 39c13ffb9e1dd38c69f0f0e92b454fdcd45476b0 [file] [log] [blame]
cmake_minimum_required(VERSION 3.0)
set(CLIENT_VERSION 2.0.0)
set(LIBRARY_NAME onsclient4cpp)
set(PROJECT_NAME rocketmq-ons-cpp)
project(${PROJECT_NAME} VERSION ${CLIENT_VERSION}
LANGUAGES C CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_BUILD_TYPE Debug)
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.")
endif ()
include(CTest)
option(BUILD_TESTS "Build tests" ON)
option(BUILD_BENCHMARK "Build benchmark tests" OFF)
option(BUILD_DEMOS "Build demos" ON)
include_directories(graalvm_artifacts
src/main/c/native
src/main/c/include
src/main/cpp/include
src/main/cpp/sdk/extern
src/main/cpp/sdk/common)
find_library(ROCKETMQ_CLIENT_CORE
NAMES rocketmq_client_core
HINTS ${CMAKE_SOURCE_DIR}/build)
if (${ROCKETMQ_CLIENT_CORE-NOTFOUNT})
message("find_library for rocketmq_client_core failed")
endif ()
add_subdirectory(src/main/cpp)
if (BUILD_TESTS)
enable_testing()
add_subdirectory(3rd_party/google_test)
add_subdirectory(src/test/cpp)
add_subdirectory(src/test/c)
endif ()
if (BUILD_DEMOS)
add_subdirectory(src/main/cpp/demos)
endif ()
if (BUILD_BENCHMARK)
set(BENCHMARK_ENABLE_TESTING OFF)
add_subdirectory(3rd_party/benchmark)
add_subdirectory(src/main/cpp/benchmark)
endif ()