Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
OpenWalnut Core OpenWalnut Core
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 82
    • Issues 82
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenWalnut
  • OpenWalnut CoreOpenWalnut Core
  • Issues
  • #193

Closed
Open
Created May 08, 2017 by Mathias Goldau@mathOwner

-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)

Assignee
Assign to
OpenWalnut 1.4
Milestone
OpenWalnut 1.4
Assign milestone
Time tracking