Commit Graph

109 Commits

Author SHA1 Message Date
pre-commit-ci[bot]
9fe130cd73 All: Reformat according to new standard 2025-11-11 13:49:01 +01:00
PhoneDroid
c913317c28 [ Base ]: Updated SPDX 2025-10-14 10:00:04 -05:00
Markus Reitböck
5a423dab39 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
wmayer
2fe7b30ee9 Base: Remove weird error parameter from encode 2025-06-04 14:14:20 +02:00
wmayer
231680c9ce Base: Allow to also throw exception by given Python type 2025-06-04 14:14:20 +02:00
Andrea
0f9a16260d Removed empty functions
Removed empty functions
2025-05-19 18:25:17 +02:00
bofdahof
ba2c2ca5ad Console: rename PascalCase named methods to camelCase 2025-05-06 17:50:21 +02:00
Ladislav Michl
9683cf1e4f Base: rename Exception's PascalCase methods to camelCase 2025-05-05 23:50:01 +02:00
bofdahof
bf4ace0957 Base: simplify Exception
Remove repetition. Add functions to replace macros, but keep macros
in use for now as some compilers have broken std::source_location
support.
2025-05-05 23:50:01 +02:00
Chris Hennes
5941c7e0ba Base: Remove deprecated Py_GetPath call
Replace it with a piece of code that replicates the functionality. Also eliminate the round-trip through char * that this function was using (the final variable is stored as a std::string anyway).
2025-03-22 18:59:05 -05:00
mos
9f220319d0 Removed old Python code <3.10 2025-03-07 16:34:08 -06:00
tritao
4260bd6fa4 Gui: Minor cleanups. 2025-02-05 22:13:07 +00:00
Chris Hennes
a30d3801b0 Base: Support virtual environment in Py>=3.11 2024-06-10 11:26:09 -05:00
wmayer
8b9d67189e Base: enable user site-packages for Py >= 3.11
For more details see: https://forum.freecad.org/viewtopic.php?p=748296#p748296
2024-03-20 19:24:45 +01:00
Ladislav Michl
933fc55828 Base: Fix #12061
While rebasing after 794deeb0e5f6 ("fix readability-*:") a mistake was
make, causing  exception been thrown for every file opened. While there,
invert file test existence logic, so we return early on failure.

Fixes: a47f0a9b0a05 ("Base: Do not use else before return")
2024-02-26 17:39:33 +01:00
Ladislav Michl
3a25a66a05 Base: Do not use else before return 2024-01-21 16:14:12 +01:00
wmayer
3ac4dc0686 fix cppcoreguidelines-*
* cppcoreguidelines-init-variables
* cppcoreguidelines-c-copy-assignment-signature
* cppcoreguidelines-macro-usage
* cppcoreguidelines-non-private-member-variables-in-classes
* cppcoreguidelines-pro-type-member-init
* cppcoreguidelines-slicing
* cppcoreguidelines-special-member-functions
* cppcoreguidelines-virtual-class-destructor
2023-11-16 01:22:09 +01:00
wmayer
a602003747 fix readability-isolate-declarations 2023-11-16 01:22:08 +01:00
wmayer
bd88162b9d fix readability-*:
* readability-const-return-type
* readability-container-data-pointer
* readability-container-size-empty
* readability-delete-null-pointer
* readability-else-after-return
* readability-inconsistent-declaration-parameter-name
* readability-redundant-member-init
* readability-redundant-smartptr-get
* readability-redundant-string-cstr
* readability-use-anyofallof
* readability-static-definition-in-anonymous-namespace
* readability-static-accessed-through-instance
* readability-simplify-boolean-expr
2023-11-16 01:22:08 +01:00
wmayer
9c7d00ffcb fix readability-identifier-length 2023-11-16 01:22:08 +01:00
wmayer
985def3416 Base: apply clang format 2023-11-13 12:01:26 -05:00
wmayer
13f30b2cbb Base: fix crash in PyException::ReportException() 2023-11-06 10:08:18 +01:00
Ed Williams
58c3e2a425 Base: set sys.last_vars to enable post mortem debugging after exception
* Update Interpreter.cpp to enable stack trace

