diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a48b392..a49355c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,7 @@ project(milvus_sdk LANGUAGES CXX) set(CMAKE_POLICY_VERSION_MINIMUM 3.5) set(CMAKE_VERBOSE_MAKEFILE OFF) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD 14 CACHE STRING "C++ standard used to build Milvus C++ SDK") set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake") diff --git a/conanfile.py b/conanfile.py index d35c351c..a6a5f800 100644 --- a/conanfile.py +++ b/conanfile.py @@ -65,12 +65,6 @@ def validate(self): # The project currently builds with C++14. check_min_cppstd(self, 14) - def configure(self): - # Ensure dependency graph variants match the project's C++ standard. - # (Without this, Conan may resolve packages for gnu17 and then fail to - # find compatible binaries.) - self.settings.compiler.cppstd = "14" - def generate(self): tc = CMakeToolchain(self) diff --git a/scripts/build.sh b/scripts/build.sh index 1d6575f2..d2315b98 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -30,7 +30,7 @@ DO_INSTALL="OFF" CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX:-/usr/local} BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS:-ON} BUILD_FROM_CONAN="ON" - +CPPSTD=${CPPSTD:-14} JOBS="${JOBS:-$(nproc 2>/dev/null || sysctl -n hw.logicalcpu 2>/dev/null || echo 3)}" if [ ${JOBS} -lt 3 ] ; then @@ -133,7 +133,6 @@ if [[ "${BUILD_FROM_CONAN}" == "ON" ]]; then # Dependencies must come from Conan; external gRPC is not supported. # Users can override the Conan executable via CONAN. CONAN=${CONAN:-conan} - CPPSTD=${CPPSTD:-14} CONAN_LIBCXX_SETTINGS=() if [[ -n "${CONAN_LIBCXX:-}" ]]; then CONAN_LIBCXX_SETTINGS+=("-s" "compiler.libcxx=${CONAN_LIBCXX}") @@ -229,6 +228,7 @@ esac CMAKE_CMD="cmake \ -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ +-DCMAKE_CXX_STANDARD=${CPPSTD} \ -DMILVUS_BUILD_TEST=${BUILD_TEST} \ -DMILVUS_BUILD_COVERAGE=${BUILD_COVERAGE} \ -DMILVUS_BUILD_EXAMPLES=${CMAKE_BUILD_EXAMPLES} \