← Back to team overview

kicad-developers team mailing list archive

Re: OCE plugin for 3D viewer

 

2016-09-02 23:05 GMT+02:00 Nick Østergaard <oe.nick@xxxxxxxxx>:
> 2016-09-02 23:00 GMT+02:00 Wayne Stambaugh <stambaughw@xxxxxxxxx>:
>> On 9/2/2016 4:28 PM, Nick Østergaard wrote:
>>> 2016-09-02 21:25 GMT+02:00 Wayne Stambaugh <stambaughw@xxxxxxxxx>:
>>>> Cirilo,
>>>>
>>>> Someone still needs to address building oce on msys2.  I just spent way
>>>> too much time building oce from source on msys2.  The oce folks decided
>>>> to ignore CMAKE_INSTALL_PREFIX and use there own install path stuff
>>>> which is is not compatible with the msys2 file system hierarchy.  The
>>>> bad thing is you cannot manually copy the dlls and link stub files to
>>>> the appropriate paths because the generated cmake oce find stuff will
>>>> point to the incorrect paths.  To create PKGBUILD for msys2 will require
>>>> JP's patch to fix long command lengths along with a patch to fix oce's
>>>> install path issues.  If someone else has time to work on this please do.
>>>
>>> As I mentioned earlier, I am trying to address the OCE build for
>>> msys2, but there are some problems, which I don't know if they are
>>> fixed in latest cmake.
>>>
>>> https://github.com/Alexpux/MINGW-packages/pull/1618
>>>
>>> I am just not sure what the best thing to do is for those paths for
>>> _IMPORT_PREFIX in OCE-libraries.cmake and
>>> OCE_INCLUDE_DIRS from OCEConfig.cmake.
>>>
>>> If they are set to windows paths, then it works. But that is not how
>>> they are generated, and it should probably be changed as a post
>>> install step if they need to be hacked like this.
>>
>> Here is the offending code in the main oce CMakeList file:
>>
>
> No. The install is just fine, it is just when you try to build against
> OCE the cmake files have some bad paths. I override the install
> locations in the PKGBUILD. I also don't know why OCE does it like that
> on windows, but as long as I can override it by configuring it via
> cmake arguments I am fine with that so far. No patching needed.
>

Note that the unix paths actually pust in the cmake files
OCE-libraries.cmake and OCEConfig.cmake are actually correct, but I
just think there is a bug in how the msys2 cmake handles them. I mean,
it should work with the unix paths.

