Nick, as always, thanks for the detailed helpful comments. To specify the installation, we will need to set -DOCC_LIBRARY_DIR and -DOCC_INCLUDE_DIR. That works on my machine and the docker file.
I'll implement your suggestions and give people another few days to test if they're interested in this topic before merging. Best- Seth 2018-03-18 15:57 GMT-07:00 Nick Østergaard <oe.n...@gmail.com>: > Hi Seth, > > I tried to test your patch. It bascially works. Some observations follows: > > I think the message printed from cmake > "from /opt/oce/lib/libTKernel.so I found /opt/oce/lib" > should be removed from the output, it looks liek a debug message to me. I > guess the same information is available in the CMakeCache.txt if needed > later on. > > It defaults to OCE as expected, builds, and runs. > > If I remove OCE it will find my normal opencascade installation, builds > and runs. > > I think it also did use OCC if I set KICAD_USE_OCC=ON, where it built and > ran fine. But when this happens I still see KICAD_USE_OCE=ON in the cache. > This might be ok, but could be confusing. > > I canẗ make it use an alterntive install location of OCC, I tried to set > OCC_INCLUDE_DIR=/opt/opencascade7/inc. This fails. What variable do I > need to set to select another version of opencascade? > > I tested this on archlinux. I think it could be improved to be less > errorprone, but could possibly be comitted as is if that debug log is > removed. It seems to work fine if you are not switching between OCE and OCC > in the same build dir, that is, a clean config. > > Nick > > > 2018-03-17 0:51 GMT+01:00 Nick Østergaard <oe.n...@gmail.com>: > >> Thank you very much, I will try to remember it after the weekend. >> >> 2018-03-17 <20%2018%2003%2017> 0:46 GMT+01:00 Seth Hillbrand < >> seth.hillbr...@gmail.com>: >> >>> Hi Nick- >>> >>> I finally found a moment to figure out Docker and get this up and >>> running in your build configuration. >>> >>> Please take a look when you have a chance and let me know if you have >>> any issues with this patch. >>> >>> Best- >>> Seth >>> >>> 2018-02-10 <20%2018%2002%2010> 7:12 GMT-08:00 Seth Hillbrand < >>> seth.hillbr...@gmail.com>: >>> >>>> Nick was having an unknown issue but I haven't heard back from him on >>>> whether the issue was resolved by doing a clean cmake. If it isn't then >>>> I'll need to address that. >>>> >>>> Nick did you have a chance to test that? >>>> >>>> -S >>>> >>>> 2018-02-10 <20%2018%2002%2010> 6:18 GMT-08:00 Wayne Stambaugh < >>>> stambau...@gmail.com>: >>>> >>>>> Seth, >>>>> >>>>> What is the current status of this patch? I would like to get it >>>>> merged >>>>> before rc1 so the package devs can test it. >>>>> >>>>> Cheers, >>>>> >>>>> Wayne >>>>> >>>>> On 01/30/2018 02:12 PM, Seth Hillbrand wrote: >>>>> > Nick- >>>>> > >>>>> > Thanks for the test. I'm attaching revised patch that allows >>>>> multiple >>>>> > OpenCASCADE installations on a single machine. >>>>> > >>>>> > I've tested with a few different OpenCASCADE versions down to 6.8 >>>>> with >>>>> > no issues installed alongside OCE 0.17. You can choose which you >>>>> want >>>>> > to link by using either "-DKICAD_USE_OCE" or "-DKICAD_USE_OCC". If >>>>> both >>>>> > are specified, "-DKICAD_USE_OCC" will override. >>>>> > >>>>> > I corrected the cmake message display to be less doubled and >>>>> correctly >>>>> > show the library location. >>>>> > >>>>> > I've also added the OCC version and type to the about window version >>>>> info. >>>>> > >>>>> > The "Based on" line was taken from >>>>> > (https://github.com/FreeCAD/FreeCAD/blob/master/src/FCConfig.h) when >>>>> > trying to determine how FreeCAD likes to refer to themselves. The >>>>> > actual FindOpenCascade.cmake file did not have a copyright header >>>>> > attached but falls under the license from >>>>> > (https://github.com/FreeCAD/FreeCAD/blob/master/COPYING). I note >>>>> that I >>>>> > had it written as "FreeCAD CADx development system". I've corrected >>>>> > this to read "FreeCAD CAx development system". >>>>> > >>>>> > I'm not sure to what the "CheckSymbolExists" line is referring. I >>>>> don't >>>>> > see it on my machine. >>>>> > >>>>> > -Seth >>>>> > >>>>> > 2018-01-29 14:30 GMT-08:00 Nick Østergaard <oe.n...@gmail.com >>>>> > <mailto:oe.n...@gmail.com>>: >>>>> > >>>>> > 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_patc >>>>> h_occt/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx >>>>> > -- Looking for >>>>> > /home/amazingdude/kicad-source-mirror/build_seths_occt_patc >>>>> h_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.hillbr...@gmail.com >>>>> > <mailto:seth.hillbr...@gmail.com>>: >>>>> > >>>>> > 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 >>>>> > <https://launchpad.net/~kicad-developers> >>>>> > Post to : kicad-developers@lists.launchpad.net >>>>> > <mailto:kicad-developers@lists.launchpad.net> >>>>> > Unsubscribe : https://launchpad.net/~kicad-developers >>>>> > <https://launchpad.net/~kicad-developers> >>>>> > More help : https://help.launchpad.net/ListHelp >>>>> > <https://help.launchpad.net/ListHelp> >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > _______________________________________________ >>>>> > Mailing list: https://launchpad.net/~kicad-developers >>>>> > Post to : kicad-developers@lists.launchpad.net >>>>> > Unsubscribe : https://launchpad.net/~kicad-developers >>>>> > More help : https://help.launchpad.net/ListHelp >>>>> > >>>>> >>>>> _______________________________________________ >>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>> Post to : kicad-developers@lists.launchpad.net >>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>> More help : https://help.launchpad.net/ListHelp >>>>> >>>> >>>> >>> >>> _______________________________________________ >>> Mailing list: https://launchpad.net/~kicad-developers >>> Post to : kicad-developers@lists.launchpad.net >>> Unsubscribe : https://launchpad.net/~kicad-developers >>> More help : https://help.launchpad.net/ListHelp >>> >>> >> >
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp