Commit Graph

352 Commits

Author SHA1 Message Date
Chris Hennes
0026a35886 Core: Update version number to 1.0.0RC1 2024-09-05 11:43:29 +02:00
Chris Hennes
d01ce32a1f Update for LibPack3 (#10337)
* cMake: Add base support for LibPack3

Minor changes to FreeCAD source code to support compiling with Qt 6.5 on MSVC,
and changes to cMake setup to support the new Libpack.

* NETGENPlugin: Fix compilation with MSVC and OCCT 7.8

* Material: Switch to Wrapped_ParseTupleAndKeywords for /fpermissive- on MSVC

* Base: Prevent accidental definition of MIN and MAX by MSVC

* cMake: Prevent accidentally finding an old LibPack

* Material: Wrap another ParseTuple call

* OCCT: Modify includes for 7.8.x

* Part: Change TNP code to use Wrapped_ParseTupleAndArgs

* Spreadsheet: Workaround for MSVC macro pollution

* Mesh: Workaround for MSVC macro pollution

* Base: Remove extra MSVC flag (moved to CMake)

* Tests: Fix compiling with /permissive-

* FEM: Fix Qt warnings about duplicate element names

* cMake: Ensure major version numbers are set

* Address review comments.

* cMake: Further tweaks for LibPack3

* cMake: Modify specification of compiler flags for MSVC

* Main: Remove QtQuick testing code

* cmake: Find Boost before SMESH (which uses it)

* Fixes for LibPack2

* cMake: Another try at importinhg VTK cleanly
2024-06-24 18:25:05 +02:00
wmayer
90ede977a3 CMake: set policy CMP0148 to old 2024-02-22 11:47:48 +01:00
Jacob Oursland
f6465f5c1f CMake: permit ccache with conda. 2023-12-04 10:15:08 -07:00
Pesc0
9cf678407c Allow automatic tests discovery 2023-11-20 16:12:27 +01:00
David Carter
6624fa3775 Material: Material handling enhancements
Rework of the material handling system.

This first part concntrates on a rework of the material cards.
Rather than use a fixed list of possible properties, properties can
be defined separately in their own files and mixed to provide a
complete list of possible properties. Properties can be inherited.

The cards then provide values for the properties. These can also
be inherited allowing for small changes in cards as required.

The new property definitions are more extensive than previously.
2 and 3 dimensional arrays of properties can be defined. Values
are obtained by calling an API instead of reading from a dictionary.

For compatibility, a Python dictionary of values can be obtained
similar to how it was done previously, but this is considered a
deprecated API and won't support the newer advanced features.

The editor is completely reworked. It will be able to edit older format
material cards, but can only save them in the new format.

For testing during the development phase, a system preference can
specifiy wether the old or new material editors are to be used. This
option will be removed before release.
2023-09-25 11:04:01 -04:00
Chris Hennes
ea49b3fe78 GUI: Add prominent dev build indicators 2023-08-04 18:21:39 -06:00
Adrián Insaurralde Avalos
3b6dbeb27e Rename cmake flag for unit tests to ENABLE_DEVELOPER_TESTS
To differentiate from the previously existing BUILD_TEST that controls building the Test WB
2023-08-02 00:49:29 +00:00
Adrián Insaurralde Avalos
2a1d4d4994 fix use ccache by default on most systems 2023-07-27 08:31:04 -04:00
Adrián Insaurralde Avalos
1d7fb46f89 Add FREEECAD_USE_CCACHE cmake option
Defaults to ON except for conda compilation on windows
2023-07-18 11:46:04 -04:00
luzpaz
129d5882a7 Migrate domain name from freecadweb to freecad (#9352)
* Migrate domain name from freecadweb to freecad
* Migrate src/Mod/Material files
* Migrate Stylesheet related files
* Migrate *.svg files
* Migrate miscellaneous files
* Migrate some build files
* Migrate recently added TD AR_IRAM template files

Closes #6415
2023-04-24 15:19:20 -05:00
Chris Hennes
59c95496b4 Core: Add libfmt via FetchContent 2023-02-18 12:43:48 -06:00
berniev
d5e1b3f441 Further efficiencies to Summary Report
Changed existing function to macro to access list of lines
Added conditional macro to save most of the if() else() endif()
Output sorted for improved comprehension
Moved build message out (nothing to do with report)
SLOC -~30%
2023-01-30 18:10:52 -07:00
berniev
243ad94fb2 Simplify usage in Final Report and move Libpack copy stuff out
Added report function to separate logic from presentation and automate layout
Removed Libpack stuff to its own cmake file CopyLibpackDirectories.cmake
Added call in main CMakeLists.txt to libpack stuff
2023-01-28 08:41:34 -07:00
Uwe
3ff301cd10 [CMake] improve comment about CMake limit 2023-01-24 21:44:19 -07:00
berniev
fef3e11326 bump cmake min version to 3.16.3 2023-01-23 22:02:27 -07:00
Adrian Insaurralde Avalos
95fcf171b8 Unify version patch number management in cmake 2022-12-05 00:26:43 +01:00
wmayer
1d7369e321 QtTest: [skip ci] enable Qt testing framework 2022-12-01 13:57:00 +01:00
berniev
b3274122e3 Introduce GoogleTest C++ unit testing framework 2022-12-01 12:33:14 +01:00
wmayer
845ee29a44 CMake: [skip ci] fix deprecation warning about policy CMP0072 2022-10-24 17:08:04 +02:00
Uwe
0678946103 [core] update version number
NOTE: this is purposely version 0.21, despite the release goal is 1.0
Since we issue weekly builds, people might otherwise misunderstand the version

So first when the release goal is reached, FreeCAD becomes version 1.0
2022-06-20 00:56:55 +02:00
Bernd Waibel
c521a9179b Add option to build and install the designer plugin
The patch adds a cmake option BUILD_DESIGNER_PLUGIN, targeted
mainly at package maintainers to allow an easy build and installation
of the FreeCAD designer plugin.

It has been discussed in
https://forum.freecadweb.org/viewtopic.php?f=10&t=67706

Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
2022-04-05 08:08:12 +02:00
wmayer
b64c4da51b CMake: fix possible linker error when using external SMESH 2021-04-01 13:41:14 +02:00
Chris Hennes
13b9127eee Drop build-system support for Qt4 and Python 2
Also increase minimum CMake, GCC, and Clang versions to match
Ubuntu 18.04 LTS. This sets our minimum supported version of the C++
standard to C++17.
2021-03-06 21:10:44 +01:00
wmayer
020e5bc709 CMake: workaround for possibly failing OpenGL check in vtk9 2021-01-21 14:47:50 +01:00
wmayer
300e887480 Handle clang 10 warnings:
+ fix -Wtautological-bitwise-compare
+ fix -Wimplicit-int-float-conversion
+ fix -Wmisleading-indentation
+ fix -Wrange-loop-construct
+ suppress -Wdeprecated-copy of 3rd party libs
2020-05-25 15:34:43 +02:00
wmayer
4d8db6474b Doc: [skip ci] fix check for doxygen 2020-05-11 10:55:47 +02:00
midgetfc
3acc1c667d remove obsolete policy stuff 2020-04-24 13:56:49 +02:00
midgetfc
b66732b266 push cmake minimum version up 2020-04-24 13:56:49 +02:00
donovaly
4a6656d979 add missing version info for Win builds
see https://forum.freecadweb.org/viewtopic.php?f=8&t=43099&p=367607#p367607

automate creation of freecad.rc
as proposed in https://forum.freecadweb.org/viewtopic.php?p=367681#p367681
2020-02-14 14:49:25 +01:00
luz.paz
1c981e8f14 Fix typos and misc. formatting [skip ci]
Found via `codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,currenty,dof,doubleclick,dum,eiter,elemente,feld,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml`
2019-10-21 16:02:23 -03:00
ezzieyguywuf
63c45d3ba4 Move logic out of CMakeLists.txt
This is an initial pass, simply moving the existing logic as-is. Future
PR's will attempt to refactor and improve the cmake stuff.
2019-09-26 18:54:45 +02:00
wmayer
473d98b072 cleanup top-level CMake file 2019-08-25 21:47:31 +02:00
wmayer
218d849355 use GNU directory structure on non-Windows systems 2019-08-22 16:57:11 +02:00
wmayer
7d8c2060a8 do not force CMAKE_INSTALL_LIBDIR to be an absolute path 2019-08-22 16:57:10 +02:00
wmayer
0cc2920862 remove /EHs or /EHsc option only for release builds, add /bigobj to release builds 2019-08-10 14:44:26 +02:00
wmayer
9b3102a701 if SEH option is activated remove compiler flags /EHsc or /EHs to avoid compiler warnings (D9025) 2019-08-02 14:17:38 +02:00
wmayer
9873ec6d52 do not allow Python to re-define snprintf and vsnprintf for VS 2015 or above to fix build failure with boost 1.69 or later 2019-08-02 14:14:37 +02:00
wmayer
cc59222aa0 workaround for a weird behaviour of Shiboken2Config.cmake that may explicitly set CMAKE_BUILD_TYPE to Release 2019-07-31 13:14:21 +02:00
wmayer
08a7eef992 show version info when using external smesh library 2019-07-08 16:54:49 +02:00
luz.paz
9453e68e23 Misc. source comment typo and whitespace fixes
Found via codespell
2019-06-16 20:47:07 +02:00
Tomas Pavlicek
5f0be3cacc Add QtXmlPatterns to CMake lists 2019-06-11 15:46:46 -04:00
Sviatoslav Sydorenko
1405778c27 Fix print function calls in CMakeLists for py3 2019-06-10 16:34:52 +02:00
luz.paz
7c1490c046 Misc. typo and whitespace fixes
Found via `codespell`
2019-05-30 19:56:12 +02:00
wmayer
16727b5e01 add option to force different build directory than source directory 2019-05-26 11:46:04 +02:00
Markus Reitboeck
b9ac1fa236 CMake: generalize start build message
this should work for all generators on all systems
2019-05-26 11:15:24 +02:00
Markus Reitboeck
2a197bc7d4 CMake: no need to set compiler definition _OCC64 twice 2019-05-26 11:04:52 +02:00
Markus Reitboeck
91a2b5da76 CMake: remove dead code
BuildAll.bat was removed with commit daee73a59f
2019-05-26 11:03:25 +02:00
Markus Reitboeck
d3ea5e0328 CMake: fix checking if variable is set
CMake documentation:
https://cmake.org/cmake/help/v3.0/command/if.html
2019-05-26 10:59:34 +02:00
Markus Reitboeck
98210cfc57 CMake: remove dead code
couldn't find DEBUG/RELEASE_MAIN_OUTPUT_PATH anywhere else
2019-05-26 10:43:26 +02:00