Merge pull request #15502 from jtattermusch/cmake_clean_standards

Clean way to enable C and C++ standards in cmake
pull/22301/head
Jan Tattermusch 5 years ago committed by GitHub
commit 67ca550147
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 13
      CMakeLists.txt
  2. 13
      templates/CMakeLists.txt.template

@ -152,6 +152,14 @@ if(WIN32)
set(_gRPC_PLATFORM_WINDOWS ON)
endif()
# Use C99 standard
set(CMAKE_C_STANDARD 99)
# Add c++11 flags
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
@ -201,11 +209,6 @@ include(cmake/ssl.cmake)
include(cmake/upb.cmake)
include(cmake/zlib.cmake)
if(NOT MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
endif()
if(_gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_IOS)
set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m pthread)
elseif(_gRPC_PLATFORM_ANDROID)

@ -242,6 +242,14 @@
set(_gRPC_PLATFORM_WINDOWS ON)
endif()
# Use C99 standard
set(CMAKE_C_STANDARD 99)
# Add c++11 flags
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
## Some libraries are shared even with BUILD_SHARED_LIBRARIES=OFF
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
set(CMAKE_MODULE_PATH "<%text>${CMAKE_CURRENT_SOURCE_DIR}</%text>/cmake/modules")
@ -292,11 +300,6 @@
include(cmake/upb.cmake)
include(cmake/zlib.cmake)
if(NOT MSVC)
set(CMAKE_C_FLAGS "<%text>${CMAKE_C_FLAGS}</%text> -std=c99")
set(CMAKE_CXX_FLAGS "<%text>${CMAKE_CXX_FLAGS}</%text> -std=c++11")
endif()
if(_gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_IOS)
set(_gRPC_ALLTARGETS_LIBRARIES <%text>${CMAKE_DL_LIBS}</%text> m pthread)
elseif(_gRPC_PLATFORM_ANDROID)

Loading…
Cancel
Save