-RM-230-MR-Clang clutters compilation with warnings from third party libs.
When compiling OW with llvm's clang, we get tons of warnings in namely: Boost and Eigen3 which may also result from heavy optimizations (e.g. expression templates, etc.). However, its then hard to distinguish what issues come from OW itself, and what is not in our hands. Therefore I propose to disable compilation warnings which result from third party code includes.
http://forum.kde.org/viewtopic.php?f=74&t=101722 http://stackoverflow.com/questions/5801754/gcc-directory-option-isystem http://stackoverflow.com/questions/3371127/use-isystem-instead-of-i-with-cmake
We therefore could tell CMake that some includes are in system directories. This can be done via a flag: @SYSTEM@ in the include directive @INCLUDE_DIRECTORIES@, e.g.: @INCLUDE_DIRECTORIES( SYSTEM ${EIGEN3_INCLUDE_DIR} )@. However, sometimes we need a further declaration of what command line switch is used in that case, which can be done by: @CMAKE_INCLUDE_SYSTEM_FLAG_CXX="isystem"@. The @isystem@ switch is known by GNU C++ compiler at least from version 4.0.1 and by LLVM's Clang 2.8.
(from redmine: created on 2012-12-18, closed on 2012-12-20)