gcc has an option -isystem, that can replace -I. The documentation is:
-isystem dir
Search dir for header files, after all directories specified by -I but
before the standard system directories. Mark it as a system directory,
so that it gets the same special treatment as is applied to the
standard system directories. If dir begins with "=", then the "=" will
be replaced by the sysroot prefix; see --sysroot and -isysroot.
The "special treatment" means that gcc will not warn about constructions in
headers in directories pointed by -isystem instead of -I.
In the CGAL testsuite, there are a lot of warnings that comes from
third-party libraries (mostly from Boost, but also from Eigen).
This patch tells cmake to use -isystem with gcc, for all CGAL 3rd-party
directories.
32 lines
908 B
CMake
32 lines
908 B
CMake
# This module setups the compiler for the LEDA libraries.
|
|
# It assumes that find_package(LEDA) was already called.
|
|
|
|
if ( LEDA_FOUND AND NOT LEDA_SETUP )
|
|
|
|
message( STATUS "UseLEDA" )
|
|
message( STATUS "LEDA include: ${LEDA_INCLUDE_DIR}" )
|
|
include_directories ( SYSTEM ${LEDA_INCLUDE_DIR} )
|
|
|
|
message( STATUS "LEDA definitions: ${LEDA_DEFINITIONS}" )
|
|
add_definitions( ${LEDA_DEFINITIONS} )
|
|
if ( "${LEDA_DEFINITIONS}" MATCHES ".*LEDA_USE_F2C.*" )
|
|
add_definitions( "-DCGAL_USE_F2C" )
|
|
endif()
|
|
|
|
if (LEDA_LIBRARIES_DIR)
|
|
message( STATUS "LEDA library directories: ${LEDA_LIBRARIES_DIR}" )
|
|
link_directories( ${LEDA_LIBRARIES_DIR} )
|
|
endif()
|
|
if (LEDA_LIBRARIES)
|
|
message( STATUS "LEDA libraries: ${LEDA_LIBRARIES}" )
|
|
link_libraries( ${LEDA_LIBRARIES} )
|
|
endif()
|
|
|
|
uniquely_add_flags( CMAKE_CXX_FLAGS ${LEDA_CXX_FLAGS} )
|
|
|
|
# Setup is done
|
|
set ( LEDA_SETUP TRUE )
|
|
|
|
endif()
|
|
|