@@ -32,8 +32,17 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
3232 set (CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE )
3333endif ()
3434
35+ set (IOTDB_EXTRA_CXX_FLAGS ""
36+ CACHE STRING "Extra flags appended to CMAKE_CXX_FLAGS" )
37+ option (IOTDB_LIBSTDCXX_CXX11_ABI
38+ "Use libstdc++ dual-ABI new layout (_GLIBCXX_USE_CXX11_ABI=1); release glibc224 zips"
39+ OFF )
40+
3541if (NOT MSVC )
3642 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } -Wall -g -O2" )
43+ if (IOTDB_LIBSTDCXX_CXX11_ABI)
44+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } -D_GLIBCXX_USE_CXX11_ABI=1" )
45+ endif ()
3746 if (IOTDB_EXTRA_CXX_FLAGS)
3847 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } ${IOTDB_EXTRA_CXX_FLAGS} " )
3948 endif ()
@@ -47,8 +56,6 @@ endif()
4756option (WITH_SSL "Build with OpenSSL support" OFF )
4857option (BUILD_TESTING "Build IT test executables" OFF )
4958option (IOTDB_OFFLINE "Disable all network access during configure" OFF )
50- set (IOTDB_EXTRA_CXX_FLAGS ""
51- CACHE STRING "Extra flags appended to CMAKE_CXX_FLAGS (e.g. libstdc++ ABI for release zips)" )
5259
5360set (IOTDB_DEPS_DIR "${CMAKE_CURRENT_SOURCE_DIR } /third-party"
5461 CACHE PATH "Local tarball cache for third-party dependencies (lives under client-cpp/)" )
@@ -187,3 +194,4 @@ message(STATUS " THRIFT_INCLUDE_DIR = ${THRIFT_INCLUDE_DIR}")
187194message (STATUS " THRIFT_STATIC_LIB = ${THRIFT_STATIC_LIB_PATH} " )
188195message (STATUS " THRIFT_EXECUTABLE = ${THRIFT_EXECUTABLE} " )
189196message (STATUS " CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX } " )
197+ message (STATUS " IOTDB_LIBSTDCXX_CXX11_ABI = ${IOTDB_LIBSTDCXX_CXX11_ABI} " )
0 commit comments