build: update use_cxx11 to use_cxx14

```
/opt/homebrew/include/absl/base/policy_checks.h:79:2: error: "C++ versions less than C++14 are not supported."
 ^
```

Signed-off-by: Rui Chen <rui@chenrui.dev>
This commit is contained in:
Rui Chen 2023-01-31 15:11:20 -05:00
parent 74ca58fdcf
commit 974ec2e11e
No known key found for this signature in database
GPG Key ID: 6577287BDCA70840
3 changed files with 9 additions and 10 deletions

View File

@ -60,20 +60,20 @@ if(NOT (CMAKE_CXX_COMPILER_LAUNCHER MATCHES "ccache") AND NOT (CMAKE_C_COMPILER_
endif(ccache_EXECUTABLE) endif(ccache_EXECUTABLE)
endif() endif()
macro(use_cxx11 target) macro(use_cxx14 target)
if(CMAKE_VERSION VERSION_LESS "3.1") if(CMAKE_VERSION VERSION_LESS "3.1")
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
target_compile_options(${target} PRIVATE "-std=gnu++11") target_compile_options(${target} PRIVATE "-std=gnu++14")
else() else()
target_compile_options(${target} PRIVATE "-std=c++11") target_compile_options(${target} PRIVATE "-std=c++14")
endif() endif()
else() else()
set_target_properties(${target} PROPERTIES set_target_properties(${target} PROPERTIES
CXX_STANDARD 11 CXX_STANDARD 14
CXX_STANDARD_REQUIRED ON CXX_STANDARD_REQUIRED ON
) )
endif() endif()
endmacro(use_cxx11) endmacro(use_cxx14)
find_package(Boost REQUIRED COMPONENTS system thread random) find_package(Boost REQUIRED COMPONENTS system thread random)
if(APPLE) if(APPLE)

View File

@ -18,13 +18,13 @@ file(GLOB_RECURSE CPP_CLIENT_CORE_SRC
) )
add_library(etcd-cpp-api-core-objects OBJECT ${CPP_CLIENT_CORE_SRC} ${PROTOBUF_GENERATES}) add_library(etcd-cpp-api-core-objects OBJECT ${CPP_CLIENT_CORE_SRC} ${PROTOBUF_GENERATES})
use_cxx11(etcd-cpp-api-core-objects) use_cxx14(etcd-cpp-api-core-objects)
add_dependencies(etcd-cpp-api-core-objects protobuf_generates) add_dependencies(etcd-cpp-api-core-objects protobuf_generates)
include_generated_protobuf_files(etcd-cpp-api-core-objects) include_generated_protobuf_files(etcd-cpp-api-core-objects)
# add the core library, includes the sycnhronous client only # add the core library, includes the sycnhronous client only
add_library(etcd-cpp-api-core $<TARGET_OBJECTS:etcd-cpp-api-core-objects>) add_library(etcd-cpp-api-core $<TARGET_OBJECTS:etcd-cpp-api-core-objects>)
use_cxx11(etcd-cpp-api-core) use_cxx14(etcd-cpp-api-core)
target_link_libraries(etcd-cpp-api-core PUBLIC target_link_libraries(etcd-cpp-api-core PUBLIC
${Boost_LIBRARIES} ${Boost_LIBRARIES}
${PROTOBUF_LIBRARIES} ${PROTOBUF_LIBRARIES}
@ -36,7 +36,7 @@ include_generated_protobuf_files(etcd-cpp-api-core)
# add the client with asynchronus client # add the client with asynchronus client
add_library(etcd-cpp-api $<TARGET_OBJECTS:etcd-cpp-api-core-objects> add_library(etcd-cpp-api $<TARGET_OBJECTS:etcd-cpp-api-core-objects>
"${CMAKE_CURRENT_SOURCE_DIR}/Client.cpp") "${CMAKE_CURRENT_SOURCE_DIR}/Client.cpp")
use_cxx11(etcd-cpp-api) use_cxx14(etcd-cpp-api)
target_link_libraries(etcd-cpp-api PUBLIC target_link_libraries(etcd-cpp-api PUBLIC
${Boost_LIBRARIES} ${Boost_LIBRARIES}
${CPPREST_LIB} # n.b.: the asynchronous client requires pplx in cpprestsdk ${CPPREST_LIB} # n.b.: the asynchronous client requires pplx in cpprestsdk
@ -56,4 +56,3 @@ else()
install(TARGETS etcd-cpp-api-core etcd-cpp-api install(TARGETS etcd-cpp-api-core etcd-cpp-api
EXPORT etcd-targets) EXPORT etcd-targets)
endif() endif()

View File

@ -18,7 +18,7 @@ foreach(testfile ${TEST_FILES})
else() else()
add_executable(${test_name} EXCLUDE_FROM_ALL ${CMAKE_CURRENT_SOURCE_DIR}/${testfile}) add_executable(${test_name} EXCLUDE_FROM_ALL ${CMAKE_CURRENT_SOURCE_DIR}/${testfile})
endif() endif()
use_cxx11(${test_name}) use_cxx14(${test_name})
add_test(NAME ${test_name} COMMAND $<TARGET_FILE:${test_name}>) add_test(NAME ${test_name} COMMAND $<TARGET_FILE:${test_name}>)
target_include_directories(${test_name} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../proto/gen) target_include_directories(${test_name} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../proto/gen)