Re: [cmake-developers] How does CMake know when to use the rpath option in the build tree with a combination of static internal and shared external libraries?

2019-02-09 Thread Alan W. Irwin

On 2019-02-08 15:19-0800 Alan W. Irwin wrote:


So all is well with that C example, but I would like to know *how*
CMake knew (for the build tree case) that the rpath option was needed.


Having thought some more about this, I now assume the CMake build-tree
algorithm is if the library is specified with a full path, and that
location is non-standard use rpath/runpath (regardless of whether the
the library referred to sets rpath/runpath or not).  And I have also
confirmed from several different web sources that the internal
property rpath is transitive while the internal propery runpath is
non-transitive.  So I assume for linkers (such as the one for Debian
Testing) that transform external -rpath options to runpath internally,
it is no longer possible to be quite so sloppy, i.e., it is best to
specify the rpath option following the normal transitive (e.g., for
static internal libraries) and non-transitive (e.g., for shared
external libraries) rules that are used for linking. But could someone
here please confirm (or correct) these assumptions?

Once I have the requested confirmation of my assumptions (or else a
set of corrected assumptions) from someone here, then I think it
should be straightforward for me to deal with the peculiar static
OCaml case where I have discovered that internal runpath (for Debian
Testing) versus internal rpath (for Debian Jessie) appears to make a
crucial difference.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers


[Cmake-commits] CMake branch, master, updated. v3.14.0-rc1-36-ge7d3197

2019-02-09 Thread Kitware Robot via Cmake-commits
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, master has been updated
   via  e7d319714d3b45bf6ce94cab04fc4cc6f20032eb (commit)
  from  2f2295ec9ec35632b89213ed857e3bae4398f998 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e7d319714d3b45bf6ce94cab04fc4cc6f20032eb
commit e7d319714d3b45bf6ce94cab04fc4cc6f20032eb
Author: Kitware Robot 
AuthorDate: Sun Feb 10 00:01:05 2019 -0500
Commit: Kitware Robot 
CommitDate: Sun Feb 10 00:01:05 2019 -0500

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 7487622..3f20777 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,5 +1,5 @@
 # CMake version number components.
 set(CMake_VERSION_MAJOR 3)
 set(CMake_VERSION_MINOR 14)
-set(CMake_VERSION_PATCH 20190209)
+set(CMake_VERSION_PATCH 20190210)
 #set(CMake_VERSION_RC 1)

---

Summary of changes:
 Source/CMakeVersion.cmake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
https://cmake.org/mailman/listinfo/cmake-commits


[CMake] OBJECT libraries getting fully support?

2019-02-09 Thread Paul Smith
Hi all;

I saw an email to the list from Chuck Atkins in the summer of 2017
suggesting that OBJECT libraries were being enhanced and could become
fully-functional libraries hopefully sometime that year.  I'm wondering
if that ever actally happened and if so what release of cmake it was
in, and if not is there still a plan for this sometime?

I'm trying to convert a large and complex cmake environment originally
started in 2007 or so, which uses all old-school cmake facilities, to
use modern cmake methods.

I have a situation where we have a library containing basic methods
which can be implemented multiple ways and different executables use
different implementations.  However these methods are used by all sorts
of static libraries as well.

Since we don't know until executable link time which library to use,
the static libraries cannot depend on the base library: it has to be
listed only in the executable's target_link_libraries.  But of course
because the static libraries use them as well we need the base library
to be listed last (or near last) in the link line else we get undefined
symbols.  Adding the base library to the executable TLL doesn't allow
us to do that.

So I was thinking of making this base library an OBJECT library so it
would always be fully linked but it seems that our version of cmake
doesn't allow an OBJECT library to be used as a normal library and I'd
be reduced to adding lots of generator expressions for it everywhere
which is a huge PITA.

Any ideas on how best to address this situation, if OBJECT libraries
are not supported yet?

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake