CMake project naming scheme
Project name
- All uppercase for abbreviations (
FLAC
) and camel case for others (SndFile
)? Is this correct? - Should we drop
lib
prefix (libsndfile
toSndFile
)?
Target name
- When we have library and executable targets with the same name, how should we name it to avoid name clashes?
Imported targets
I think it is very important and should be explained in documentation. When i add package config file generation, it is much better to know rules how to name it. Currently i create Ogg::Ogg
target in FindOgg.cmake
module of SndFile
project. But Ogg
developers may choose different name, e.g. Ogg::ogg
.
- Namespace is the same as project name?
- How to construct imported library name part? The same as library target name (
SndFile::sndfile
)? Or it should be camel case with uppercase for abbreviations?