The Great Renaming

The Great Renaming (the traditional name for reorg of directory and lookup info).

See the notes from the meeting, but we have agreement to use snake_case uniformly throughout a project in place of CamelCase or title caps, or other patterns. This would include the name of the repository within the project beman org. Before anyone executes on that part, see Renaming a repository - GitHub Docs which has directions for doing so that will also make sure forwarding is put in place so that clones and URLs continue to work. Github pages are apparently not fixed up, but I don’t think we have any significant assets in those yet?

1 Like

For reference:

  • LibraryName: beman.snake_case
  • Repository Name: smart_pointer/sender_receiver/snake_case
  • Namespace: beman::smart_pointer
  • Deliverable name: libbeman.snake_case.a (-lbeman.smart_pointer)
  • Header: beman/smart_pointer/ ← header prefix (all headers would be snake case)
  • CMake: find_package(beman.smart_pointer)
  • CMake: add_dependency(your_project beman::smart_pointer)
1 Like

I think, in addition, the exported target for a library would be beman::snake_case, which would have a dependency on libbeman.snake_case.a.

Only import and alias targets can use :: as a name. Internally at Bloomberg we tend to not use target namespace for our code, since we have lots of mechanisms for enforcing unique package names, so I don’t have a lot of experience here.

1 Like