OpenAssetIO / OpenAssetIO

An open-source interoperability standard for tools and content management systems used in media production.
Apache License 2.0
283 stars 31 forks source link

Consistent CMake coding standards across projects #1207

Open feltech opened 10 months ago

feltech commented 10 months ago

Ensure CMake style is consistent across projects. Note that linting is handled in a separate issue: #1132

This may involve building out a common set of CMake utilities.

But more likely just means that similar CMake tasks are accomplished in a similar way across projects, so that it's easier to grok one project given familiarity with another, and easier to copy-paste and customise snippets from one project to another.

elliotcmorris commented 4 months ago

Our cmake is a deliverable because people need to build elements of the ecosystem, often together, to suit whatever workflow they're going for.

feltech commented 1 month ago

Inconsistent styling does come up in reviews too e.g. https://github.com/OpenAssetIO/OpenAssetIO/pull/1348#discussion_r1678140343

Perhaps cmake-lint can enforce more than we've currently got it configured for?

Otherwise we can at least document as part of our style guide, so we can point to it when it comes up in a review.