>> # Libraries are installed by default in /usr/local/lib on UNIX
>> # based platforms and c:/OCE-VERSION/Win[32|64]/lib on windows based
>> # platforms
>>
>> if(WIN32)
>>         set(_PSUFFIX "Win${BIT}/")
>> else(WIN32)
>>         set(_PSUFFIX "")
>> endif(WIN32)
>>
>> This installs the dlls in ${OCE_INSTALL_PREFIX}/bin/win##/ and the link
>> stubs in ${OCE_INSTALL_PREFIX}/lib/win##/ where ## is either 32 or 64
>> depending on the build.  This probably should be:
>>
>> if(WIN32 AND NOT MINGW)
>>         set(_PSUFFIX "Win${BIT}/")
>> else(WIN32)
>>         set(_PSUFFIX "")
>> endif(WIN32)
>>
>> This would make _PSUFFIX="" which would should install everything in the
>> correct path and generate the correct cmake find files for the package.
>> Why the oce folks don't just use the default cmake install paths is
>> beyond me.  Maybe this is still here for issues with older versions of
>> cmake.
>>
>>>
>>>>
>>>> Thanks,
>>>>
>>>> Wayne
>>>>
>>>> On 9/2/2016 6:22 AM, Cirilo Bernardo wrote:
>>>>> Thanks for the merge and to everyone who's helped out with the
>>>>> cross-platform issues.
>>>>> I've got a new feature branch "kicad-step" with the kicad2step
>>>>> standalone tool if anyone
>>>>> feels like playing with it and providing some feedback.  This is the
>>>>> tool which I plan to
>>>>> make available as an item in the "Export" menu to give KiCad it's own
>>>>> built-in MCAD
>>>>> export.
>>>>>
>>>>> https://code.launchpad.net/~cirilo-bernardo/kicad/+git/kicad-oce
>>>>>
>>>>> The long-term plan is to make this tool a genuine plugin, but the API
>>>>> required for that
>>>>> is turning out to be quite a big job and is currently on hold due to my
>>>>> limited free time.
>>>>>
>>>>> This stand-alone tool makes use of mRoszko's SEXPR parser which is a
>>>>> great tool
>>>>> for making third-party tools that can read KiCad PCB files.
>>>>>
>>>>> - Cirilo
>>>>>
>>>>>
>>>>> On Fri, Sep 2, 2016 at 4:20 PM, Simon Wells <swel024@xxxxxxxxx
>>>>> <mailto:swel024@xxxxxxxxx>> wrote:
>>>>>
>>>>>     just fyi a couple of tips on OSX
>>>>>
>>>>>     Make sure that brew is installing oce-0.17.2 this was only commited to
>>>>>     brew mid august so if its only installing 0.17 (which is broke) then
>>>>>     brew update
>>>>>
>>>>>     add
>>>>>
>>>>>      -DUSE_OCE=ON
>>>>>     -DOCE_DIR=/usr/local/opt/oce/OCE.framework/Versions/0.17/Resources/
>>>>>
>>>>>     to your cmake line and it will be bundled automatically. Tested on rev
>>>>>     38e7deb with no issues.
>>>>>
>>>>>     On Fri, Sep 2, 2016 at 12:13 PM, Chris Pavlina
>>>>>     <pavlina.chris@xxxxxxxxx <mailto:pavlina.chris@xxxxxxxxx>> wrote:
>>>>>     > Okay, this is friggin awesome. I can finally have models of
>>>>>     > *everything*, it's so nice! :)
>>>>>     >
>>>>>     > Sexy PCB shot: https://misc.c4757p.com/12091-motherboard.png
>>>>>     <https://misc.c4757p.com/12091-motherboard.png>
>>>>>     >
>>>>>     > Thanks Cirilo!
>>>>>     >
>>>>>     > On Thu, Sep 01, 2016 at 04:45:33PM -0400, Wayne Stambaugh wrote:
>>>>>     >>
>>>>>     >>
>>>>>     >> On 9/1/2016 4:18 PM, Chris Pavlina wrote:
>>>>>     >> > On Thu, Sep 01, 2016 at 04:10:13PM -0400, Wayne Stambaugh wrote:
>>>>>     >> >> On 9/1/2016 2:29 PM, José Ignacio wrote:
>>>>>     >> >>> On Thu, Sep 1, 2016 at 12:02 PM, Wayne Stambaugh
>>>>>     <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>> wrote:
>>>>>     >> >>>> Sorry it took so long.  I took a look at Cirilo's changes an
>>>>>     it looks
>>>>>     >> >>>> good.  We still need a PKGBUILD file for msys2 with JPs
>>>>>     patch so we
>>>>>     >> >>>> don't have to build oce from source.
>>>>>     >> >>>>
>>>>>     >> >>>> When I merge Cirilo's 3d-plugin branch and I had to create a
>>>>>     commit
>>>>>     >> >>>> message which made me the commit author.  This seems brain
>>>>>     dead to me.
>>>>>     >> >>>> Here is the new commit log entry:
>>>>>     >> >>>>
>>>>>     >> >>>> commit 12c26047bffd54ccbb88348acfe7f653556450da
>>>>>     >> >>>> Merge: fcedef8 b656a81
>>>>>     >> >>>> Author: Wayne Stambaugh <stambaughw@xxxxxxxxx
>>>>>     <mailto:stambaughw@xxxxxxxxx>>
>>>>>     >> >>>> Date:   Thu Sep 1 11:59:44 2016 -0400
>>>>>     >> >>>>
>>>>>     >> >>>>     Merge remote-tracking branch 'cirilo/3d-plugin'
>>>>>     >> >>>>
>>>>>     >> >>>> I really only want to show Cirilo's commit log entries as a
>>>>>     new commit.
>>>>>     >> >>>> WTF! I'm liking git less every time I use it.  What do I
>>>>>     need to do to
>>>>>     >> >>>> get the correct commit history from Cirlo's 3d-plugin branch?
>>>>>     >> >>>>
>>>>>     >> >>>
>>>>>     >> >>> Cirilo's commit history remains intact in the merged branch,
>>>>>     you just
>>>>>     >> >>> need to walk through that branch instead of master when
>>>>>     reading the
>>>>>     >> >>> commit logs. If cirilo's branch was rebased to the current
>>>>>     master you
>>>>>     >> >>> could do a fast-forward merge, which would graft his commits
>>>>>     into the
>>>>>     >> >>> master branch and make his last commit the "new master". In
>>>>>     either
>>>>>     >> >>> case the history is perfectly readable.
>>>>>     >> >>>
>>>>>     >> >>
>>>>>     >> >> Yes but before I got chance to push my branch, Chris pushed a
>>>>>     change so
>>>>>     >> >> when I pulled his changes, git conveniently created yet
>>>>>     another commit
>>>>>     >> >> message.  Do we really want all this extra cruft in the commit
>>>>>     log or do
>>>>>     >> >> we want to rebase against the kicad master?
>>>>>     >> >
>>>>>     >> > Start using git pull --rebase like I suggested earlier, it
>>>>>     would avoid
>>>>>     >> > that.
>>>>>     >> >
>>>>>     >>
>>>>>     >> I pushed Cirilo's OCE changes so hopefully I didn't fsck up the main
>>>>>     >> repo too badly.  Thank you Cirilo for the OCE plugin work.
>>>>>     >
>>>>>     > _______________________________________________
>>>>>     > Mailing list: https://launchpad.net/~kicad-developers
>>>>>     <https://launchpad.net/~kicad-developers>
>>>>>     > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>     > 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
>>>>>     <https://launchpad.net/~kicad-developers>
>>>>>     Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>     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@xxxxxxxxxxxxxxxxxxx
>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>


References