Commit Graph

368 Commits

Author SHA1 Message Date
Jackson Oursland
561c1386ee Revert "Build:add maximum cmake compatible version"
This reverts commit 307a4661af.
2025-04-08 12:25:01 -07:00
runzh-crypto
307a4661af Build:add maximum cmake compatible version 2025-04-07 16:55:03 +02:00
Chris Hennes
0d46a72396 CMake: Add policy 0177 to normalize install paths
Also sort policies by number.
2025-02-22 20:48:44 -06:00
Chris Hennes
20e4d25d70 CMake: Adopt policy CMP0144
All-uppercase find_package()
2025-02-22 20:48:44 -06:00
Chris Hennes
84b3f39785 CMake: Set CMP0153 to NEW 2025-02-22 20:48:43 -06:00
Chris Hennes
d127610ccf CMake: Add details about why CMP0148 is needed 2025-02-22 20:48:43 -06:00
Chris Hennes
16ac5f0a50 CMake: Remove old policy 0072 2025-02-22 20:48:43 -06:00
Chris Hennes
7a4e20e7f7 CMake: Add policy CMP0175 2025-02-22 20:48:43 -06:00
bofdahof
6fe40b1fbb CMP0167 re Boost 2025-02-17 10:17:32 -06:00
tritao
9636068460 Base: Move zipios library to 3rdParty folder. 2025-02-14 13:08:28 -06:00
Joao Matos
1eb7468710 CMake: Improve Pivy Coin3D version mismatch checking. 2025-02-10 10:41:47 -06:00
Joao Matos
11af126717 CMake: Use Coin3d CMake target directly if one exists. 2024-12-28 20:49:01 +00:00
Jacob Oursland
027581e367 CMake: modernize to use CMAKE_<LANG>_COMPILER_LAUNCHER for ccache. 2024-12-02 12:24:50 -05:00
Jacob Oursland
354d095787 CMake: emit message when ccache is detected. 2024-11-27 20:24:43 -05:00
Chris Hennes
9de78e27f4 Core: Bump minor version, now 1.1dev 2024-09-13 08:51:27 -05:00
Jacob Oursland
a64fd6babe Version: set development branch back to 'dev' suffix. 2024-09-13 08:51:27 -05:00
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