{ "info": { "author": "Pranav Marathe", "author_email": "pmarathe25@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3" ], "description": "# SBuildr - Stupid Buildr\n\nA stupid, simple python-based meta-build system for C++ projects.\n\n## Installation\n\n### Prerequisites\n\n1. [RBuild](https://github.com/pmarathe25/RBuild)\n - Install [Cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html)\n - Run `cargo install rbuild`\n\n### Installing from PyPI\n`pip install sbuildr`\n\n### Installing from Source\n1. Clone the SBuildr [source repository](https://github.com/pmarathe25/SBuildr).\n2. Install locally with `python setup.py install`\n\n## A Small Example\n\nFor this example, we will assume the following directory structure:\n```\nminimal_project\n\u251c\u2500\u2500 build.py\n\u251c\u2500\u2500 include\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 math.hpp\n\u251c\u2500\u2500 src\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 factorial.cpp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 factorial.hpp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 fibonacci.cpp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 fibonacci.hpp\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 utils.hpp\n\u2514\u2500\u2500 tests\n \u2514\u2500\u2500 test.cpp\n```\n\nThe corresponding `build.py` file might look like this:\n\n```python\n#!/usr/bin/env python\nimport sbuildr\nimport os\n\nproject = sbuildr.Project()\n\n# Build a library using two source files. Note that headers do not have to be specified manually.\n# Full file paths are only required in cases where a partial path would be ambiguous.\nlibmath = project.library(\"math\", sources=[\"factorial.cpp\", \"fibonacci.cpp\"], libs=[\"stdc++\"])\n\n# Specify that math.hpp is part of the public API for this library.\nproject.interfaces([\"math.hpp\"])\n\n# Specify a test for the project using the test.cpp source file. The resulting executable will\n# be linked against the library created above.\ntest = project.test(\"test\", sources=[\"test.cpp\"], libs=[\"stdc++\", libmath])\n\n# Enable this script to be used interactively on the command-line\nsbuildr.cli(project)\n```\n\nThe call to the `cli()` function allows us to use the script to build interactively in a shell.\nFor example, to run all tests registered for this project, you can run: `./build.py test`. This will configure the project, build all dependencies, and finally run tests.\n\nTo view all available commands, you can run `./build.py --help`\n\n\n\n## API Documentation\nFor more information, see the [API Documentation](https://sbuildr.readthedocs.io/en/stable/)\n\n## Known Limitations\n- SBuildr's header scanning functionality does not take into account preprocessor `#ifdef`s. This means that an `#include` in a `false` branch will still be used as a dependency during builds. Header scanning will also not work for paths containing escaped characters.\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/pmarathe25/SBuildr", "keywords": "", "license": "GNU GPLv3", "maintainer": "", "maintainer_email": "", "name": "SBuildr", "package_url": "https://pypi.org/project/SBuildr/", "platform": "", "project_url": "https://pypi.org/project/SBuildr/", "project_urls": { "Homepage": "https://github.com/pmarathe25/SBuildr" }, "release_url": "https://pypi.org/project/SBuildr/0.6.1/", "requires_dist": null, "requires_python": ">=3", "summary": "A python-based meta-build system for C++ projects.", "version": "0.6.1" }, "last_serial": 5797776, "releases": { "0.3.0": [ { "comment_text": "", "digests": { "md5": "744b0c207ecbaa2f392088e3894b5545", "sha256": "bde634b9463c277e9f1084883c3468cf80e78ee48572066f913bef7d18998f8e" }, "downloads": -1, "filename": "SBuildR-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "744b0c207ecbaa2f392088e3894b5545", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 63325, "upload_time": "2019-06-27T06:43:31", "url": "https://files.pythonhosted.org/packages/7e/2a/79ff0196c169e74d7a945ffa65036fffaa3db30a34cb9e705f4c1c9d6b8e/SBuildR-0.3.0-py3-none-any.whl" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "ef5c596073890741edf366cb39bc690d", "sha256": "5fa3630de9c0ada8088c56e3fd825246fed9a037ff4edbc37dfc3b16fdd6f490" }, "downloads": -1, "filename": "SBuildr-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ef5c596073890741edf366cb39bc690d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 64187, "upload_time": "2019-06-28T04:57:07", "url": "https://files.pythonhosted.org/packages/32/8f/8de47e930edc4804704839a18e332af015962d679ecd42d1b104c8015abd/SBuildr-0.3.1-py3-none-any.whl" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "2dee57884f351a6f16165e32ef66ed22", "sha256": "d97f0a9ff0b4a063aa69fdcf6d5c329f82621f94a93472a7e7ed633006deb616" }, "downloads": -1, "filename": "SBuildr-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2dee57884f351a6f16165e32ef66ed22", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 40697, "upload_time": "2019-06-29T18:38:39", "url": "https://files.pythonhosted.org/packages/96/a2/9b412d24929486e5dde355ae81324d5466855eb9511dc98bcafceb84eb95/SBuildr-0.3.2-py3-none-any.whl" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "b0a6f1c655636ba17914706fef2c0418", "sha256": "9f289873f8f6cebf31a91a65fe8493d5318f322a502a7e1e0275efb077e2f25b" }, "downloads": -1, "filename": "SBuildr-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b0a6f1c655636ba17914706fef2c0418", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 41380, "upload_time": "2019-07-06T23:00:39", "url": "https://files.pythonhosted.org/packages/b6/70/3c406caca46b4ca9d816145b4386290b3b1a11f1e65f669f9586e55b64b4/SBuildr-0.4.0-py3-none-any.whl" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "59407d1d12d8b6f0193d6c19f86deb46", "sha256": "7bbcd84b400b74d7d5607eb6a2b89cf19ddd13d1eee39de0e5796774cada3c19" }, "downloads": -1, "filename": "SBuildr-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "59407d1d12d8b6f0193d6c19f86deb46", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 41532, "upload_time": "2019-07-12T04:51:51", "url": "https://files.pythonhosted.org/packages/4d/ac/e5bd07c7d4043a0ae404d66ddbee4ea608b2a9db1d96f05340639676eaa0/SBuildr-0.4.1-py3-none-any.whl" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "a596946518985d62dc09c23ae21533b7", "sha256": "a608cd3c365d3e41c5d2b8530a1a4cd51af466145224eca7c372a78f2332c17f" }, "downloads": -1, "filename": "SBuildr-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a596946518985d62dc09c23ae21533b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 53664, "upload_time": "2019-08-22T04:00:57", "url": "https://files.pythonhosted.org/packages/1c/08/dbf1204a2343b2762781265a533a610c0bae3b5a4701a7b3ae7091b2a176/SBuildr-0.5.0-py3-none-any.whl" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "fed711b40732c513cdf940a276123ae4", "sha256": "a1f767276674537c36a6292e2e3dda869b5f14dffc2be3cf155c9ead2d3e15f6" }, "downloads": -1, "filename": "SBuildr-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fed711b40732c513cdf940a276123ae4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 54290, "upload_time": "2019-08-28T05:37:00", "url": "https://files.pythonhosted.org/packages/34/c6/1a00d59d97316dd37c762dd525f94242018d30a2be01480ca190da3c492f/SBuildr-0.6.0-py3-none-any.whl" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "e0dc94f495a217eb41cc8e05170c9fff", "sha256": "fa2a5c2a54e3463a5a9b8c836d05e25cf012e810bf4bac4c9c6ee0972150c2d3" }, "downloads": -1, "filename": "SBuildr-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e0dc94f495a217eb41cc8e05170c9fff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 54814, "upload_time": "2019-09-07T23:42:20", "url": "https://files.pythonhosted.org/packages/4a/2d/54be54b5d7127ddaeea23ec38d3282272a0052b70253d8949674c83e7891/SBuildr-0.6.1-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e0dc94f495a217eb41cc8e05170c9fff", "sha256": "fa2a5c2a54e3463a5a9b8c836d05e25cf012e810bf4bac4c9c6ee0972150c2d3" }, "downloads": -1, "filename": "SBuildr-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e0dc94f495a217eb41cc8e05170c9fff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 54814, "upload_time": "2019-09-07T23:42:20", "url": "https://files.pythonhosted.org/packages/4a/2d/54be54b5d7127ddaeea23ec38d3282272a0052b70253d8949674c83e7891/SBuildr-0.6.1-py3-none-any.whl" } ] }