On 07.02.12 08:55:47, justin wrote:
> Hi,
>
> and just in the beginning, I am sorry if this was asked thousands of
> times before, but I wasn't able to find it.
>
> The situation is following
>
> src -- common -- common.c
> |
> ---- a -- a.c
> |
> ---- b -- b.c
>
>
> add_library (a
> ${project_SOURCE_DIR}/common/common
> ${project_SOURCE_DIR}/a/a}
>
> add_library (b
> ${project_SOURCE_DIR}/common/common
> ${project_SOURCE_DIR}/b/b}
>
>
> This results in a double compilation of common.c. One time for liba and
> the other one for libb.
>
> What is the best way to force common.c to be compiled just ones?
If a and b are static libs, create a static lib for the common code and
link both against it. If a and b are shared libs, make the common code a
shared lib too and link a/b against the shared lib.
Andreas
--
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