Re: [CMake] INSTALL(EXPORT) does not honor LINK_INTERFACE_LIBRARIES?

2011-04-03 Thread Michael Hertling
On 04/02/2011 10:52 AM, Rolf Eike Beer wrote: Am Donnerstag, 31. März 2011, 15:26:31 schrieb Brad King: On 03/31/2011 09:14 AM, Rolf Eike Beer wrote: See below. Looks like the only way to prevent this is to set LINK_INTERFACE_LIBRARIES to empty for every lib that uses the static lib. Which

Re: [CMake] INSTALL(EXPORT) does not honor LINK_INTERFACE_LIBRARIES?

2011-03-31 Thread Rolf Eike Beer
Michael Hertling wrote: On 03/30/2011 03:14 PM, Rolf Eike Beer wrote: [...] Only adding INSTALL(TARGETS privstatic EXPORT myexport DESTINATION trash) made CMake complete successfully, resulting in the static stuff showing up in the export, too. Could you provide a minimal but complete

Re: [CMake] INSTALL(EXPORT) does not honor LINK_INTERFACE_LIBRARIES?

2011-03-31 Thread Brad King
On 03/31/2011 09:14 AM, Rolf Eike Beer wrote: See below. Looks like the only way to prevent this is to set LINK_INTERFACE_LIBRARIES to empty for every lib that uses the static lib. Which may be a good idea anyway as that transitive linking is harmful. CMake has always done said transitive

Re: [CMake] INSTALL(EXPORT) does not honor LINK_INTERFACE_LIBRARIES?

2011-03-30 Thread Michael Hertling
On 03/29/2011 11:36 PM, Rolf Eike Beer wrote: Am Dienstag, 29. März 2011, 09:41:36 schrieb Brad King: On 03/29/2011 05:19 AM, Rolf Eike Beer wrote: The basic idea is: any symbols from those private libraries are, well, private. The user only ever sees the symbols from the public library. In

Re: [CMake] INSTALL(EXPORT) does not honor LINK_INTERFACE_LIBRARIES?

2011-03-30 Thread Rolf Eike Beer
On 03/29/2011 11:36 PM, Rolf Eike Beer wrote: Am Dienstag, 29. März 2011, 09:41:36 schrieb Brad King: On 03/29/2011 05:19 AM, Rolf Eike Beer wrote: The basic idea is: any symbols from those private libraries are, well, private. The user only ever sees the symbols from the public library. In

Re: [CMake] INSTALL(EXPORT) does not honor LINK_INTERFACE_LIBRARIES?

2011-03-30 Thread Michael Hertling
On 03/30/2011 02:02 PM, Rolf Eike Beer wrote: However, I still don't understand the relation of that transitive linking and its avoidance, respectively, to your initial complaint about CMake's error message due to the missing library in another library's export set. Unless I'm mistaken,

Re: [CMake] INSTALL(EXPORT) does not honor LINK_INTERFACE_LIBRARIES?

2011-03-30 Thread Rolf Eike Beer
On 03/30/2011 02:02 PM, Rolf Eike Beer wrote: However, I still don't understand the relation of that transitive linking and its avoidance, respectively, to your initial complaint about CMake's error message due to the missing library in another library's export set. Unless I'm mistaken,

Re: [CMake] INSTALL(EXPORT) does not honor LINK_INTERFACE_LIBRARIES?

2011-03-30 Thread Michael Hertling
On 03/30/2011 03:14 PM, Rolf Eike Beer wrote: On 03/30/2011 02:02 PM, Rolf Eike Beer wrote: However, I still don't understand the relation of that transitive linking and its avoidance, respectively, to your initial complaint about CMake's error message due to the missing library in another

Re: [CMake] INSTALL(EXPORT) does not honor LINK_INTERFACE_LIBRARIES?

2011-03-29 Thread Michael Hertling
On 03/28/2011 02:51 PM, Rolf Eike Beer wrote: I try to do an INSTALL(EXPORT) to allow others to link against one of my libraries. That libraries is linked against some other internal libraries the target's don't need to link to as everything in them is purely internal. I tried something

Re: [CMake] INSTALL(EXPORT) does not honor LINK_INTERFACE_LIBRARIES?

2011-03-29 Thread Rolf Eike Beer
On 03/28/2011 02:51 PM, Rolf Eike Beer wrote: I try to do an INSTALL(EXPORT) to allow others to link against one of my libraries. That libraries is linked against some other internal libraries the target's don't need to link to as everything in them is purely internal. I tried something

Re: [CMake] INSTALL(EXPORT) does not honor LINK_INTERFACE_LIBRARIES?

2011-03-29 Thread Brad King
On 03/29/2011 05:19 AM, Rolf Eike Beer wrote: The basic idea is: any symbols from those private libraries are, well, private. The user only ever sees the symbols from the public library. In fact he _can't_ even link to the private libraries on Windows as we never install the .lib files. And

Re: [CMake] INSTALL(EXPORT) does not honor LINK_INTERFACE_LIBRARIES?

2011-03-29 Thread Rolf Eike Beer
Am Dienstag, 29. März 2011, 09:41:36 schrieb Brad King: On 03/29/2011 05:19 AM, Rolf Eike Beer wrote: The basic idea is: any symbols from those private libraries are, well, private. The user only ever sees the symbols from the public library. In fact he _can't_ even link to the private

Re: [CMake] INSTALL(EXPORT) does not honor LINK_INTERFACE_LIBRARIES?

2011-03-28 Thread Rolf Eike Beer
You still need to install that lib even if it is not used by 3rd party application, it is used inernally by your own application. INSTALL(TARGETS publiclib privatelib...) The private libraries are of course installed. If I link against that installed public library by hand everything works