# CMakerer
This script generates `CMakeLists.txt` from arbitrary C/C++ codebases. It is
not intended to produce "buildable" cmake configurations, but instead enable
CLion to load and index the code.
# Installation
```bash
pip3 install --user cmakerer
```
```bash
python3 setup.py sdist bdist_wheel
pip3 install --user dist/cmakerer-*.whl
```
# Usage
```bash
cmakerer -o ~/path/to/cpp/code/CMakeLists.txt -x src/windows -! tests -z ~/path/to/cpp/code
```
# Features
* Detects both standard and system include paths.
* Handles "multi-encoding" C/C++ files
* Exclude directory paths with `-x`
* Exclude (sub)directory segments with `-!`
* Exclude cmake directories with `-z`
* Add compiler defines with `-DVAR` or `-DVAR=value`
* Deterministically add and remove paths with `-I`/`-S`/`-R`
Raw data
{
"_id": null,
"home_page": "https://github.com/ChaosData/cmakerer",
"name": "cmakerer",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6.0",
"maintainer_email": null,
"keywords": "cmake clion",
"author": "Jeff Dileo",
"author_email": "jtdileo@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/aa/1c/22bf6291f1b00a82d3b839b104c418ebfb2585e403d2b84d6a29a4b0f663/cmakerer-1.3.1.tar.gz",
"platform": null,
"description": "# CMakerer\n\nThis script generates `CMakeLists.txt` from arbitrary C/C++ codebases. It is\nnot intended to produce \"buildable\" cmake configurations, but instead enable\nCLion to load and index the code.\n\n# Installation\n\n```bash\npip3 install --user cmakerer\n```\n\n```bash\npython3 setup.py sdist bdist_wheel\npip3 install --user dist/cmakerer-*.whl\n```\n\n# Usage\n\n```bash\ncmakerer -o ~/path/to/cpp/code/CMakeLists.txt -x src/windows -! tests -z ~/path/to/cpp/code\n```\n\n# Features\n\n* Detects both standard and system include paths.\n* Handles \"multi-encoding\" C/C++ files\n* Exclude directory paths with `-x`\n* Exclude (sub)directory segments with `-!`\n* Exclude cmake directories with `-z`\n* Add compiler defines with `-DVAR` or `-DVAR=value`\n* Deterministically add and remove paths with `-I`/`-S`/`-R`\n",
"bugtrack_url": null,
"license": "BSD (2 Clause)",
"summary": "Generates CMakeLists.txt files from arbitrary C/C++ codebases.",
"version": "1.3.1",
"project_urls": {
"Homepage": "https://github.com/ChaosData/cmakerer"
},
"split_keywords": [
"cmake",
"clion"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7ed875ed99a44766a26a9dc310027e933c0b126615268d6f288f2e2d7d22e527",
"md5": "57ed28b86d560ea4bf96b88effc101b3",
"sha256": "bdc1c6ff9d2e056597f8bf47c6987ebb0541aa5967692861a38a458a6efd47e9"
},
"downloads": -1,
"filename": "cmakerer-1.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "57ed28b86d560ea4bf96b88effc101b3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6.0",
"size": 8365,
"upload_time": "2025-02-11T09:47:21",
"upload_time_iso_8601": "2025-02-11T09:47:21.616239Z",
"url": "https://files.pythonhosted.org/packages/7e/d8/75ed99a44766a26a9dc310027e933c0b126615268d6f288f2e2d7d22e527/cmakerer-1.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "aa1c22bf6291f1b00a82d3b839b104c418ebfb2585e403d2b84d6a29a4b0f663",
"md5": "c83467f99d373889f41cafbf3be00c47",
"sha256": "98bbab89415859f35e0b450ee050180b60771039e148b603cec41aea2e1696ab"
},
"downloads": -1,
"filename": "cmakerer-1.3.1.tar.gz",
"has_sig": false,
"md5_digest": "c83467f99d373889f41cafbf3be00c47",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.0",
"size": 7754,
"upload_time": "2025-02-11T09:47:22",
"upload_time_iso_8601": "2025-02-11T09:47:22.772792Z",
"url": "https://files.pythonhosted.org/packages/aa/1c/22bf6291f1b00a82d3b839b104c418ebfb2585e403d2b84d6a29a4b0f663/cmakerer-1.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-11 09:47:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ChaosData",
"github_project": "cmakerer",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "cmakerer"
}