[CMake] Faking a library

Magnus Therning magnus at therning.org
Wed Oct 16 17:00:23 EDT 2013


When defining a library via add_library() it's possible to link
against it by just putting its name into target_link_libraries().  Is
there some way of wrapping up an external library in a similar way?

As a concrete example I'm playing around with gtest[1] via
externalproject_add() like this:

    externalproject_add(gtest
        SOURCE_DIR ${PROJECT_SOURCE_DIR}/gtest
        BINARY_DIR gtest-build
        INSTALL_COMMAND "" # omit installation
        )

Then to link to it I need to use

    target_link_libraries(test
        -L${CMAKE_BINARY_DIR}/gtest-build -lgtest -lpthread
        )

Is there some way to wrap that all up in a target that I can pass
straight to target_link_libraries()?

Or is my only option to create a variable that expands to those
compiler flags?

/M

[1]: https://code.google.com/p/googletest/

-- 
Magnus Therning                      OpenPGP: 0xAB4DFBA4 
email: magnus at therning.org   jabber: magnus at therning.org
twitter: magthe               http://therning.org/magnus

As we enjoy great advantages from the inventions of others we should
be glad of an opportunity to serve others by any invention of
ours, and this we should do freely and generously.
     -- Benjamin Franklin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://www.cmake.org/pipermail/cmake/attachments/20131016/bf99848a/attachment.pgp>


More information about the CMake mailing list