[CMake] Scope of imported targets
Bill Hoffman
bill.hoffman at kitware.com
Fri Jul 27 21:20:49 EDT 2012
On 7/27/2012 7:43 PM, James Bigler wrote:
> Is there are particular reason why imported targets don't have global
> scope (doc says current directory and below), but regular targets do
> (seen everywhere)?
>
> This seems really inconsistent to me.
>
> I'm trying to build a custom library from other pieces using my own set
> of commands. I can't use add_custom_target directly since I can't use
> the resulting target in target_link_libraries. I then found a link
> where it suggested to use add_library(IMPORTED) and set the file with
> the results of my custom target. Unfortunately, this library lives in a
> sub directory and it can't be seen outside like the original library
> used to.
>
> Now, I'm kind of stuck. I want a library type target, but IMPORTED
> doesn't provide the correct scoping (i.e. global).
>
This was fixed in 2.8.8
- Optionally allow IMPORTED targets to be globally visible
Something like this:
add_library(${lib} SHARED IMPORTED GLOBAL)
-Bill
More information about the CMake
mailing list