Commit Graph

578 Commits

Author SHA1 Message Date
Markus Reitböck
c3805ecf4a fix duplicate include guards in precompiled headers 2025-09-23 00:51:00 +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
Ian 'z0r0' Abreu
6fa1adf141 Cleaning up xml file generation, and erroneous export annotations from interface bindings. 2025-08-31 18:28:41 -04:00
Ian 'z0r0' Abreu
4fc94492cd Finalizing Python interface bindings for TechDraw. 2025-08-31 15:43:50 -04:00
Ian 'z0r0' Abreu
6d3fb9393a Finalizing Python interface bindings for Robot, Spreadsheet, Surface. 2025-08-31 15:41:14 -04:00
Ian 'z0r0' Abreu
6e75aef81c Finalizing Python interface bindings for Import, Measure, Mesh, Points. 2025-08-31 15:34:03 -04:00
Ian 'z0r0' Abreu
2b889560d1 Finalizing Python interface bindings for Fem. 2025-08-31 15:27:21 -04:00
Ian 'z0r0' Abreu
9008cdb8ee Finalizing Python interface bindings for CAM. 2025-08-31 15:24:02 -04:00
Ian 'z0r0' Abreu
c63ac5ffbc Finalizing Python interface bindings for assembly 2025-08-31 15:19:25 -04:00
Chris Hennes
9ee6e592b1 Tools: Small improvements to translation extraction
1) Block a problematic BIM file from extraction
2) Implement advanced scanning system to better report problems
3) Limit number of jobs in CrowdIn push to prevent 403 errors
2025-08-25 17:39:40 +02:00
Max Wilfinger
9fc40b33de Fix source string mistakes reported on Crowdin (#23157)
* Fix source string mistakes reported on Crowdin

* Update src/Mod/Draft/Resources/ui/TaskPanel_CircularArray.ui

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/Resources/ui/TaskPanel_CircularArray.ui

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/draftfunctions/upgrade.py

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/draftfunctions/upgrade.py

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/draftguitools/gui_downgrade.py

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/Resources/ui/TaskPanel_SetStyle.ui

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

---------

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>
2025-08-24 20:51:32 -05:00
Ian Abreu
3ecb701959 Core: Generation of python bindings for Techdraw (#22565)
* first working interfaces..

* adding the rest.

* updated all pyi files.

* running black for formatting.

* removing unused imports

* removing empty comments

* fixing typing declarations.

* removing inline comments.

* fixing pyObjectBase in CosmeticEdgePy

* removing erroneous tags.

* running black.

* fixing CenterLinePy

* fixing import issues.

* Fixing tuple.

* Enabling CosmeticEdge compilation.

* fixing comments, removing unused imports.

* fixing ordering
2025-08-04 10:36:32 -05:00
Chris Hennes
95a7dfd515 Remove boost::filesystem includes 2025-07-18 20:26:56 +02:00
Kacper Donat
96b006a2dd Spreadsheet Fix '=' regression in spreadsheets (#22146)
* Tools: Add ExpressionLineEdit to QtDesigner plugin

* Spreadsheet: Only use validator when when prefix is not '='

---------

Co-authored-by: wmayer <wmayer@freecad.org>
2025-06-23 22:20:25 +02:00
wmayer
a39c44e483 Tools: Add ExpressionLineEdit to QtDesigner plugin 2025-06-23 14:12:05 +02:00
Chris Hennes
211ef2d48b Tools: Use a safer hostname detection 2025-06-20 22:40:55 +02:00
wmayer
0576c129cd Base: Improve Python exception handling
If the Python profiler is activated then transporting the dict as
exception object is broken where InteractiveInterpreter::runCode()
fails to restore it.
To fix the problem use Exception::setPyException() instead inside
the macto PY_CATCH and the generated wrapper code.

This also improves exception handling in command line mode.
2025-06-04 14:14:20 +02:00
mosfet80
7f3398f320 [Mod] Drawing remove (#20419)
* [Mod] Draw remove

removed deprecated drawing module

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [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>
2025-05-12 17:43:25 +02:00
bofdahof
998f4e4d45 Console: rename PascalCase named methods to camelCase 2025-05-06 17:50:21 +02:00
Jacob Oursland
fb528dd9fc python: Make const methods declared const in C++. 2025-04-16 20:19:41 -07:00
Chris Mayo
d91b3e0517 CMake: Fix duplicating DESTDIR in Designer plugin installation path
CMake already handles DESTDIR.
2025-04-14 11:18:26 -05:00
Kacper Donat
b300c80b90 Base: Use explicit pointer syntax for freecad_cast (#20694)
* Base: Use explicit pointer syntax for freecad_cast

This aligns our custom cast with other casts

* All: Use explicit pointer syntax for freecad_cast
2025-04-11 14:11:33 +00:00
Chris Hennes
fc782a6c8d Addon Manager: Move to git submodule (#20672) 2025-04-08 16:40:31 +02:00
Chris Hennes
de13e777f4 Merge pull request #20643 from tritao/python-gen-include-pycxx
Tools: Add PyCXX includes to generated Python binding files.
2025-04-07 11:27:17 -05:00
Andrea
01609b5479 Remove old python files
Remove not necessary python files
2025-04-07 11:22:08 -05:00
Kacper Donat
35a9673a75 Base: Rename Base::freecad_dynamic_cast into freecad_cast
This is to make it shorter and easier to use. QT does the same thing
with their qobject_cast.
2025-04-07 10:32:28 -05:00
tritao
63ed3e8dff Sketcher: Remove XML binding files.
These are not needed anyore with the Python bindings conversion.
2025-04-05 17:52:38 +02:00
tritao
80aca250ad Tools: Add PyCXX includes to generated Python binding files. 2025-04-05 12:03:23 +01:00
Benjamin Nauck
bad0daf9dc Refactor mapToInt/mapToUint 2025-04-01 08:02:42 +02:00
Benjamin Nauck
c97ce5b5e9 Tools: Add #include <limits> where used 2025-03-31 23:53:16 +02:00
Benjamin Nauck
f773550a47 Tools: Use std::numeric_limits and std::numbers instead of defines 2025-03-29 13:32:39 +01:00
Leif-Jöran Olsson
fb5ded6e53 Fixing ambiguiguous python shebang in installed script freecad-thumbnailer. Removed skip ci according to instruction. 2025-03-27 21:42:49 -05:00
tritao
8ae48c3c8a Material: Remove XML binding files. 2025-03-26 13:01:41 +01:00
Joao Matos
e9fda68693 Material: Convert XML bindings to Python. 2025-03-26 12:18:02 +01:00
tritao
c3e10d4331 Tools: Improve handling of sequence_protocol in Python bindings generator.
This allows SequenceProtocol being initialized without all members which
simplifies Python authoring of binding files.
2025-03-26 12:18:02 +01:00
Joao Matos
faabc3d7d6 Part: Remove XML binding files.
This PR removes the Part XML API bindings files now that we have
equivalent Python binding files.
2025-03-25 21:28:52 +01:00
Joao Matos
ee4c9a6e8b PartDesign: Remove XML binding files. 2025-03-25 06:11:22 +01:00
Joao Matos
74493358da Gui: Remove XML binding files. 2025-03-24 22:47:33 +01:00
Johannes Thyssen Tishman
c8b1ea2836 Configure and install thumbnailer
Currently the file "src/XDGData/FreeCAD.thumbnailer" gets installed, but
the associated freecad-thumbnailer script isn't. Install the script,
too.

While here, have the paths to the default icon and freecad-thumbnailer
script follow ${CMAKE_INSTALL_DATAROOTDIR} and ${CMAKE_INSTALL_BINDIR}
respectively.
2025-03-24 13:46:17 -03:00
tritao
176f91eea8 App: Remove XML binding files.
This PR removes the App XML API bindings files now that we have
equivalent Python binding files.
2025-03-21 16:43:59 +01:00
tritao
997982ad20 Tools: Use ModuleName when determining which modules to compare against XML bindings. 2025-03-21 16:43:59 +01:00
Joao Matos
4ed1c54ab2 Tools: Improve identation handling for attribute docstring comments. 2025-03-20 11:07:27 +01:00
tritao
8d36987f16 Base: Remove XML binding files. 2025-03-19 20:04:19 -05:00
tritao
723a25c57d Tools: Re-enable XML comparison mode Python API bindings generator. 2025-03-19 08:32:06 -05:00
tritao
6c2c6847eb CMake: Cleanup targets with transitive dependencies 2025-03-17 12:12:06 +00:00
hasecilu
31379fcb8f Measure: add translation source file for uploading to Crowdin 2025-03-13 10:21:10 -06:00
Chris Hennes
be8b92182c Merge pull request #19921 from mosfet80/QT_CLEAN
REMOVE old QT<= 5.14 code
2025-03-11 20:54:59 +00:00
Andrea
cd5c46ba18 Remove unnecessary check (duplicated)
before including the library, it is uselessly checked if the variable __QtAll__ and __InventorAll__ have been defined. The same check is performed again once the library is included
2025-03-10 21:53:00 +01:00
Chris Hennes
d8ca8766b1 Merge pull request #20036 from hyarion/fix/remove-pyexport-warnings
Suppress erroneous warnings for GCC in python template
2025-03-07 14:41:22 +00:00
Benjamin Nauck
486fb593db Tools: Suppress erroneous warnings for GCC 2025-03-06 21:47:50 +01:00