35 lines
1.5 KiB
Diff
35 lines
1.5 KiB
Diff
From 2d3f4ef95a3c4d4e87ce71c5ced43f3d8e81cc9e Mon Sep 17 00:00:00 2001
|
|
From: haozi007 <liuhao27@huawei.com>
|
|
Date: Thu, 14 Sep 2023 09:00:05 +0000
|
|
Subject: [PATCH 6/8] !264 Support both C++11 and C++17 * Support both C++11
|
|
and C++17
|
|
|
|
---
|
|
cmake/set_build_flags.cmake | 9 ++++++++-
|
|
1 file changed, 8 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/cmake/set_build_flags.cmake b/cmake/set_build_flags.cmake
|
|
index 3b6842a..7d4c9fc 100644
|
|
--- a/cmake/set_build_flags.cmake
|
|
+++ b/cmake/set_build_flags.cmake
|
|
@@ -24,8 +24,15 @@
|
|
set(CMAKE_C_FLAGS "-fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -Wall -fPIE")
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'")
|
|
|
|
+include(CheckCXXCompilerFlag)
|
|
+CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
|
|
if (ENABLE_UT)
|
|
- set(CMAKE_CXX_FLAGS "-fPIC -std=c++11 -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -Wall")
|
|
+ set(CMAKE_CXX_VERSION "-std=c++11")
|
|
+ if (COMPILER_SUPPORTS_CXX17)
|
|
+ message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has C++17 support.")
|
|
+ set(CMAKE_CXX_VERSION "-std=c++17")
|
|
+ endif()
|
|
+ set(CMAKE_CXX_FLAGS "-fPIC ${CMAKE_CXX_VERSION} -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -Wall")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'")
|
|
endif()
|
|
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-E -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -Wtrampolines -shared -pthread")
|
|
--
|
|
2.34.1
|
|
|