This enables python debuggers to stack trace after an exception.
See https://forum.freecad.org/viewtopic.php?p=714349#p714349

Co-authored-by: bdieterm <119257544+bdieterm@users.noreply.github.com>
2023-10-31 09:40:57 +01:00
mosfet80
cb607ffe1e [BASE] Removed dead code (#10330) 2023-08-28 10:41:20 -05:00
wmayer
097d5d6fee Base: C++ core guidelines: init variables 2023-08-24 18:48:52 +02:00
wmayer
50af46b7c9 Core: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
wmayer
59760c723f Base: modernize C++: return braced init list 2023-08-18 00:36:24 +02:00
wmayer
31ed14db83 modernize C++: use noexcept 2023-08-07 16:06:58 +02:00
Abdullah Tahiri
624592fc8b Interpreter: Fix lack of notifier in DeveloperError call 2023-06-01 19:25:00 +02:00
Abdullah Tahiri
1b59b75482 Base: Interpreter - Mark Exception reporting and stack as intended for developers 2023-05-23 14:24:45 +02:00
wmayer
a8a6a7ac25 Fixes #8206: FreeCAD segfaults being run with parameters (e.g .desktop file has /usr/bin/freecad --single-instance) 2023-02-11 17:49:52 +01:00
marioalexis
be8b5f345c Base: Replace C cast 2022-09-18 11:06:51 -05:00
wmayer
d92eaf7a72 Base: fix several warnings reported by code analyzers 2022-08-02 13:04:50 +02:00
berniev
15419982d4 Base: Modernise ctors dtors defs etc 2022-08-02 12:37:46 +02:00
Uwe
61303b0a01 [Base] remove some more superfluous nullptr checks 2022-07-18 13:07:16 +02:00
Uwe
4b2ffd2eca [Base] remove superfluous nullptr checks 2022-07-18 03:16:22 +02:00
wmayer
55828c22c0 Py: make FreeCAD to compile with Py3.11 2022-07-01 17:54:50 +02:00
wmayer
f5235a8057 cppcoreguidelines-pro-type-union-access
According to https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md using union for type-punning is undefined behaviour.
 Replace it with std::memcpy
2022-06-24 14:29:50 +02:00
marioalexis
adfac77e61 Base: Add function to get Python object types for SWIG interfaces 2022-06-21 21:01:37 -04:00
Zheng, Lei
8bec44934b Fix mixed line endings 2022-04-26 12:52:55 -05:00
Chris Hennes
b5c72abee4 Base: PR6497 move return statement to new line 2022-03-29 12:34:34 -05:00
wmayer
4183c45a01 Base: modernize C++11
* use nullptr
2022-03-23 16:57:25 +01:00
wmayer
e50a475226 Base: [skip ci] cleaning up modules is only needed for leak detectors 2022-03-20 13:39:22 +01:00
wmayer
1f12dca2b4 Py: replace BaseExceptionFreeCADError with more suitable exception types 2022-03-17 13:54:23 +01:00
wmayer
b13284a221 Base: let interpreter keep track of created modules 2022-03-13 22:34:01 +01:00
wmayer
91e4e468dd Base: move ILogger sub-classes to their own source files in order to reduce including stream classes in client code 2022-03-06 10:13:47 +01:00
Uwe
38ea286f28 [Base] Geometry etc.: remove unused includes 2022-03-01 13:56:02 +01:00
Uwe
288ccdb004 [Base] fix typo to silence spellchecker CI 2022-02-22 02:31:51 +01:00
wmayer
e92325c9c9 App: remove some more deprecated Py2 code
and remove deprecated void from function signature and replace 0 or NULL with nullptr
2021-04-26 10:55:56 +02:00
wmayer
c563198b35 Base: remove some more deprecated Py2 code
and remove deprecated void from function signature and replace 0 or NULL with nullptr
2021-04-26 10:29:48 +02:00