You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by uw...@apache.org on 2018/09/12 12:00:50 UTC
[arrow] branch master updated: ARROW-3214: [C++] Disable insecure
warnings in MinGW build
This is an automated email from the ASF dual-hosted git repository.
uwe pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new 8393119 ARROW-3214: [C++] Disable insecure warnings in MinGW build
8393119 is described below
commit 8393119459c931a776e919502313a8ff96d3ea19
Author: Kouhei Sutou <ko...@clear-code.com>
AuthorDate: Wed Sep 12 14:00:42 2018 +0200
ARROW-3214: [C++] Disable insecure warnings in MinGW build
It's already disabled in MSVC build.
Author: Kouhei Sutou <ko...@clear-code.com>
Closes #2539 from kou/cpp-disable-insecure-warnings-with-mingw and squashes the following commits:
c4c96b3a <Kouhei Sutou> Add endif() expression for easy to read
7ac8a8b2 <Kouhei Sutou> Disable insecure warnings in MinGW build
---
cpp/cmake_modules/SetupCxxFlags.cmake | 66 ++++++++++++++++++-----------------
1 file changed, 34 insertions(+), 32 deletions(-)
diff --git a/cpp/cmake_modules/SetupCxxFlags.cmake b/cpp/cmake_modules/SetupCxxFlags.cmake
index 748f124..aee2654 100644
--- a/cpp/cmake_modules/SetupCxxFlags.cmake
+++ b/cpp/cmake_modules/SetupCxxFlags.cmake
@@ -25,46 +25,48 @@ CHECK_CXX_COMPILER_FLAG("-maltivec" CXX_SUPPORTS_ALTIVEC)
# compiler flags that are common across debug/release builds
-if (MSVC)
+if (WIN32)
# TODO(wesm): Change usages of C runtime functions that MSVC says are
# insecure, like std::getenv
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
- # ARROW-1931 See https://github.com/google/googletest/issues/1318
- #
- # This is added to CMAKE_CXX_FLAGS instead of CXX_COMMON_FLAGS since only the
- # former is passed into the external projects
- if (MSVC_VERSION VERSION_GREATER 1900)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING")
- endif()
+ if (MSVC)
+ # ARROW-1931 See https://github.com/google/googletest/issues/1318
+ #
+ # This is added to CMAKE_CXX_FLAGS instead of CXX_COMMON_FLAGS since only the
+ # former is passed into the external projects
+ if (MSVC_VERSION VERSION_GREATER 1900)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING")
+ endif()
- if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
- # clang-cl
- set(CXX_COMMON_FLAGS "-EHsc")
- elseif(${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 19)
- message(FATAL_ERROR "Only MSVC 2015 (Version 19.0) and later are supported
- by Arrow. Found version ${CMAKE_CXX_COMPILER_VERSION}.")
- else()
- # Fix annoying D9025 warning
- string(REPLACE "/W3" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ # clang-cl
+ set(CXX_COMMON_FLAGS "-EHsc")
+ elseif(${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 19)
+ message(FATAL_ERROR "Only MSVC 2015 (Version 19.0) and later are supported
+ by Arrow. Found version ${CMAKE_CXX_COMPILER_VERSION}.")
+ else()
+ # Fix annoying D9025 warning
+ string(REPLACE "/W3" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- # Set desired warning level (e.g. set /W4 for more warnings)
- #
- # ARROW-2986: Without /EHsc we get C4530 warning
- set(CXX_COMMON_FLAGS "/W3 /EHsc")
- endif()
+ # Set desired warning level (e.g. set /W4 for more warnings)
+ #
+ # ARROW-2986: Without /EHsc we get C4530 warning
+ set(CXX_COMMON_FLAGS "/W3 /EHsc")
+ endif()
- if (ARROW_USE_STATIC_CRT)
- foreach (c_flag CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_DEBUG
- CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
- CMAKE_C_FLAGS CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_DEBUG
- CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
- string(REPLACE "/MD" "-MT" ${c_flag} "${${c_flag}}")
- endforeach()
- endif()
+ if (ARROW_USE_STATIC_CRT)
+ foreach (c_flag CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_DEBUG
+ CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
+ CMAKE_C_FLAGS CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_DEBUG
+ CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
+ string(REPLACE "/MD" "-MT" ${c_flag} "${${c_flag}}")
+ endforeach()
+ endif()
- # Support large object code
- set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /bigobj")
+ # Support large object code
+ set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /bigobj")
+ endif(MSVC)
else()
# Common flags set below with warning level
set(CXX_COMMON_FLAGS "")