clang/gcc/cmake: move handling of suppressed deprecated-copy warnings from source file to CMake file to more easily support gcc 10

This commit is contained in:
wmayer
2020-06-09 15:30:42 +02:00
parent 9a06fdf223
commit 27b6066beb
14 changed files with 41 additions and 55 deletions

View File

@@ -17,4 +17,13 @@ macro(SetupEigen)
set (BUILD_FLAT_MESH OFF)
endif()
# Older versions raise the warning -Wdeprecated-copy with clang10/gcc10
if (${EIGEN3_VERSION} VERSION_LESS "3.3.8")
unset(_flag_found CACHE)
check_cxx_compiler_flag("-Wno-deprecated-copy" _flag_found)
if (_flag_found)
set (EIGEN3_NO_DEPRECATED_COPY "-Wno-deprecated-copy")
endif ()
endif()
endmacro(SetupEigen)

View File

@@ -1345,6 +1345,11 @@ if (FREECAD_USE_QT_FILEDIALOG)
set_source_files_properties(FileDialog.cpp PROPERTIES COMPILE_FLAGS -DUSE_QT_FILEDIALOG)
endif()
# Suppress some very long Eigen3 warnings of older versions
if (EIGEN3_NO_DEPRECATED_COPY)
set_source_files_properties(NaviCube.cpp PROPERTIES COMPILE_FLAGS ${EIGEN3_NO_DEPRECATED_COPY})
endif ()
add_library(FreeCADGui SHARED ${FreeCADGui_SRCS})
target_link_libraries(FreeCADGui ${FreeCADGui_LIBS})

View File

@@ -114,12 +114,6 @@
# include <QOpenGLTexture>
#endif
#if defined(__clang__) && defined(__has_warning)
#if __has_warning("-Wdeprecated-copy")
# pragma clang diagnostic ignored "-Wdeprecated-copy"
#endif
#endif
//#include <OpenGL/glu.h>
#include <Eigen/Dense>
#include <vector>

View File

@@ -376,6 +376,16 @@ if(FREECAD_USE_PCH)
ADD_MSVC_PRECOMPILED_HEADER(Mesh PreCompiled.h PreCompiled.cpp PCH_SRCS)
endif(FREECAD_USE_PCH)
# Suppress some very long Eigen3 warnings of older versions
if (EIGEN3_NO_DEPRECATED_COPY)
set_source_files_properties(
Core/Approximation.cpp
Core/CylinderFit.cpp
Core/SphereFit.cpp
Core/KDTree.cpp
PROPERTIES COMPILE_FLAGS ${EIGEN3_NO_DEPRECATED_COPY})
endif ()
add_library(Mesh SHARED ${Core_SRCS} ${WildMagic4_SRCS} ${Mesh_SRCS})
target_link_libraries(Mesh ${Mesh_LIBS})

View File

@@ -29,12 +29,6 @@
# include <iterator>
#endif
#if defined(__clang__) && defined(__has_warning)
#if __has_warning("-Wdeprecated-copy")
# pragma clang diagnostic ignored "-Wdeprecated-copy"
#endif
#endif
#include "Approximation.h"
#include "Elements.h"
#include "Utilities.h"

View File

@@ -61,12 +61,6 @@
# include <iterator>
#endif
#if defined(__clang__) && defined(__has_warning)
#if __has_warning("-Wdeprecated-copy")
# pragma clang diagnostic ignored "-Wdeprecated-copy"
#endif
#endif
#include "CylinderFit.h"
#include <Base/Console.h>
#include <Mod/Mesh/App/WildMagic4/Wm4ApprLineFit3.h>

View File

@@ -28,12 +28,6 @@
#ifndef _PreComp_
#endif
#if defined(__clang__) && defined(__has_warning)
#if __has_warning("-Wdeprecated-copy")
# pragma clang diagnostic ignored "-Wdeprecated-copy"
#endif
#endif
#include "KDTree.h"
#include <kdtree++/kdtree.hpp>

