0
0
mirror of https://github.com/zeromq/libzmq.git synced 2024-12-26 23:01:04 +08:00

allow C/C++ standard to be specified at build time, default to C++11 if supported

This commit is contained in:
Bill Torpey 2020-05-11 16:47:02 -04:00
parent 820efb31bd
commit f474b226b6

View File

@ -68,15 +68,20 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL Darwin)
endif() endif()
if (NOT MSVC) if (NOT MSVC)
check_cxx_compiler_flag("-std=gnu++11" COMPILER_SUPPORTS_CXX11) if(NOT CMAKE_CXX_FLAGS MATCHES "-std=")
if(COMPILER_SUPPORTS_CXX11) # use C++11 by default if supported
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") check_cxx_compiler_flag("-std=gnu++11" COMPILER_SUPPORTS_CXX11)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
endif()
endif() endif()
check_c_compiler_flag("-std=gnu11" COMPILER_SUPPORTS_C11) if(NOT CMAKE_C_FLAGS MATCHES "-std=")
if(COMPILER_SUPPORTS_C11) check_c_compiler_flag("-std=gnu11" COMPILER_SUPPORTS_C11)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu11") if(COMPILER_SUPPORTS_C11)
else() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu11")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99") else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
endif()
endif() endif()
# clang 6 has a warning that does not make sense on multi-platform code # clang 6 has a warning that does not make sense on multi-platform code