{ "info": { "author": "Sam Spilsbury", "author_email": "smspillaz@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Build Tools" ], "description": "# Polysquare CMake Linter #\n\n## Status ##\n\n| Travis CI (Ubuntu) | AppVeyor (Windows) | Coverage | PyPI | Licence |\n|--------------------|--------------------|----------|------|---------|\n|[![Travis](https://img.shields.io/travis/polysquare/polysquare-cmake-linter.svg)](http://travis-ci.org/polysquare/polysquare-cmake-linter)|[![AppVeyor](https://img.shields.io/appveyor/ci/smspillaz/polysquare-cmake-linter-935.svg)](https://ci.appveyor.com/project/smspillaz/polysquare-cmake-linter-935)|[![Coveralls](https://img.shields.io/coveralls/polysquare/polysquare-cmake-linter.svg)](http://coveralls.io/polysquare/polysquare-cmake-linter)|[![PyPIVersion](https://img.shields.io/pypi/v/polysquare-cmake-linter.svg)](https://pypi.python.org/pypi/polysquare-cmake-linter)[![PyPIPythons](https://img.shields.io/pypi/pyversions/polysquare-cmake-linter.svg)](https://pypi.python.org/pypi/polysquare-cmake-linter)|[![License](https://img.shields.io/github/license/polysquare/polysquare-cmake-linter.svg)](http://github.com/polysquare/polysquare-cmake-linter)|\n\n## Style Guide ##\n\nPolysquare CMake Linter enforces the following style guide:\n\n### Definitions should be namespaced - `structure/namespace` ###\n\nAll definitions need to be namespaced, including private definitions. CMake\ndoes not complain on symbol collisions which can lead to unexpected behavior.\nPrefer the following form:\n\n function (namespace_public_function ARGUMENTS)\n endfunction ()\n\n macro (_namespace_private_macro ARGUMENTS)\n endmacro ()\n\nThis check will be inert unless `--namespace NS` is passed on the commandline.\n\n### Single space before open-parens - `style/space_before_func` ###\n\nThis is purely aesthetic. In the author's opinion it looks better. Prefer\nthe following:\n\n function_call (ARGUMENTS)\n\ninstead of:\n\n function_call(ARGUMENTS)\n\nThe open-parens should be followed by just a single space.\n\n### Uppercase variable names only - `style/set_var_case` ###\n\nThis is purely aesthetic. Any built-in function that sets a variable must\nhave an uppercase sink argument.\n\n### Uppercase arguments only - `style/uppercase_args` ###\n\nThis is purely aesthetic. Any function or macro definition's arguments must\nonly be uppercase.\n\n### Lowercase definitions only - `style/lowercase_func` ###\n\nThis is purely aesthetic. Any function or macro definition must be lowercase.\n\n### Align arguments to function calls - `style/argument_align` ###\n\nArguments to a function call must be aligned according to either of the\nfollowing rules:\n\nAll function arguments on the same line\n\n function_call (ONE TWO THREE)\n\nAll function arguments on a new line must fall on same line as first arg\n\n function_call (ONE\n TWO\n THREE)\n\nKeyword or non-keyword arguments may appear next to a keyword argument where\nkeyword argument began the line\n\n function_call (KEYWORD_ONE VALUE TWO\n KEYWORD_TWO VALUE THREE)\n\nNon-keyword arguments cannot start a line with values:\n\n # Incorrect\n function_call (ONE\n ${DEREFERENCE} OTHER)\n\nKeyword values may overflow below last keyword value\n\n function_call (KEYWORD_ONE VALUE\n TWO\n KEYWORD_TWO VALUE\n THREE)\n\n### Only use double-quotes - `style/doublequotes` ###\n\nThis is also purely aesthetic. Only double-quotes should be used when using\nquotes to start and end a string. Single quotes can be used internally.\nFor example, the following is valid.\n\n function_call (\"A sample string 'with single quotes' embedded inside\")\n\n### Keep indentation consistent - `style/indent` ###\n\nNested bodies should be indented consistently. This check will be inert unless\n`--indent LEVEL` is passed on the commandline.\n\n### Quote anything that looks like a path - `correctness/quotes` ###\n\nAny \"compound literal\" (that is a literal which consists of characters other\nthan alphanumeric characters) which has slashes in it, or dereferences a\nvariable that ends in the following:\n\n* `PATH`\n* `FILE`\n* `DIR`\n* `DIRECTORY`\n* `HEADER`\n* `SOURCE`\n* `COMMAND`\n\nmust be quoted. For example:\n\n \"${PATH_TO_MY_FILE}\"\n \"${HEADER_FILE_PATH}\"\n \"${CMAKE_COMMAND}\"\n \"${CMAKE_CURRENT_SOURCE_DIRECTORY}\"\n\nThe reason for this is that paths which are separated by spaces may be treated\nas separate arguments when passed down the function call chain and this can\nlead to unintended behavior. This is especially problematic on Windows, where\nthe standard directory layout frequently has directories with spaces in their\nnames.\n\n### Do not have unused private definitions - `unused/private` ####\n\nAny private definition cannot be unused within a module. A private definition\nis any function or macro definition that starts with an underscore. For\nexample, the following definition must be used:\n\n function (_private_function)\n\nThe following definition can remain unused:\n\n function (public_function)\n\n### No have unused-but-set variables within a body - `unused/var_in_func` ###\n\nAny \"body\" (including the body of a function, macro, if, foreach or while\nstatement) must not set a variable and then not use it later. A variable is\nconsidered to be set if it would be assigned a value as a result of calling\na built-in CMake function.\n\n### No unused private variables within a module - `unused/private_var` ###\n\nAny \"private variable\" at the top-level of a module (i.e not within a body)\ncannot be used and then not used later. A variable is considered to be set\nif it would be assigned a value as a result of calling a built-in CMake\nfunction. A variable is considered to be private if it starts with an\nunderscore.\n\n### Don't use other private definitions `access/other_private` ###\n\nA private definition which was not defined in this module cannot\nbe used by this module.\n\n### Don't use other private variables `access/private_var` ###\n\nA private variable which was not defined in this module cannot\nbe used by this module.\n\nThis check tries to be smart about detecting where a private\nvariable was defined in-scope, but it isn't by any means\ncomprehensive. It will only check parent scopes to the extent\nthat those parent scopes exist at a structural level and not\nat a call-tree level.\n\nIn the author's opinion, accessing a variable defined in a\nparent scope by a caller is generally bad practice - such\nvariables should really be passed in as arguments.\n\n## Selectively disabling warnings per-line ##\n\nA warning can be disabled on a line by annotating it with `# NOLINT:`. The\ntext following the colon can either be the name of a specific warning to\ndisable, or a wildcard which disables all warnings on that line. For example:\n\n set (my_variable \"Value\") # NOLINT:style/set_var_case\n function_call(ARGUMENT) # NOLINT:*\n\n## Command line usage ##\n\n usage: polysquare-cmake-linter [-h] [--checks]\n [--whitelist [WHITELIST [WHITELIST ...]]]\n [--blacklist [BLACKLIST [BLACKLIST ...]]]\n [--indent INDENT] [--namespace NAMESPACE]\n [--fix-what-you-can]\n [FILE [FILE ...]]\n\n Lint for Polysquare style guide\n\n positional arguments:\n FILE read FILE\n\n optional arguments:\n -h, --help show this help message and exit\n --checks list available checks\n --whitelist [WHITELIST [WHITELIST ...]]\n list of checks that should only be run\n --blacklist [BLACKLIST [BLACKLIST ...]]\n list of checks that should never be run\n --indent INDENT Indent level\n --namespace NAMESPACE\n Namespace for functions\n --fix-what-you-can", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/polysquare/polysquare-cmake-linter", "keywords": "development linters", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "polysquare-cmake-linter", "package_url": "https://pypi.org/project/polysquare-cmake-linter/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/polysquare-cmake-linter/", "project_urls": { "Homepage": "http://github.com/polysquare/polysquare-cmake-linter" }, "release_url": "https://pypi.org/project/polysquare-cmake-linter/0.0.16/", "requires_dist": null, "requires_python": "", "summary": "Polysquare CMake Linter", "version": "0.0.16" }, "last_serial": 2453023, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "446991d491fe48a5a65aeef08d5cf7da", "sha256": "2e5cef7e215573b52a393f167d4dd5fcb69732bf9f79cea0eda72714350b1546" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.1.tar.gz", "has_sig": false, "md5_digest": "446991d491fe48a5a65aeef08d5cf7da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15390, "upload_time": "2014-12-13T05:16:48", "url": "https://files.pythonhosted.org/packages/88/8b/8365eebc26fcbc71cf9b8175a0b9bef3a6bcde049a0745e8ede93e0ab435/polysquare-cmake-linter-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "124976fc152335b05f6ff5af4f2796d6", "sha256": "886ca2b5beeb6a932a4b69bfedf088c5d5cadd046994e5dbf27a5aae939ad412" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.10.tar.gz", "has_sig": false, "md5_digest": "124976fc152335b05f6ff5af4f2796d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30971, "upload_time": "2015-07-30T09:19:23", "url": "https://files.pythonhosted.org/packages/89/cc/b5a6a4f3aafbc95915f879bc6eb5a3a04bb0d63ef18ab372bfbcb425a7be/polysquare-cmake-linter-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "208a3220e87422a7db5545cbaed3c4a4", "sha256": "176b99add0909d3e588720220ea2ca55bf1ece6c56578983dfc159d55efc407e" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.11.tar.gz", "has_sig": false, "md5_digest": "208a3220e87422a7db5545cbaed3c4a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30967, "upload_time": "2015-08-02T14:13:40", "url": "https://files.pythonhosted.org/packages/a0/d7/66b19132d68f963a064939bdfc87c6e76586a01c7f6d00782a5bcc23d3c6/polysquare-cmake-linter-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "537260f8b00663df1b2845d5268b701a", "sha256": "a2a789a0d20fb92da8c85e0fcb5abe34bfb7a47cb426c5669c6e23dd795ba520" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.12.tar.gz", "has_sig": false, "md5_digest": "537260f8b00663df1b2845d5268b701a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35070, "upload_time": "2015-08-13T12:13:08", "url": "https://files.pythonhosted.org/packages/60/4d/c4acdf9eea34fcee2d94a493248ee9ccf2ff33f8e084bd8abb74b31f65a3/polysquare-cmake-linter-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "f452c6eaaf5a922b40fdd32a0fe0a0b8", "sha256": "acabb8fe633afae601cb355252ca7b0f9c0f648b1d0168c7fb09f46a8ac814fd" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.13.tar.gz", "has_sig": false, "md5_digest": "f452c6eaaf5a922b40fdd32a0fe0a0b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34923, "upload_time": "2016-03-03T11:55:22", "url": "https://files.pythonhosted.org/packages/11/ab/c6c0e94973c73cf8822cd01f23515d2e3a18c28bb88bb40ff3c5a5fe112e/polysquare-cmake-linter-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "171999eb7929fcd7b0eda0e1c9b1ab52", "sha256": "ab261013f9713d43d6ab97b4ca886d92eba79e77d0c1b5cf8e527e9cf6c1cd0d" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.14.tar.gz", "has_sig": false, "md5_digest": "171999eb7929fcd7b0eda0e1c9b1ab52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34930, "upload_time": "2016-03-06T15:29:52", "url": "https://files.pythonhosted.org/packages/a5/9e/6d000719039728fc563a06f60b12320318ece7fa30254f05e1c69cd1ce05/polysquare-cmake-linter-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "9bba0208d10ae9dfb456a522a49cddbf", "sha256": "65b97d5e3f398e1e6d49f7e40b6d001a206f7174e702af2202f3d1ae6cc8cf55" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.15.tar.gz", "has_sig": false, "md5_digest": "9bba0208d10ae9dfb456a522a49cddbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34930, "upload_time": "2016-03-06T23:56:15", "url": "https://files.pythonhosted.org/packages/d8/af/95b2601f047683b46289ceb5a13483808537d46e0fca786a2ca4f609b99e/polysquare-cmake-linter-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "4b1e1b3454473c519ebfe76ad2760b8a", "sha256": "1a5e00ad2ae395ba001f0cc49632a8cd82d1a4a1f7aa49fbec59eb4b1d424a7c" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.16.tar.gz", "has_sig": false, "md5_digest": "4b1e1b3454473c519ebfe76ad2760b8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34357, "upload_time": "2016-11-10T13:05:18", "url": "https://files.pythonhosted.org/packages/21/65/573bc1a07cfb4f776e66393f6ac95fdb6512f4daeacb1e24f9b5633d2069/polysquare-cmake-linter-0.0.16.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "b36b6c022ac2b5ccc1d4c64f2076d315", "sha256": "e63c3287bc0f5f47f2b66e0e7596bbc072311ca64f187abd54a7fe692c680231" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.2.tar.gz", "has_sig": false, "md5_digest": "b36b6c022ac2b5ccc1d4c64f2076d315", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15437, "upload_time": "2014-12-13T22:52:08", "url": "https://files.pythonhosted.org/packages/01/54/0bea746fbb1fba88820d2df92b9bdcfbad2b742aea31a11ea8539a2a430a/polysquare-cmake-linter-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "34d4cd18d86013e4318451360c06f47a", "sha256": "8d8445c9c403889d75abe8894c1bfcfc194f8215541c4a3aec7f0ec49b305cf2" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.3.tar.gz", "has_sig": false, "md5_digest": "34d4cd18d86013e4318451360c06f47a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15495, "upload_time": "2014-12-14T05:51:39", "url": "https://files.pythonhosted.org/packages/5c/8c/2c29a61aaa4296908c5e8c81093f8fd93fe636a8bc534dc2f601c6089176/polysquare-cmake-linter-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "b5c0e36873b653bb1878c6005b27f7e3", "sha256": "4211d1cb8a9cb10389b0b8d561bb03ed371ca72ece8a9acf2d9cd3ebe1f3fb0e" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.4.tar.gz", "has_sig": false, "md5_digest": "b5c0e36873b653bb1878c6005b27f7e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15505, "upload_time": "2014-12-15T03:50:17", "url": "https://files.pythonhosted.org/packages/39/c8/94f7f1e5d33142ab611287a4ed6b1594740aa8e0fc07db6eff251d51bd96/polysquare-cmake-linter-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "4795e469b5972dad184ca05cf940a250", "sha256": "208df2988236461569372636277eb8eb3226ad80be4ad0018b7112cba3ea2f76" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.5.tar.gz", "has_sig": false, "md5_digest": "4795e469b5972dad184ca05cf940a250", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23152, "upload_time": "2015-01-02T02:33:56", "url": "https://files.pythonhosted.org/packages/fe/6a/00db91575f8c25bba13ee46903d11dbde7768134e394634c782192da417b/polysquare-cmake-linter-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "f988d9709ea4bc9f10078c59ed389013", "sha256": "be2743de321ef5320715a9321c114edb0dcfc5683b759eb0a9f6816346729a84" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.6.tar.gz", "has_sig": false, "md5_digest": "f988d9709ea4bc9f10078c59ed389013", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23322, "upload_time": "2015-01-03T23:05:23", "url": "https://files.pythonhosted.org/packages/39/27/864fd384f490c1d0eb18d3f0f43df556168d02f4037133d00d636c6ce201/polysquare-cmake-linter-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "d8c918aeba7dfb50f33a1e6246b77922", "sha256": "4565d64d421ec1f0ca62659c6900b2f84a1a8880032f6703c574b51eb05117d3" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.7.tar.gz", "has_sig": false, "md5_digest": "d8c918aeba7dfb50f33a1e6246b77922", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31091, "upload_time": "2015-06-11T07:22:36", "url": "https://files.pythonhosted.org/packages/9e/ca/efc651bb3679083ba4e572571d943a53b215f007c144e9897fda9a037b23/polysquare-cmake-linter-0.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4b1e1b3454473c519ebfe76ad2760b8a", "sha256": "1a5e00ad2ae395ba001f0cc49632a8cd82d1a4a1f7aa49fbec59eb4b1d424a7c" }, "downloads": -1, "filename": "polysquare-cmake-linter-0.0.16.tar.gz", "has_sig": false, "md5_digest": "4b1e1b3454473c519ebfe76ad2760b8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34357, "upload_time": "2016-11-10T13:05:18", "url": "https://files.pythonhosted.org/packages/21/65/573bc1a07cfb4f776e66393f6ac95fdb6512f4daeacb1e24f9b5633d2069/polysquare-cmake-linter-0.0.16.tar.gz" } ] }