You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2022/08/17 06:46:44 UTC

[GitHub] [arrow] kou commented on pull request #13903: ARROW-17433: [C++] Make Boost's include directory a system include directory

kou commented on PR #13903:
URL: https://github.com/apache/arrow/pull/13903#issuecomment-1217529809

   @pitrou Can we drop support for Visual Studio 2017? Visual Studio 2017 reached EOL at 2022-04-12: https://docs.microsoft.com/en-us/lifecycle/products/visual-studio-2017
   
   > Listing | Start Date | Mainstream End Date | Extended End Date
   > -- | -- | -- | --
   > Visual Studio 2017 | Mar 7, 2017 | Apr 12, 2022 | Apr 13, 2027
   
   If we can drop support for Visual Studio 2017, we can fix this problem.
   
   This problem is caused by the change https://github.com/boostorg/process/pull/250#discussion_r947407602 in Boost 1.80. Our build configuration on AppVeyor marks a warning as an error. With Boost 1.80, a warning in Boost causes the CI failure.
   
   We can solve this by marking Boost as an external (header) library. We can use `/external:I` (equivalent to `-isystem` in GCC) instead of `/I` to specify include directory for Boost to mark Boost as an external (header) library. If we use `/external:I`, warnings in Boost aren't reported.
   
   CMake 3.22 https://cmake.org/cmake/help/latest/release/3.22.html added support for `/external:I` with `Ninja` generator:
   
   > The [Ninja](https://cmake.org/cmake/help/latest/generator/Ninja.html#generator:Ninja) and [NMake Makefiles](https://cmake.org/cmake/help/latest/generator/NMake%20Makefiles.html#generator:NMake%20Makefiles) generators now use the MSVC -external:I flag for system includes. This became available as of VS 16.10 (toolchain version 14.29.30037).
   
   But it requires Visual Studio 2019 or later because the `/external:I` flag is an experimental feature with Visual Studio 2017.
   
   If we can drop support for Visual Studio 2017, we can remove all CI jobs on AppVeyor because GitHub Actions provides Visual Studio 2019 or later.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org