View File

@@ -28,12 +28,6 @@
# include <iterator>
#endif
#if defined(__clang__) && defined(__has_warning)
#if __has_warning("-Wdeprecated-copy")
# pragma clang diagnostic ignored "-Wdeprecated-copy"
#endif
#endif
#include "SphereFit.h"
#include <Base/Console.h>

View File

@@ -397,6 +397,14 @@ if(FREECAD_USE_PCH)
ADD_MSVC_PRECOMPILED_HEADER(Part PreCompiled.h PreCompiled.cpp PCH_SRCS)
endif(FREECAD_USE_PCH)
# Suppress some very long Eigen3 warnings of older versions
if (EIGEN3_NO_DEPRECATED_COPY)
set_source_files_properties(
GeometryCurvePyImp.cpp
GeometrySurfacePyImp.cpp
PROPERTIES COMPILE_FLAGS ${EIGEN3_NO_DEPRECATED_COPY})
endif ()
add_library(Part SHARED ${Part_SRCS})
target_link_libraries(Part ${Part_LIBS})

View File

@@ -23,12 +23,6 @@
#include "PreCompiled.h"
#if defined(__clang__) && defined(__has_warning)
#if __has_warning("-Wdeprecated-copy")
# pragma clang diagnostic ignored "-Wdeprecated-copy"
#endif
#endif
#ifndef _PreComp_
# include <sstream>
# include <BRepBuilderAPI_MakeEdge.hxx>

View File

@@ -23,12 +23,6 @@
#include "PreCompiled.h"
#if defined(__clang__) && defined(__has_warning)
#if __has_warning("-Wdeprecated-copy")
# pragma clang diagnostic ignored "-Wdeprecated-copy"
#endif
#endif
#ifndef _PreComp_
# include <BRepBuilderAPI_MakeFace.hxx>
# include <gp_Circ.hxx>

View File

@@ -90,7 +90,6 @@ SOURCE_GROUP("Python" FILES ${Python_SRCS})
SET(PlaneGCS_SRCS
planegcs/qp_eq.h
planegcs/GCS.cpp
planegcs/GCS.h
planegcs/Util.h
@@ -139,6 +138,15 @@ if(FREECAD_USE_PCH)
ADD_MSVC_PRECOMPILED_HEADER(Sketcher PreCompiled.h PreCompiled.cpp Sketcher_CPP_SRCS)
endif(FREECAD_USE_PCH)
# Suppress some very long Eigen3 warnings of older versions
if (EIGEN3_NO_DEPRECATED_COPY)
set_source_files_properties(
planegcs/GCS.cpp
planegcs/SubSystem.cpp
planegcs/qp_eq.cpp
PROPERTIES COMPILE_FLAGS ${EIGEN3_NO_DEPRECATED_COPY})
endif ()
SET_BIN_DIR(Sketcher Sketcher /Mod/Sketcher)
SET_PYTHON_PREFIX_SUFFIX(Sketcher)

View File

@@ -25,12 +25,6 @@
#pragma warning(disable : 4996)
#endif
#if defined(__clang__) && defined(__has_warning)
#if __has_warning("-Wdeprecated-copy")
# pragma clang diagnostic ignored "-Wdeprecated-copy"
#endif
#endif
//#define _GCS_DEBUG
//#define _GCS_DEBUG_SOLVER_JACOBIAN_QR_DECOMPOSITION_TRIANGULAR_MATRIX
//#define _DEBUG_TO_FILE // Many matrices surpass the report view string size.

View File

@@ -24,12 +24,6 @@
#pragma warning(disable : 4244)
#endif
#if defined(__clang__) && defined(__has_warning)
#if __has_warning("-Wdeprecated-copy")
# pragma clang diagnostic ignored "-Wdeprecated-copy"
#endif
#endif
#include <iostream>
#include <Eigen/QR>