HADOOP-17196. Fix C/C++ standard warnings (#2208)
* Passing C/C++ standard flags -std is not cross-compiler friendly as not all compilers support all values. * Thus, we need to make use of the appropriate flags provided by CMake in order to specify the C/C++ standards. Signed-off-by: Akira Ajisaka <aajisaka@apache.org>
This commit is contained in:
parent
8955a6ceb7
commit
909f1e82d3
|
@ -193,7 +193,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
|
||||||
# Solaris flags. 64-bit compilation is mandatory, and is checked earlier.
|
# Solaris flags. 64-bit compilation is mandatory, and is checked earlier.
|
||||||
hadoop_add_compiler_flags("-m64 -D_POSIX_C_SOURCE=200112L -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS")
|
hadoop_add_compiler_flags("-m64 -D_POSIX_C_SOURCE=200112L -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS")
|
||||||
set(CMAKE_CXX_FLAGS "-std=gnu++98 ${CMAKE_CXX_FLAGS}")
|
set(CMAKE_CXX_STANDARD 98)
|
||||||
hadoop_add_linker_flags("-m64")
|
hadoop_add_linker_flags("-m64")
|
||||||
|
|
||||||
# CMAKE_SYSTEM_PROCESSOR is set to the output of 'uname -p', which on Solaris is
|
# CMAKE_SYSTEM_PROCESSOR is set to the output of 'uname -p', which on Solaris is
|
||||||
|
@ -212,4 +212,4 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Set GNU99 as the C standard to use
|
# Set GNU99 as the C standard to use
|
||||||
set(CMAKE_C_FLAGS "-std=gnu99 ${CMAKE_C_FLAGS}")
|
set(CMAKE_C_STANDARD 99)
|
|
@ -153,7 +153,8 @@ add_subdirectory(main/native/libhdfs-examples)
|
||||||
# Temporary fix to disable Libhdfs++ build on older systems that do not support thread_local
|
# Temporary fix to disable Libhdfs++ build on older systems that do not support thread_local
|
||||||
include(CheckCXXSourceCompiles)
|
include(CheckCXXSourceCompiles)
|
||||||
unset (THREAD_LOCAL_SUPPORTED CACHE)
|
unset (THREAD_LOCAL_SUPPORTED CACHE)
|
||||||
set (CMAKE_REQUIRED_DEFINITIONS "-std=c++11")
|
set (CMAKE_CXX_STANDARD 11)
|
||||||
|
set (CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||||||
check_cxx_source_compiles(
|
check_cxx_source_compiles(
|
||||||
"#include <thread>
|
"#include <thread>
|
||||||
|
|
|
@ -53,7 +53,8 @@ include(CheckCXXSourceCompiles)
|
||||||
|
|
||||||
# Check if thread_local is supported
|
# Check if thread_local is supported
|
||||||
unset (THREAD_LOCAL_SUPPORTED CACHE)
|
unset (THREAD_LOCAL_SUPPORTED CACHE)
|
||||||
set (CMAKE_REQUIRED_DEFINITIONS "-std=c++11")
|
set (CMAKE_CXX_STANDARD 11)
|
||||||
|
set (CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||||||
check_cxx_source_compiles(
|
check_cxx_source_compiles(
|
||||||
"#include <thread>
|
"#include <thread>
|
||||||
|
@ -149,12 +150,13 @@ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0")
|
||||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0")
|
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0")
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -std=c++11 -g -fPIC -fno-strict-aliasing")
|
set (CMAKE_CXX_STANDARD 11)
|
||||||
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -g -fPIC -fno-strict-aliasing")
|
||||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -fPIC -fno-strict-aliasing")
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -fPIC -fno-strict-aliasing")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
add_definitions(-DASIO_HAS_STD_ADDRESSOF -DASIO_HAS_STD_ARRAY -DASIO_HAS_STD_ATOMIC -DASIO_HAS_CSTDINT -DASIO_HAS_STD_SHARED_PTR -DASIO_HAS_STD_TYPE_TRAITS -DASIO_HAS_VARIADIC_TEMPLATES -DASIO_HAS_STD_FUNCTION -DASIO_HAS_STD_CHRONO -DASIO_HAS_STD_SYSTEM_ERROR)
|
add_definitions(-DASIO_HAS_STD_ADDRESSOF -DASIO_HAS_STD_ARRAY -DASIO_HAS_STD_ATOMIC -DASIO_HAS_CSTDINT -DASIO_HAS_STD_SHARED_PTR -DASIO_HAS_STD_TYPE_TRAITS -DASIO_HAS_VARIADIC_TEMPLATES -DASIO_HAS_STD_FUNCTION -DASIO_HAS_STD_CHRONO -DASIO_HAS_STD_SYSTEM_ERROR)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue