From bdb19e28e9e520ed4f93ef6b143629f7633a68f3 Mon Sep 17 00:00:00 2001 From: ChandanaRamakrishna Date: Tue, 17 Feb 2026 20:41:14 +0530 Subject: [PATCH 1/2] MDEV-35462 Remove obsolete compiler version checks from RocksDB CMakeLists.txt Assume: - GCC >= 7 - Clang >= 10 - CMake >= 3.12 Remove: - GCC < 4.8 and < 5.0 checks - Clang < 3.3 checks - CMake < 3.0 fallback logic - Manual -std=c++11 flag handling Use CMAKE_CXX_STANDARD for C++11 configuration. --- storage/rocksdb/CMakeLists.txt | 42 ++++++++++++---------------------- 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/storage/rocksdb/CMakeLists.txt b/storage/rocksdb/CMakeLists.txt index 0f99f19348ec8..b897f51457f7c 100644 --- a/storage/rocksdb/CMakeLists.txt +++ b/storage/rocksdb/CMakeLists.txt @@ -75,38 +75,26 @@ ENDIF() SET(CXX11_FLAGS) SET(OLD_COMPILER_MSG "requires c++11 -capable compiler (minimal supported versions are g++ 4.8, clang 3.3, VS2015)") -IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU") - EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) - IF (GCC_VERSION VERSION_LESS 4.8) - SKIP_ROCKSDB_PLUGIN("${OLD_COMPILER_MSG}") - ENDIF() - SET(CXX11_FLAGS "-std=c++11") - IF (GCC_VERSION VERSION_LESS 5.0) - SET(CXX11_FLAGS "-std=c++11 -Wno-missing-field-initializers") - ENDIF() -ELSEIF (CMAKE_CXX_COMPILER_ID MATCHES "Clang") - IF ((CMAKE_CXX_COMPILER_VERSION AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.3) OR - (CLANG_VERSION_STRING AND CLANG_VERSION_STRING VERSION_LESS 3.3)) - SKIP_ROCKSDB_PLUGIN("${OLD_COMPILER_MSG}") - ENDIF() - SET(CXX11_FLAGS "-std=c++11 -stdlib=libstdc++") - IF(MSVC) +# Assume GCC >= 7, Clang >= 10, CMake >= 3.12 (MDEV-35462) + +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + if (MSVC) # clang-cl does not work yet SKIP_ROCKSDB_PLUGIN("Clang-cl is not supported") - ENDIF() -ELSEIF(MSVC) - IF (MSVC_VERSION LESS 1900) + endif() +elseif (MSVC) + if (MSVC_VERSION LESS 1900) SKIP_ROCKSDB_PLUGIN("${OLD_COMPILER_MSG}") - ENDIF() -ELSE() + endif() +elseif (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU") SKIP_ROCKSDB_PLUGIN("Compiler not supported") -ENDIF() +endif() + -IF(CMAKE_VERSION GREATER 3.0) - SET(CMAKE_CXX_STANDARD 11) -ELSEIF(CXX11_FLAGS) - ADD_DEFINITIONS(${CXX11_FLAGS}) -ENDIF() SET(ROCKSDB_SE_SOURCES rdb_mariadb_server_port.cc From ba107e1fc61d404b1706637afc13672c12bfeb2b Mon Sep 17 00:00:00 2001 From: ChandanaRamakrishna Date: Wed, 18 Feb 2026 15:32:55 +0530 Subject: [PATCH 2/2] MDEV-35462: Remove redundant compiler version checks in RocksDB CMakeLists.txt per review --- storage/rocksdb/CMakeLists.txt | 25 ------------------------- storage/rocksdb/build_rocksdb.cmake | 4 ++-- 2 files changed, 2 insertions(+), 27 deletions(-) diff --git a/storage/rocksdb/CMakeLists.txt b/storage/rocksdb/CMakeLists.txt index b897f51457f7c..8c15d3e4fa500 100644 --- a/storage/rocksdb/CMakeLists.txt +++ b/storage/rocksdb/CMakeLists.txt @@ -70,31 +70,6 @@ IF(MSVC_ARM64) SKIP_ROCKSDB_PLUGIN("Windows ARM64 not supported") ENDIF() -# This plugin needs recent C++ compilers (it is using C++11 features) -# Skip build for the old compilers -SET(CXX11_FLAGS) -SET(OLD_COMPILER_MSG "requires c++11 -capable compiler (minimal supported versions are g++ 4.8, clang 3.3, VS2015)") - -# Assume GCC >= 7, Clang >= 10, CMake >= 3.12 (MDEV-35462) - -set(CMAKE_CXX_STANDARD 11) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) - -if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - if (MSVC) - # clang-cl does not work yet - SKIP_ROCKSDB_PLUGIN("Clang-cl is not supported") - endif() -elseif (MSVC) - if (MSVC_VERSION LESS 1900) - SKIP_ROCKSDB_PLUGIN("${OLD_COMPILER_MSG}") - endif() -elseif (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - SKIP_ROCKSDB_PLUGIN("Compiler not supported") -endif() - - SET(ROCKSDB_SE_SOURCES rdb_mariadb_server_port.cc diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake index 8866f26f03a1a..5115e0f74ed99 100644 --- a/storage/rocksdb/build_rocksdb.cmake +++ b/storage/rocksdb/build_rocksdb.cmake @@ -545,5 +545,5 @@ list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/build_version.cc) ADD_CONVENIENCE_LIBRARY(rocksdblib ${SOURCES}) target_link_libraries(rocksdblib ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp -Wno-error") -endif() + SET_TARGET_PROPERTIES(rocksdblib PROPERTIES COMPILE_FLAGS "-fno-builtin-memcmp -Wno-error") +ENDIF()