01:19.13 |
*** join/#brlcad infobot
(ibot@rikers.org) |
01:19.13 |
*** topic/#brlcad is BRL-CAD
and open source CAx discussion ! Also @ http://brlcad.zulipchat.com !
Logs @ http://infobot.rikers.org/%23brlcad/ |
03:07.25 |
starseeker |
DenisP: there are examples in share/db in the
BRL-CAD build directory |
03:07.53 |
DenisP |
Okay, thanks, I will check it out. |
03:08.50 |
starseeker |
they run from simple to complex, although
there aren't any that are really big by modern cad
standards |
03:25.35 |
brlcad |
DenisP: that looks like a fantastic scattering
of random primitives! |
03:27.32 |
brlcad |
try havoc.g (havoc object) or tank_car.g
(tank_car and track objects together) |
03:28.06 |
starseeker |
brlcad: yeah, r70782 removed the
CMAKEFILES(${public_hdrs}) call - that was the call that let the
CMake build know about the header files |
03:34.14 |
starseeker |
brlcad: it's probably my fault - I was trying
to reduce the dependency on the _<command> overriding
mechanism in our build after I found out it wasn't originally
intended to be a supported feature, so the raw CMake commands no
longer append automatically to the cmakefiles list |
03:34.47 |
starseeker |
brlcad: most of the time it is handled either
by our target function wrappers or by the src/other file
lists |
03:35.19 |
starseeker |
the headers are one of a few cases where that
change necessitated an explicit call to CMAKEFILES |
03:38.11 |
starseeker |
IIRC, it's functionally similar to the
autotools EXTRA_DIST feature... |
03:39.11 |
starseeker |
probably silly to worry about that mechanism,
since we do still fundamentally need it for several
things |
03:39.19 |
brlcad |
hm, yeah I recall the header change but didn't
associate cmakefiles with doing that (or needing to do
that) |
03:40.35 |
starseeker |
may have been accidentally removed - looks
like I stuck it after the list, and if it's the cmake version of
EXTRA_DIST it should probably go at the bottom of the
CMakeLists.txt file... |
03:40.50 |
brlcad |
diff with extra_dist being you never had to
extra_dist something the build knew something about -- it there no
way to get a list of install() files? |
03:41.29 |
brlcad |
something with the install manifest file
maybe |
03:41.55 |
starseeker |
obviously CMake knows about it internally, but
I don't recall it being exposed to the user in CMake script
land |
03:42.28 |
starseeker |
it was related to the discussions a few years
ago triggered by their wondering why we were overriding with the
_<function> mechanism |
03:42.50 |
starseeker |
I did get one patch in, but by itself it
wasn't enough and the other changes stalled out |
03:43.17 |
brlcad |
definitely mistakenly removed -- now seeing
the patch, I remember thinking that was probably even a mistake
since we only CMAKEFILES() in other dirs things that don't get
installed/built, at least that was the notion |
03:43.51 |
starseeker |
nods - that was a reasonable
though given our past behavior |
03:44.43 |
starseeker |
is open to revisiting those
changes - there's no point in moving away from that mechanism
unless in preparation to be fully "clean" of the _function
mechanism, and we can't without some work on the CMake
side |
03:45.20 |
starseeker |
among other things, our comprehensive logging
and target lists still need it |
03:46.44 |
starseeker |
would like to make the CMake
changes, but that's about ~306 on the TODO list... |
03:47.18 |
brlcad |
we directly call install() in surprisingly few
places |
03:47.20 |
starseeker |
not to mention the subsequent wait for the
necessary version to become standard or bundling CMake... |
03:47.44 |
starseeker |
nods - I think that was what
decided me to go ahead and remove the CMAKEFILES call from the
function override |
03:48.20 |
starseeker |
but should have been discussed - your
expectation with r70782 was completely reasonable given past
behavior |
03:49.32 |
starseeker |
it's relatively rare for us to call raw
install because usually things going into the install dir also need
to go into the build dir (to get the "build dir matches install dir
layout" effect) |
03:50.02 |
brlcad |
what about using the install_manifest.txt
file |
03:50.22 |
starseeker |
that's managed by our wrappers - in principle
we should also put the headers in the appropriate locations in the
build dir, but since there aren't any runtime requirements we don't
bother currently |
03:50.46 |
starseeker |
(it is a problem if an external program wants
to target a build dir for compilation, but I think that's
rare...) |
03:51.23 |
starseeker |
I think install_manifest.txt only gets
generated at the end of the CMake run, which is too late |
03:54.29 |
starseeker |
we need to know in time to define the scripts
for the distcheck logic |
03:55.15 |
brlcad |
but the scripts could just read the
file |
03:55.41 |
starseeker |
that's a possibility |
03:56.10 |
starseeker |
I hadn't considered that in the original
design |
03:57.03 |
brlcad |
that would eliminate the need for any
cmakefiles() on anything installed -- only on things not built and
not installed |
03:57.21 |
starseeker |
nods - which would match the
EXTRA_DIST behavior? |
03:58.51 |
starseeker |
I'm not seeing an install_manifest.txt
file... |
04:00.13 |
starseeker |
looks like cmake_install.cmake files |
04:02.06 |
starseeker |
ah ha! - there's the magic bit I was talking
about earlier - file(RPATH_CHANGE ...) ! |
04:03.17 |
starseeker |
and that's probably why that trick can't be
worked on 3rd party libs - it looks like the OLD_RPATH has to match
the string length of the new one |
04:04.06 |
starseeker |
so any build we did of an ExternalProject
where we wanted to suck in the output and manage it we'd have to
make sure their build did the same thing as CMake for
rpath |
04:04.28 |
brlcad |
looks like install_manifest.txt is not written
until after install |
04:05.11 |
starseeker |
might be able to suck up all the
cmake_install.cmake files and hunt up the paths, but that could be
a bit of a messy parsing job... |
04:06.11 |
brlcad |
the rpath failures I run into happen on our
own libs |
04:06.56 |
starseeker |
so "/usr/brlcad/dev-7.27.0/lib:$ORIGIN/../lib"
must not be the right form somehow |
04:07.07 |
starseeker |
(for Linux anyway - I know Mac is
different) |
04:07.16 |
brlcad |
agua:.build morrison$ bin/mged |
04:07.17 |
brlcad |
dyld: Library not loaded:
@rpath/libtermio.20.dylib |
04:07.30 |
brlcad |
not the best example |
04:07.44 |
starseeker |
so @rpath isn't the right choice? |
04:09.30 |
starseeker |
hmm... that wouldn't work regardless - it
either needs to know about the lib subpath from that location, or
../lib if it's treating ./bin as the rpath |
04:11.33 |
starseeker |
brlcad: in misc/CMake/RPath_Setup.cmake we set
CMAKE_INSTALL_RPATH for APPLE - is that wrong? |
04:11.58 |
starseeker |
notes we're using a semicolon
isntead of a colon for a path separator in the APPLE
case... |
04:16.19 |
brlcad |
i'm not familiar with what exactly is
conventional, only that there are several possible ways it can be
set up |
04:16.28 |
brlcad |
lots of ways for it to not work ;) |
04:16.52 |
starseeker |
<snort> - sounds like opengl |
04:17.24 |
brlcad |
from what little I know, if @rpath is going to
be used, then the rpath has to be set the right way to find the
resource |
04:17.57 |
brlcad |
typically setting something like
@executable_path/../lib |
04:18.20 |
starseeker |
nods - I think that's why we
tried @loader_path |
04:19.03 |
starseeker |
but your binary showed @rpath -
surprising |
04:19.21 |
starseeker |
unless that's from the build dir |
04:22.02 |
starseeker |
fwiw: https://cmake.org/Wiki/CMake_RPATH_handling |
04:22.02 |
gcibot |
[ CMake RPATH handling - KitwarePublic
] |
05:00.50 |
*** join/#brlcad gabbar1947
(uid205515@gateway/web/irccloud.com/x-zjxnvizrlcgajpdb) |
06:57.59 |
*** join/#brlcad teepee
(~teepee@unaffiliated/teepee) |
08:35.44 |
*** join/#brlcad KimK
(~KimK@2001:579:d00c:800:4509:5129:54cd:48d0) |
08:40.52 |
*** join/#brlcad merzo
(~merzo@165-43-133-95.pool.ukrtel.net) |
13:33.10 |
*** join/#brlcad teepee
(~teepee@unaffiliated/teepee) |
13:45.56 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
13:47.48 |
*** join/#brlcad yorik
(~yorik@2804:431:f720:76fa:290:f5ff:fedc:3bb2) |
14:06.31 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
16:38.42 |
*** join/#brlcad gabbar1947
(uid205515@gateway/web/irccloud.com/x-gyoymffsqdqwtyzp) |
16:53.42 |
*** join/#brlcad DenisP
(d40d70a2@gateway/web/freenode/ip.212.13.112.162) |
20:37.40 |
*** join/#brlcad LordOfBikes
(~armin@dslb-088-066-130-164.088.066.pools.vodafone-ip.de) |
22:57.01 |
*** join/#brlcad Lletfrix
(96f417fc@gateway/web/freenode/ip.150.244.23.252) |
23:01.08 |
*** join/#brlcad Radicarian
(~Radicaria@cpe-72-231-246-183.buffalo.res.rr.com) |
23:30.29 |
*** join/#brlcad Notify
(~notify@104.225.5.10) |
23:33.27 |
*** join/#brlcad Notify
(~notify@104.225.5.10) |
23:38.37 |
Notify |
03BRL-CAD:starseeker * 70716
brlcad/trunk/src/nirt/main.cxx: Ah, that's right - we need to help
bu_brlcad_root out explicitly. |
23:39.16 |
Notify |
03BRL-CAD:starseeker * 70710
brlcad/trunk/regress/CMakeLists.txt: Add depends_list not just to
overall regress target but to the specific regression target in
question as well. |
23:39.26 |
Notify |
03BRL-CAD:starseeker * 70713
brlcad/trunk/src/nirt/main.cxx: right, jumps don't like crossing
initializations... |
23:40.17 |
Notify |
03BRL-CAD:starseeker * 70712
brlcad/trunk/src/nirt/main.cxx: initialize |
23:55.42 |
Notify |
03BRL-CAD:starseeker * 70719
brlcad/trunk/src/libanalyze/nirt.cxx: don't report gaps with
gap_los <= 0 |
23:55.52 |
Notify |
03BRL-CAD:starseeker * 70720
brlcad/trunk/regress/nirt.sh: Ah, that's what the GAP bits were in
the regression diff - zero length reporting. |
23:56.23 |
Notify |
03BRL-CAD:starseeker * 70721
brlcad/trunk/src/libanalyze/nirt.cxx: start stubbing in nirt diff
command |
23:56.27 |
Notify |
03BRL-CAD:starseeker * 70722
brlcad/trunk/src/libanalyze/nirt.cxx: allow comments |