# NAME in vtk.module files

**URL:** https://discourse.vtk.org/t/name-in-vtk-module-files/7964
**Category:** Support
**Created:** [March 3, 2022, 10:07am UTC](https://discourse.vtk.org/t/name-in-vtk-module-files/7964 "2022-03-03T10:07:48Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![aborsic](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/a/ed655f/32.png) [@aborsic](https://discourse.vtk.org/u/aborsic)
#### Post date: [March 3, 2022, 10:07am UTC](https://discourse.vtk.org/t/name-in-vtk-module-files/7964/1 "2022-03-03T10:07:48Z")

</div>

Dear All,

I wonder if anybody can shed some light on some doubts I have about the NAME field in vtk.module files.

The documentation at [vtk.module files](https://vtk.org/doc/nightly/html/group__module.html#module-parse-module) says that NAME is the name of the module, and the example uses NAME = VTK::CommonCore

What is the meaning here of the two parts VTK and CommonCore? In the sense, if developing a module external to VTK, should it be named still VTK::MyModule or XXXYYY::MyModule ?

What is the effect of the prefix before “::” ? Does it work like a C++ namespace? In that case does it influence in any manner the source code of the developed new classes?

Thanks for any insight !

Best Regards,

Andrea

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)
#### Post date: [March 4, 2022, 8:32am UTC](https://discourse.vtk.org/t/name-in-vtk-module-files/7964/2 "2022-03-04T08:32:54Z")

</div>

> [@aborsic](#):
>
> What is the effect of the prefix before “::” ?

It is only used by CMake in the target name afaik

> [@](#):
>
> Does it work like a C++ namespace? In that case does it influence in any manner the source code of the developed new classes?

No

@ben.boeckel may know more.

---

<div class="post-metadata">

### Author: ![aborsic](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/a/ed655f/32.png) [@aborsic](https://discourse.vtk.org/u/aborsic)
#### Post date: [March 4, 2022, 1:01pm UTC](https://discourse.vtk.org/t/name-in-vtk-module-files/7964/3 "2022-03-04T13:01:19Z")

</div>

Thank you so much Mathieu.

Out of curiosity, is the double colon :: required ? (I will try compiling with and without …)

Best Regards,

Andrea

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)
#### Post date: [March 4, 2022, 1:56pm UTC](https://discourse.vtk.org/t/name-in-vtk-module-files/7964/4 "2022-03-04T13:56:35Z")

</div>

No, you can not put any :: in your own module.

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.vtk.org/u/ben.boeckel)
#### Post date: [March 4, 2022, 11:30pm UTC](https://discourse.vtk.org/t/name-in-vtk-module-files/7964/5 "2022-03-04T23:30:29Z")

</div>

If you use it, the part before the `::` is the “package”. Since VTK’s CMake package name is “VTK”, it uses that as its prefix and “namespace”.
