Commit Graph

186 Commits

Author SHA1 Message Date
Adrian Schröter
1bca53917d Find uic and rcc on openSUSE
openSUSE (and most likely other distributions) is renaming uic and rcc
to avoid file conflicts with Qt4.

Prefer these if they exist
2020-01-27 10:09:15 +01:00
wmayer
0b2b1e3a53 CMake: [skip ci] report which C++ standard is required 2020-01-16 13:53:26 +01:00
howetuft
1666b28836 Change IF(...LESS...) into IF(...VERSION_LESS...) 2020-01-08 15:19:27 +01:00
howetuft
17ed2b196a [Cmake] Update FindPySide2Tools for PySide2 5.14 - issue #4229
Since PySide2 5.14, 'pyside2-rcc' and 'pyside2-uic' have been renamed into plain 'rcc' and 'uic'.
This leads FindPySide2Tools.cmake to no longer find rcc/uic, as reported in bug #4229 (https://www.freecadweb.org/tracker/view.php?id=4229) and prevents compilation.
FindPySide2Tools has been updated accordingly.
2020-01-08 15:19:27 +01:00
looooo
b630772afc python: add option INSTALL_TO_SITEPACKAGES
If INSTALL_TO_SITEPACKAGES is enabled, the freecad-namespace package (freecad/__init__.py) is installed in the python-sitepackage-dir. Further, the library install path (CMAKE_INSTALL_LIBDIR)
is used to find the FreeCAD shared library. If, for some reason, one wants to import another installed FreeCAD version it's possible to set the environment variable "PATH_TO_FREECAD_LIBDIR" to
point to the wanted FreeCAD-library (FreeCAD.so / FreeCAD.dll)
2020-01-07 07:28:25 -03:00
wmayer
ead9c5c670 Build option: do not force PCL to be always enabled on Win32, add option to allow to disable it 2019-11-29 16:15:16 +01:00
wmayer
281a2772f3 Add option to copy required plugins from LibPack to build directory 2019-11-29 13:38:06 +01:00
wmayer
b9fd533cac Fix cmake report to show correct Qt version 2019-11-24 12:36:05 +01:00
wmayer
29cd905134 when using pcl do not allow it to override compiler flags 2019-11-22 14:46:01 +01:00
wmayer
71dae0e639 handle some more warnings: -Wkeyword-macro -Wdeprecated-declarations -Wextra-semi 2019-11-18 11:56:08 +01:00
wmayer
c0a80e1a9a set -Wpedantic for clang 2019-11-17 19:39:01 +01:00
looooo
7222b32cde cmake: pyside2: try other solution 2019-10-21 23:33:26 +02:00
wmayer
e4f8d98079 add new CMake macro generate_from_any and extend PythonToCPP script to create source file from any text file 2019-10-14 22:20:59 +02:00
looooo
3939e4543e cmake: pyside2: we also need headers from shiboken and pyside2 2019-10-05 17:15:29 +02:00
looooo
03a17b1564 cmake: pyside2 config fix 2019-09-28 12:43:28 +02:00
sgrogan
b4846d45b7 Copy files from libpack to build or install directory:
Windows- copy plugins/styles and plugins/printsupport to bin
copy libpack/bin/QtWebEngineProcess.exe and libpack/bin/qt.conf to build/bin
copy assistant.exe to build/bin
2019-09-27 11:09:10 +02:00
wmayer
af2e97da7b clean-up FreeCADLibpackChecks.cmake 2019-09-26 23:42:13 +02:00
ezzieyguywuf
3bc979fbc1 Reverted FreeCadMacros.cmake to what is in master. 2019-09-26 18:55:33 +02:00
ezzieyguywuf
35ef6732ad Cleaned up a debug message and removed legacy file. 2019-09-26 18:55:11 +02: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
7d8c2060a8 do not force CMAKE_INSTALL_LIBDIR to be an absolute path 2019-08-22 16:57:10 +02:00
Tomas Pavlicek
5f0be3cacc Add QtXmlPatterns to CMake lists 2019-06-11 15:46:46 -04:00
wmayer
b7d263e601 make PCL check quiet in case PCLConfig.cmake file is missing 2019-03-31 13:13:54 +02:00
wmayer
6e28178c22 use STATUS in message command as otherwise in the GUI of cmake output will be in red and thus might be confusing 2019-03-31 10:29:00 +02:00
Stian Skjelstad
ddd550c410 Commit 30f395761a "remove unused option FREECAD_MAINTAINERS_BUILD" removed the very last mention eigen2 2019-03-31 10:07:15 +02:00
Stian Skjelstad
3db3197598 If COIN3D is not found with pkg-config, but with manual search, the only output seen on the screen is an error message. Add a success-message! 2019-03-31 10:06:28 +02:00
Stian Skjelstad
f9884c507f When using cMake find_package_handle_standard_args(), we might aswell give it the version number detected aswell 2019-03-31 10:06:14 +02:00
Stian Skjelstad
228102b6e6 Spelling error in variable name, caused the setting to never be applied: SPANV_LIBRARY vs SPNAV_LIBRARY 2019-03-31 10:05:55 +02:00
MA-DEVELOP\apeltauer
64df37ae10 use the pcl cmake config file to configure pcl 2019-03-30 15:51:26 +01:00
Stian Skjelstad
80f82b59db Detection of NETGEN_VERSION is needed if using Netgen package provided cmake file too.
Do not overwrite NETGEN_VERSION that might be cached. Use a new variable instead, NETGEN_VERSION_C.

