[CMake] Couple of library/link questions

Jean-Christophe Fillion-Robin jchris.fillionr at kitware.com
Tue Mar 20 18:54:05 EDT 2012


Hi Olivier,

Assuming you have not set the flag, BUILD_SHARED_LIBS [1] set to TRUE, I
will  consider you are building static libraries. If this last statement is
valid, it seems your approach is the right one.

I would also recommend you to read the following entry:
http://vtk.org/Wiki/CMake_FAQ#Does_CMake_support_.22convenience.22_libraries.3F

Hth
Jc

[1]
http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:BUILD_SHARED_LIBS

On Tue, Mar 20, 2012 at 3:01 PM, Oliver Smith <osmith at playnet.com> wrote:

>  I'm trying to make a CMakeLists for libevent, and had a couple of
> questions that would make it a bit cleaner:
>
> - Other than using a macro to do { add_executable(...)
> target_link_libraries(...) } is there a *clean* way to make everything in
> a subdirectory automatically link a given library?
>
> - The makefiles I'm basing this on build libevent_core.lib,
> libevent_extras.lib and then libevent.lib which is basically the two
> previous libraries merged.
>
> I wanted to do:
>
> ADD_LIBRARY(libevent_core ${CoreSrcFiles})
> ADD_LIBRARY(libevent_extras ${ExtraSrcFiles})
> ADD_LIBRARY(libevent)
> TARGET_LINK_LIBRARIES(libevent libevent_core libevent_extras)
>
> but this generates a warning/error,  listing the two libraries in
> add_library doesn't work either.
>
> So for now I have
>
> ADD_LIBRARY(libevent_core ${CoreSrcFiles})
> ADD_LIBRARY(libevent_extras ${ExtraSrcFiles})
> ADD_LIBRARY(libevent ${CoreSrcFiles} ${ExtraSrcFiles})
>
> but that's clumsy :)
>
> - Oliver
>
>
> --
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>



-- 
+1 919 869 8849
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20120320/78d75ccc/attachment.htm>


More information about the CMake mailing list