Commit Graph

30 Commits

Author SHA1 Message Date
pre-commit-ci[bot]
25c3ba7338 All: Reformat according to new standard 2025-11-11 13:49:01 +01:00
Chris Hennes
d97c7cc95c Core: Switch away from deprecated wstring_convert and codecvt_utf8 2025-10-21 09:01:59 +02:00
Markus Reitböck
f0eca551b3 Base: use CMake to generate precompiled headers on all platforms
"Professional CMake" book suggest the following:

"Targets should build successfully with or without compiler support for precompiled headers. It
should be considered an optimization, not a requirement. In particular, do not explicitly include a
precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
generated precompile header on the compiler command line instead. This is more portable across
the major compilers and is likely to be easier to maintain. It will also avoid warnings being
generated from certain code checking tools like iwyu (include what you use)."

Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
2025-09-14 09:47:01 +02:00
Markus Reitböck
749ac36615 do not use precompiled header for setting global compiler definitions and to disable compiler warnings
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
2025-09-11 20:21:04 -05:00
wmayer
ee2d35cad8 Test: Add test cases for Persistence::validateXMLString 2025-08-31 14:38:25 +02:00
Benjamin Bræstrup Sayoc
492b8312b3 Base: make getAttribute template 2025-05-09 15:54:57 +02:00
Chris Hennes
64d658e38a FreeCAD: Compiler warning fixes 2025-03-19 10:13:34 +01:00
tritao
e94d1cf872 Base: Remove Boost-based filesystem and switch to standard <filesystem> 2025-02-10 10:48:54 -06:00
wwmayer
a0e1a31623 Test: Support of parallel execution of reader tests (#18587)
* Tests: Initialize xerces sub-system in order to parse XML files

* Test: Support of parallel execution of reader tests

Fixes #18549
2024-12-20 10:42:02 -06:00
huguesdpdn-aerospace
3795904a00 PD: Xerces-C++ - Prepare for the latest version (backward compatible) 2024-09-08 20:31:25 -05:00
pre-commit-ci[bot]
9d949c60aa [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-08-25 07:29:42 +00:00
wmayer
8deb2e0f0f MSVC: Fix compiler warning 2024-07-25 20:08:10 +02:00
bgbsww
178c4ec477 Throw exceptions rather than return default 0 2024-07-19 09:09:59 -04:00
bgbsww
63a68b3c1c Throw exceptions rather than return default 0 2024-07-19 08:59:25 -04:00
Chris Hennes
11fa271eb5 Test: Support system GTest, and give warning if no submodule (#13662) 2024-06-03 10:40:35 -05:00
Ladislav Michl
7a955c5600 Tests: Avoid use of fmtlib when not needed 2024-01-15 17:38:56 +01:00
wmayer
aa5bea4e2e Base: add method XMLReader::isStartOfDocument() 2023-10-12 19:46:21 +02:00
wmayer
dcfd888c8f Tests: extend some reader tests after fixing givenDataAsXMLStream 2023-10-12 12:07:47 +02:00
wmayer
be2aa179b1 Tests: fix undefined behaviour in givenDataAsXMLStream 2023-10-11 12:05:37 +02:00
Chris Hennes
5975e3d51e App/Toponaming: Add base64 encoding to XML 2023-10-10 10:19:43 -05:00
wmayer
1312b9d2ac Tests: add unit tests for XMLReader::readNextElement() 2023-10-09 15:06:45 +02:00
wmayer
89bb28239e MSVC: fix several compiler warnings 2023-09-12 22:57:26 +02:00
pre-commit-ci[bot]
222a2520b1 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-12 13:02:35 -04:00
wmayer
1dd8680b11 gcc: support to build with v7.5 2023-08-10 11:22:08 +02:00
wmayer
57c213b464 MSVC: fix build failure caused by PR #10138 2023-08-09 18:17:32 +02:00
wmayer
3b6a01095f fixes #10127: Usage of std::filesystem in test bumps minimum GCC version to GCC 8 2023-08-09 13:52:42 +02:00
Chris Hennes
e461f1bc27 App/Toponaming: Fix Reader tests for Linux 2023-05-11 14:34:35 -05:00
Chris Hennes
c9f73bda9e App/Toponaming: Minor refactoring and tests for StringID 2023-05-11 14:34:35 -05:00
Chris Hennes
bb7681810a App/Toponaming: Tests for Reader and Writer 2023-05-11 14:34:35 -05:00
Chris Hennes
0a2eacade2 App/Toponaming: Lint and compilation cleanup 2023-05-11 14:34:35 -05:00