Use cmake internal system to specify std=c++14, else you can end up with  `c++ -DFOO -std=c++14 -Ibar -std=c++11`, and the latter is used.
2019-01-24 14:52:21 +01:00
Stian Skjelstad
4c38d81d90 Netgen provided cmake file, has the include directories to use in plural.
Netgen provided cmake file, and the internal detection, had different casing
for the _FOUND variable

When detecting the Netgen include-directories, we only want the /include in
addition to the global one. To include a given header file, specify which
part of the library, or use the one from the project/include directory.
2019-01-24 14:52:03 +01:00
Stian Skjelstad
0f03f1e2bb Improve error-message if med.h is not found in CMake, and write all
commands in upper case, following the common syntax
2018-12-24 11:01:39 -02:00
Stian Skjelstad
dccf48d3f4 On my Ubuntu setup, compilation failes when using med.h, since
libmedc is built with openMPI, while freeCAD selects hdf5-serial.

libmed declares functions prototypes which has MPI parameters if
built for openMPI, causing compilation errors. Doing some online
searches reveals that some users manually changes the include-paths
to hdf5-openmpi if this error happens.

This patch tries to autodetect this situation.
2018-12-24 11:01:39 -02:00
Bernd Waibel
a8be139cbc Improve search for coin3d tag file
Currently cmake looks for coin.tag and coin.tag.gz when searching a
tag file of the Coin3D documentation. On some coin3d installations,
the tag file is named Coin.tag or Coin.tag.gz. This patch improves
the search by adding additional hints to the find_file() test for
the tag file.
2018-09-01 20:58:40 +02:00
wmayer
3927a2ed8b reduce compile time after each time cmake configure is executed (Version.h) 2018-08-21 14:06:33 +02:00
wmayer
e5a1a9d35a macro to check for different input and output file and if needed replace output file 2018-08-21 13:52:42 +02:00
wmayer
16295d4121 CMake 2.8.12 and lower allowed the SOURCE signature in add_custom_command
In CMake 3.0 the policy CMP0050 was introduced where it could be set to OLD to keep this behaviour while for NEW an error was raised.
Since CMake 3.5.2 a warning comes up when using the OLD behaviour and that it will be removed in a future version.

In FreeCAD we switched to the new behaviour now and removed the SOURCE signature from add_custom_command which affects the macros
fc_copy_sources, fc_target_copy_resource and fc_target_copy_resource_flat and their usage.
It's not possible any more to add files to a target by using the macros. Now a file must be added to the target before using the macros.

This commit fixes it for Arch, Draft, OpenSCAD, Material, Plot and Ship
2018-08-20 11:47:39 +02:00
wmayer
82b31d50e5 clean up cmake macros add new macro fc_target_copy_resource_flat 2018-08-19 22:54:33 +02:00
wmayer
3ffd435526 move cmake policy CMP0050 to new style 2018-08-19 13:59:42 +02:00
wmayer
fc6e6a55ea fix broken generate_from_xml macro 2018-08-19 13:34:05 +02:00
Peter Lama
c44ade6961 Fix build error on MacOS due to sed command usage
Non GNU sed on macOS expects suffix after -i option (can be empty str).
However, removing the comments from the pyside generated files is not a necessary
operation (presumably done to avoid a diff when no code changed), so simply skip the operation on macOS
2018-08-15 09:13:03 +02:00
Kyrre Sjobak
ff93395221 Give FindNETGEN a path hint so that it ACTUALLY works with the standard Fedora 28 netgen package. 2018-08-12 20:19:01 +02:00
Kyrre Sjobak
e903690e0c Give FindNETGEN a path hint so that it works with the standard Fedora 28 netgen package. 2018-08-12 20:19:01 +02:00
Kyrre Sjobak
9a6dcff1de Give FindMEDFile a path hint so that it works with the standard Fedora 28 med-devel package. 2018-08-12 20:19:01 +02:00
Ryan Pavlik
5f8f268244 Apply equivalent changes to FindPySide2Tools as FindPySideTools.
These are largely matching files, potential to de-duplicate them, but this
just ports the changes over for now.
2018-08-11 17:39:15 +02:00
Ryan Pavlik
bf043fe68f Fix typo in FreeCadMacros.cmake 2018-08-11 17:39:15 +02:00
Ryan Pavlik
f12c4092ab Quote paths used in FindPySideTools.cmake 2018-08-11 17:39:14 +02:00
Ryan Pavlik
75c698d180 Fix policy warning with CMake (regarding "no rules to generate")
Fixed by using add_custom_command instead of execute_process,
with an in-place sed command included to strip timestamp just like
previous code.
2018-08-11 17:39:13 +02:00
Ryan Pavlik
b844589cf5 Clean up and make FindPySideTools CMake module more robust 2018-08-11 17:39:13 +02:00
Ryan Pavlik
cf79125dd6 Add fc_target_copy_resource/fc_copy_sources build message
Includes optional verbosity param for tracking down "two rules for..."
ninja/etc warnings.
2018-08-11 17:39:13 +02:00