> If your trees are so huge or import so many other third-party projects that 
> name collisions are a problem

They are. I'm predicting possible collisions, but it's ok for now.

> ... ExternalProject.

Not much suitable.

---

Ok, I'll try to do some workarounds. Thanks for the replies.

On 12 December 2016 at 20:02, Brad King <brad.k...@kitware.com> wrote:
> On 12/12/2016 11:35 AM, Egor Pugin wrote:
>> So, the original proposal is to make ALIAS & OBJECT targets local. And
>> explicit GLOBAL keyword will make them global again.
>
> An OBJECT library is just like any other target as far as the generated
> build system is concerned, so it needs a globally unique name like any
> other.  The purpose of ALIAS targets is this:
>
> ```
> # some/subdir/CMakeLists.txt
> add_library(lib1 lib1.cpp)
> install(TARGETS lib1 EXPORT lib1Export ${dest_args})
> install(EXPORT lib1Export NAMESPACE Upstream:: ${other_args})
> add_library(Upstream::lib1 ALIAS lib1)
> ```
>
> Then other code in the project can use the name `Upstream::lib1` as
> if it had imported that target (e.g. for test trees that may build
> inside the project or externally).  The other code is not necessarily
> in the same directory, so the global visibility of ALIAS targets is
> an intentional design decision.  Since the aliased target has a globally
> unique name, so would the ALIAS if it is only used to prefix a namespace.
>
> If your trees are so huge or import so many other third-party projects
> that name collisions are a problem, then I suggest breaking it down
> using ExternalProject.
>
> -Brad



-- 
Egor Pugin
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Reply via email to