only 4 of these warnings are still relevant, CMake shall be used to disable them
Compiler definitions:
NOMINMAX:
* is already globally defined in SetGlobalCompilerAndLinkerSettings.cmake
WIN32_LEAN_AND_MEAN:
* use CMake target_compile_options on relevant targets
Warnings that still occur:
C4251, C4273, C4275: all related to dllimport / export
* use CMake target_compile_options on relevant targets
C4661: no suitable definition provied for explicit template instantiation request
* triggered in Mesh because of Vector3D in Base - not all functions are defined in header
* use CMake target_compile_options on relevant targets
Warnings that are Currently not triggered (fix code if they appear again):
C4005: macro redefinition
C4244: argument conversion, possible loss of data
C4267: conversion from size_t to type, possible loss of data
C4305: truncation from type1 to type2
* only occurrence disabled in Reader.cpp
C4522: multiple assignment operator specified
C5208: unnamed class in typedef name
Obsolete Compiler warnings:
C4181: not mentioned in Microsoft docs anymore
C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
* throw(optional_type_list) deprecated in C++17
C4482: nonstandard extension used: enum 'enumeration' used in qualified name
* not generated for compilers that support C++11
C4503: 'identifier': decorated name length exceeded, name was truncated
* obsolete since Visual Studio 2017
C4786: not mentioned in Microsoft docs anymore
* missing includes in Base, App and Gui headers
header should be self contained
* use cstddef header instead of stddef.h
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
---------
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
* Make default postprocessor empty string.
Default post when creating a job is now not set. This will cause the user to be prompted for a post instead
This PR also cleans up some unit tests to avoid loading from disk
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Sketcher: Update DrawSketchHandlerSymmetry.h
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Sketcher: Constraint symbol size follow-up
* Update SketcherSettings.cpp
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update SketcherSettingsDisplay.ui
* Update EditModeCoinManager.cpp
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove enabled property
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Implicit conversion from integer to boolean and vice versa is very
common in FreeCAD due to SbBool (from coin) being defined as int. This
creates a lot of false positives that should not be addressed in code
reviews. We also use such implicit coversions in FreeCAD often in
general so that warning is usually ignored.
This makes order of fields in Hole Parameters more natural with typical
input flow of the parameters, i.e. moves the size of the hole more to
the top as it is the most important parameter.
Arch Objects usually has hideSubobjects to hide children.
ArchStairs does not have this and children (e.g. Additions, Subtraction [Railing to be added]) does not hide; this fix the problem.
Other Associated Inconsistency
- Other movable childre and visibility behaviour (like Railing of Stairs should be children) as discussed in https://forum.freecad.org/viewtopic.php?p=844965#p844920 would be added in subsequent PR
I. Fix 1st Addition Placement
1. Arch Object can have no Base.
2. ArchComponent.processSubShapes() would keep the placement of Additions by treating with inverse placement when the parent Arch Object placemnet is changed.
3. However, when there is not base/Base, 1st Addition becomes 'base' and the placement is not treated by inverse placement and the displacement is doubled
4. This commit identify the above case and apply same inverse placment
II. MovableChildren Includes Railings
1. getMovableChildren() does not includes Railing (on top of Additions/Subtraction)
2. This commit fix the behaviour to make it consisteny
Other Associated Inconsistency
- Other visibility default behaviour as discussed in https://forum.freecad.org/viewtopic.php?p=844965#p844920 would be added in subsequent PR
Last associated PR/commit - https://github.com/FreeCAD/FreeCAD/pull/23556