Building Libs for Windows Debug Version with VS2017/Qt5.12

Having trouble installing or compiling FreeCAD? Get help here.
User avatar
apeltauer
Posts: 291
Joined: Fri Aug 11, 2017 2:19 pm

Re: Building Libs for Windows Debug Version with VS2017/Qt5.12

Postby apeltauer » Thu Mar 28, 2019 6:49 am

Werner, can we speed up the QWebEnging PR (https://github.com/FreeCAD/FreeCAD/pull/1937) to be merged? Then the start page would work again with Qt5.12.
User avatar
apeltauer
Posts: 291
Joined: Fri Aug 11, 2017 2:19 pm

Re: Building Libs for Windows Debug Version with VS2017/Qt5.12

Postby apeltauer » Thu Mar 28, 2019 8:07 am

Werner, do you know how the netgen stuff works?
I have compiled it, lets say in 3rd party libs folder, then i copied all from the install folder to the libpack (dlls,exe, cmake config files), so good so fare...
Then i got back to FC, running cmake again with BUILD-Fem and BUILD-FEM-NETGEN. Then i compiled the "NETGENPlugin" project. In my output I see that this compiles the whole netgen again. Also it uses the the source code from my 3rd part libs folder see for example

Code: Select all

9>Building Custom Rule D:/FreeCAD_3rd_Part/netgen/netgen/libsrc/visualization/CMakeLists.txt
11>Building Custom Rule D:/FreeCAD_3rd_Part/netgen/netgen/libsrc/stlgeom/CMakeLists.txt
Do we need to pack the whole netgen stuff to the libpack?? The netgen sources are about ~25mb...
User avatar
apeltauer
Posts: 291
Joined: Fri Aug 11, 2017 2:19 pm

Re: Building Libs for Windows Debug Version with VS2017/Qt5.12

Postby apeltauer » Thu Mar 28, 2019 3:33 pm

Updated the libpacks, see
https://github.com/apeltauer/FreeCAD/re ... bPack_12.1

--> the netgen stuff is included, but with absolute paths. This needs to be fixed....
wmayer
Site Admin
Posts: 15732
Joined: Thu Feb 19, 2009 10:32 am

Re: Building Libs for Windows Debug Version with VS2017/Qt5.12

Postby wmayer » Thu Mar 28, 2019 5:08 pm

apeltauer wrote:
Thu Mar 28, 2019 6:49 am
Werner, can we speed up the QWebEnging PR (https://github.com/FreeCAD/FreeCAD/pull/1937) to be merged? Then the start page would work again with Qt5.12.
I will merge it soon. But as it changes a lot of stuff I have to double-check that the old Webkit usage won't be broken.
wmayer
Site Admin
Posts: 15732
Joined: Thu Feb 19, 2009 10:32 am

Re: Building Libs for Windows Debug Version with VS2017/Qt5.12

Postby wmayer » Thu Mar 28, 2019 5:17 pm

Then i got back to FC, running cmake again with BUILD-Fem and BUILD-FEM-NETGEN. Then i compiled the "NETGENPlugin" project. In my output I see that this compiles the whole netgen again. Also it uses the the source code from my 3rd part libs folder see for example
Hmm, I don't see why the NetgenPlugin should rebuild netgen. :?:
Do we need to pack the whole netgen stuff to the libpack?? The netgen sources are about ~25mb...
We need the .lib, .dll, .hpp and optionally .pdb files. Any .cpp files are not needed. Basically it's a good idea to run the INSTALL target of the VS project because this copies all relevant files. However, I can't remember if there is still the bug that not all .hpp files are copied.

Btw, I saw that your netgen build has multiple .dll and .lib files. When I built netgen 6.2 two months ago then I only got two (for debug&release) .lib and .dll files.
User avatar
sgrogan
Posts: 5808
Joined: Wed Oct 22, 2014 5:02 pm

Re: Building Libs for Windows Debug Version with VS2017/Qt5.12

Postby sgrogan » Thu Mar 28, 2019 9:07 pm

apeltauer wrote:
Thu Mar 28, 2019 3:33 pm
--> the netgen stuff is included, but with absolute paths. This needs to be fixed....
FreeCAD needs nglib (not the whole netgen) and the so called netgen headers (these are the .hpp files)

The older 11.x CLbundler libpacks used a netgen/nglib without CMake support, so FreeCAD's https://github.com/FreeCAD/FreeCAD/blob ... TGEN.cmake will find everything without cmake (I'm not suggesting doing it this way) if the directory structure is maintained. I'm downloaded your latest and will add more soon.
User avatar
sgrogan
Posts: 5808
Joined: Wed Oct 22, 2014 5:02 pm

Re: Building Libs for Windows Debug Version with VS2017/Qt5.12

Postby sgrogan » Thu Mar 28, 2019 9:23 pm

apeltauer wrote:
Thu Mar 28, 2019 3:33 pm
--> the netgen stuff is included, but with absolute paths. This needs to be fixed....
In the NetgenConfig.cmake? Where is this located I can't find it?
User avatar
apeltauer
Posts: 291
Joined: Fri Aug 11, 2017 2:19 pm

Re: Building Libs for Windows Debug Version with VS2017/Qt5.12

Postby apeltauer » Fri Mar 29, 2019 5:45 am

sgrogan wrote:
Thu Mar 28, 2019 9:23 pm
apeltauer wrote:
Thu Mar 28, 2019 3:33 pm
--> the netgen stuff is included, but with absolute paths. This needs to be fixed....
In the NetgenConfig.cmake? Where is this located I can't find it?
I meant the cmake files are containing absolute paths,see (FreeCADLibs_12.1.2_x64_VC15\cmake\NetgenConfig.cmake) e.g. line 36

Code: Select all

set(NETGEN_TCL_INCLUDE_PATH "C:/ActiveTcl/include")
wmayer
Site Admin
Posts: 15732
Joined: Thu Feb 19, 2009 10:32 am

Re: Building Libs for Windows Debug Version with VS2017/Qt5.12

Postby wmayer » Sat Mar 30, 2019 9:15 am

I am downloading the file FreeCADLibs_12.1.2_x64_VC15.7z which I hope is the right one.
Btw, what is the difference between FreeCADLibs_12.1.2_x64_VC15_binary_debug.7z and FreeCADLibs_12.1.2_x64_VC15_bin_debug.7z or FreeCADLibs_12.1.2_x64_VC15_binary_release.7z and FreeCADLibs_12.1.2_x64_VC15_bin_release.7z?
wmayer
Site Admin
Posts: 15732
Joined: Thu Feb 19, 2009 10:32 am

Re: Building Libs for Windows Debug Version with VS2017/Qt5.12

Postby wmayer » Sat Mar 30, 2019 9:54 am

When using FreeCADLibs_12.1.2_x64_VC15 then I got a few warnings:
CMake Warning (dev) at src/Base/CMakeLists.txt:393 (target_link_libraries):
Link library type specifier "debug" is followed by specifier "optimized"
instead of a library name. The first specifier will be ignored.
This warning is for project developers. Use -Wno-dev to suppress it.


CMake Warning (dev) at src/Mod/Path/libarea/CMakeLists.txt:148 (target_link_libraries):
Link library type specifier "optimized" is followed by specifier
"optimized" instead of a library name. The first specifier will be
ignored.
This warning is for project developers. Use -Wno-dev to suppress it.
which apparently is caused by to what the Python libs are set:

Code: Select all

Found PythonLibs: optimized;optimized;optimized;C:/Projects/FreeCADLibs_12.1.2_x64_VC15/bin/libs/python36.lib;optimized;debug;optimized;C:/Projects/FreeCADLibs_12.1.2_x64_VC15/bin/libs/python36_d.lib;debug;C:/Projects/FreeCADLibs_12.1.2_x64_VC15/bin/libs/python36_d.lib (found suitable version "3.6.8", minimum required is "3") 
I didn't have this message with the older libpack but I couldn't by what it's caused in the new version.

Then with your netgen build there is still something wrong because neither ngcore nor nglib links to an OCCT library but it is essential to have OCCT support enabled.