← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Allow OpenCASCADE standard edition

 

Hi Seth,

I just took the patch for a testrun and will state some comments below.

This looks a bit strange:

-- Boost version: 1.66.0
-- -- OpenCASCADE Community Edition has been found.
-- -- Found OCE/OpenCASCADE version: 6.8.0
-- -- OCE/OpenCASCADE include directory:
/opt/oce/lib/oce-0.17/../../include/oce
-- -- OCE/OpenCASCADE shared libraries directory:
-- Check for installed Python Interpreter -- found

The messages are with double -- and the shared libs.

But an improvement with your patch over what is currently in kicad is that
it found OCE on my system without explicitly specifind OCE_DIR. But how do
I make it use OCCT when I also have OCE installed?

What does CADx mean in that header?

What is this about?
-- Looking for
/home/amazingdude/kicad-source-mirror/build_seths_occt_patch_occt/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx
-- Looking for
/home/amazingdude/kicad-source-mirror/build_seths_occt_patch_occt/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx
- not found

I tried to test it with removing oce and just have occt installed and got
something like this:
-- Found OCC: /opt/opencascade/inc (found version "6.9.1")
-- -- Found OCE/OpenCASCADE version: 6.9.1
-- -- OCE/OpenCASCADE include directory: /opt/opencascade/inc
-- -- OCE/OpenCASCADE shared libraries directory: /opt/opencascade/lib

It did not build against community/opencascade 6.9.1-7. I got the following
error in a clean build dir.

$ make kicad2step -j1
[  0%] Linking CXX executable kicad2step
/usr/bin/ld: cannot find -lTKMesh
/usr/bin/ld: cannot find -lTKernel
/usr/bin/ld: cannot find -lTKG2d
/usr/bin/ld: cannot find -lTKG3d
/usr/bin/ld: cannot find -lTKMath
/usr/bin/ld: cannot find -lTKIGES
/usr/bin/ld: cannot find -lTKSTL
/usr/bin/ld: cannot find -lTKXSBase
/usr/bin/ld: cannot find -lTKBin
/usr/bin/ld: cannot find -lTKBO
/usr/bin/ld: cannot find -lTKCDF
/usr/bin/ld: cannot find -lTKBRep
/usr/bin/ld: cannot find -lTKTopAlgo
/usr/bin/ld: cannot find -lTKGeomAlgo
/usr/bin/ld: cannot find -lTKGeomBase
/usr/bin/ld: cannot find -lTKPrim
/usr/bin/ld: cannot find -lTKSTEP
/usr/bin/ld: cannot find -lTKSTEPBase
/usr/bin/ld: cannot find -lTKSTEPAttr
/usr/bin/ld: cannot find -lTKFeat
/usr/bin/ld: cannot find -lTKCAF
/usr/bin/ld: cannot find -lTKXCAF
/usr/bin/ld: cannot find -lTKLCAF
/usr/bin/ld: cannot find -lTKXDESTEP
/usr/bin/ld: cannot find -lTKXDEIGES
collect2: error: ld returned 1 exit status
make[3]: *** [utils/kicad2step/CMakeFiles/kicad2step.dir/build.make:355:
utils/kicad2step/kicad2step] Error 1
make[2]: *** [CMakeFiles/Makefile2:3007:
utils/kicad2step/CMakeFiles/kicad2step.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:3019:
utils/kicad2step/CMakeFiles/kicad2step.dir/rule] Error 2
make: *** [Makefile:979: kicad2step] Error 2

But those libs do existm, searched for the last one;
$ yaourt  -Ql opencascade | grep TKXDEIGES
opencascade /opt/opencascade/lib/libTKXDEIGES.so
opencascade /opt/opencascade/lib/libTKXDEIGES.so.0
opencascade /opt/opencascade/lib/libTKXDEIGES.so.0.0.0

I got these variables set in the CMakeCache

cat CMakeCache.txt  | grep "OCE\|OCC"
KICAD_USE_OCE:BOOL=ON
OCC_INCLUDE_DIR:PATH=/opt/opencascade/inc
OCC_LIBRARY:FILEPATH=/opt/opencascade/lib/libTKernel.so
//The directory containing a CMake configuration file for OCE.
OCE_DIR:PATH=OCE_DIR-NOTFOUND
//Details about finding OCC
FIND_PACKAGE_MESSAGE_DETAILS_OCC:INTERNAL=[/opt/opencascade/inc][v6.9.1()]

This is tested on archlinux.

2018-01-29 19:54 GMT+01:00 Seth Hillbrand <seth.hillbrand@xxxxxxxxx>:

> ​Hi All-
>
> Currently, the build requires the opencascade community edition.  For
> various reasons, I need to have the current non-community edition of
> OpenCASCADE installed on my work machine.
>
> The attached patch allows compiling KiCad with either the OpenCASCADE
> community edition or standard edition.
>
> I've tested on a homebrew-based Mac install as well as Linux but haven't
> verified MSW, if someone would be willing to test it there, that would be
> great!  The basic search routines are lightly modified from FreeCAD's logic
> and keep their LGPL copyright on the CMake file.
>
> -Seth​
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References