{ "info": { "author": "Maciej Patro", "author_email": "maciejpatro@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "# cmake-checker\ncmake-checker is a tool to search for violations to 'modern' cmake rules.\n\n### Usage\n\n```\nusage: __main__.py [-h] [--warn-only] [--reporter {console,junit}]\n [-o OUTPUT_FILE] [--whitelist WHITELIST]\n PATH [PATH ...]\n\npositional arguments:\n PATH Path to the file or directory where the checks should\n be done\n\noptional arguments:\n -h, --help show this help message and exit\n --warn-only Program will return 0 even if violations are found\n --reporter {console,junit}\n Specify type of reporter to output\n -o OUTPUT_FILE, --output-file OUTPUT_FILE\n Output results to file with given name\n --whitelist WHITELIST\n Whitelist file with rules to ignore certain files or\n dirs (.gitignore style)\n```\n\n### What&Why tool warns about\n* `file(GLOB ...)` \n\n * CMake will not track the dependencies of a new file on disk correctly. If no CMakeLists.txt file changes when a source \n is added or removed then the generated build system cannot know when to ask CMake to regenerate.\n * You can't ensure that only files you want are added. Globbing may pick up stray files that you do not want.\n* Functions\n * `add_compile_options`\n * `add_compile_definitions`\n * `link_libraries`\n * `add_definitions`\n * `include_directories`\n\n Functions work on directory scope instead of target scope. Every single one of listed functions has \n equivalent for target scope which should be used.\n* Properties `COMPILE__FLAGS`\n\n These properties should be set for a target - not modified globally\n* Closing commands with clauses \n * `endif`\n * `endfunction`\n * `endmacro`\n * `endforeach`\n\n Example: \n ```\n macro(foo ...)\n ...\n endmacro(foo)\n ```\n* Set/unset including\n * `ENV`\n * `CACHE`\n* `../..` in `target_sources` function\n* Set/unset `PARENT_SCOPE` outside of function declaration\n\n### Possibility to disable check\nIf you need to disable for any specific reasons checks you can do it using:\n```\n# cmake-check disable\n...\n# cmake-check enable\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MaciejPatro/cmake-checker", "keywords": "", "license": "LICENSE", "maintainer": "", "maintainer_email": "", "name": "cmake-checker", "package_url": "https://pypi.org/project/cmake-checker/", "platform": "", "project_url": "https://pypi.org/project/cmake-checker/", "project_urls": { "Homepage": "https://github.com/MaciejPatro/cmake-checker" }, "release_url": "https://pypi.org/project/cmake-checker/0.1.3/", "requires_dist": [ "ply (==3.11)", "junit-xml (==1.8)", "pathspec (==0.5.9)" ], "requires_python": ">=3.5.0", "summary": "cmake-checker is a tool to search for violations to 'modern' cmake rules.", "version": "0.1.3" }, "last_serial": 5125415, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "e2354d823b6c9c1b8468c9d0542b2da8", "sha256": "fd410883e7ab9db292d16b980ea8d246e94060b66465ecf0457dc08640e14bb0" }, "downloads": -1, "filename": "cmake_checker-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e2354d823b6c9c1b8468c9d0542b2da8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.0", "size": 8234, "upload_time": "2019-04-06T14:09:27", "url": "https://files.pythonhosted.org/packages/4a/9f/19083ea29af620936a10083e2a77152ce3f6a8185bbef0a5975d955ab3e4/cmake_checker-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "13dc0760c5f4811e158af09b34eec1d1", "sha256": "1e4cc791570d0d61127373746cc729c48b7aa79a52adde6b6386404c1b5bdff9" }, "downloads": -1, "filename": "cmake_checker-0.1.0.tar.gz", "has_sig": false, "md5_digest": "13dc0760c5f4811e158af09b34eec1d1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 5719, "upload_time": "2019-04-06T14:09:29", "url": "https://files.pythonhosted.org/packages/38/1c/538f0cb368f31c8bbf03e4a96505e0ff176b0c192e4c45ba2374c67822e2/cmake_checker-0.1.0.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "400f5f24c7bcad105e06459b7798e0dc", "sha256": "0b3250305cd5ef51a3801c8dda85680cf6e4e7abbded3e695bbe6a82f3c16249" }, "downloads": -1, "filename": "cmake_checker-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "400f5f24c7bcad105e06459b7798e0dc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.0", "size": 8287, "upload_time": "2019-04-10T18:25:13", "url": "https://files.pythonhosted.org/packages/03/33/1780fe1bca3c75209f5b7179682360bb88356fe67ac46b54fa225eab2462/cmake_checker-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d94ce5940f93e710258f0e60359d8925", "sha256": "9ef6a9278b60aede070f30f65338c9682da7aa50316305cf93b4b28c10bcf59f" }, "downloads": -1, "filename": "cmake_checker-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d94ce5940f93e710258f0e60359d8925", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 5782, "upload_time": "2019-04-10T18:25:14", "url": "https://files.pythonhosted.org/packages/5d/32/efac3ef9aaf20e3796ee68f1d8a62a37a477899ee7db4859f063d1822dfc/cmake_checker-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "400f5f24c7bcad105e06459b7798e0dc", "sha256": "0b3250305cd5ef51a3801c8dda85680cf6e4e7abbded3e695bbe6a82f3c16249" }, "downloads": -1, "filename": "cmake_checker-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "400f5f24c7bcad105e06459b7798e0dc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.0", "size": 8287, "upload_time": "2019-04-10T18:25:13", "url": "https://files.pythonhosted.org/packages/03/33/1780fe1bca3c75209f5b7179682360bb88356fe67ac46b54fa225eab2462/cmake_checker-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d94ce5940f93e710258f0e60359d8925", "sha256": "9ef6a9278b60aede070f30f65338c9682da7aa50316305cf93b4b28c10bcf59f" }, "downloads": -1, "filename": "cmake_checker-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d94ce5940f93e710258f0e60359d8925", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 5782, "upload_time": "2019-04-10T18:25:14", "url": "https://files.pythonhosted.org/packages/5d/32/efac3ef9aaf20e3796ee68f1d8a62a37a477899ee7db4859f063d1822dfc/cmake_checker-0.1.3.tar.gz" } ] }