[CMake] Globally Set Target Properties

Schuchard, Matthew Matthew.Schuchard at gtri.gatech.edu
Mon Nov 7 11:14:51 EST 2011


Thanks for the response.

Actually, that is what I want to do:

"> Specifically, I need to remove the prefix "lib" from all statically
> linked libraries I build."

Also, I do not have to specify full paths to libraries I link to because of the CMAKE_STATIC_LIBRARY_PREFIX command I had mentioned in the initial message.
Do you know if is possible to set global properties of targets like I am trying to?

From: Schuchard, Matthew
Sent: Monday, November 07, 2011 11:06 AM
To: Schuchard, Matthew
Subject: Globally Set Target Properties

On 11/07/2011 04:15 PM, Schuchard, Matthew wrote:
> I am trying to globally set target properties for an entire configuration.
>
> Specifically, I need to remove the prefix "lib" from all statically
> linked libraries I build.
>
>
>
> I already used CMAKE_STATIC_LIBRARY_PREFIX "" such that all libraries I
> explicitly link to will not have CMake search for libraries of format
> "libfoo.a" but rather "foo.a" when I specify "foo."
>
>
>
> However, I cannot seem to globally specify that all target libraries
> which are statically linked which I build have the prefix removed.
>
>
>
> I have tried set_target_properties with Unix wildcards to no avail.
>
> I have also tried set_property(GLOBAL PROPERTY PREFIX "") and
> set_property(TARGET PROPERTY PREFIX "") which were both unsuccessful (or
> maybe I needed to force the cache, but cache was already an argument in
> the usage statement providing other functionality so I assumed its
> normal functionality as an argument was unavailable).
>
> Could not find any help on Google either.
>
>
>
> There is also the possibility this is impossible to do with CMake, so if
> someone can verify that I would also be appreciative.
>

From: Michael Wild themiwi at gmail.com <mailto:cmake%40cmake.org?Subject=Re%3A%20%5BCMake%5D%20Globally%20Set%20Target%20Properties&In-Reply-To=%3C4EB7F7A2.50903%40gmail.com%3E>
Sent: Monday, November 07, 2011 10:56 AM
To: Schuchard, Matthew
Subject: Globally Set Target Properties

These properties apply to targets *create* by CMake, that's not what you
want. In your case, simply specify the absolute path to the library
file. E.g.

target_link_libraries(bar /usr/lib/foo.a)

If you want to use find_library to find these libraries, have a look at
CMAKE_FIND_LIBRARY_PREFIXES.

HTH

Michael

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20111107/e34df660/attachment-0001.htm>


More information about the CMake mailing list