[CMake] How does :: actually works?

Klaim - Joël Lamotte mjklaim at gmail.com
Thu Jun 11 13:18:55 EDT 2015


On 11 June 2015 at 15:22, Johannes Zarl-Zierl <johannes.zarl-zierl at jku.at>
wrote:

> Hi,
>
> > I tried several times now to find documentation about how to define
> > and use target names which seem to have namespaces, like Qt ones.
> >
> > For example: add_executable( MyProject::some_target ... )
>
> AFAIK target namespaces are intended for imported targets, not "regular"
> targets:
>
> "A NAMESPACE with double-colons is specified when exporting the targets for
> installation. This convention of double-colons gives CMake a hint that the
> name is an IMPORTED target when it is used by downstreams with the
> target_link_libraries() command. This way, CMake can issue a diagnostic if
> the
> package providing it has not yet been found."
> [1]
>
>
> [1]
> http://www.cmake.org/cmake/help/v3.3/manual/cmake-packages.7.html?highlight=namespace
>
>
> I can't find any documentation or even name for this.
> > Is it considered a "namespace"?
> > In any way I found nothing specific to this syntax in the wiki.
>
> The concept is called "namespace" in cmake, just as you assumed. I don't
> know
> if there's anything about it in the wiki, but the official documentation
> has a
> (very) short description in the cmake_packages[1] page, as well as in the
> documentation for the export command.
>

(sorry I was actually thinking about the documentation and typed "wiki")

Thanks, it was not totally clear that the definition of the namespace is
done
in another operation, so I assumed that it was just a local option, not ana
actual language feature,
and simply dismissed it.
Maybe the concept should have it's own section?
There is no mention of this in the language page. Or is it really useful
only if you are writing exports?

Anyway thanks, it's clearer now.




>
> Cheers,
>   Johannes
> --
>
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20150611/475f18ae/attachment.html>


More information about the CMake mailing list