cookiecutter-cpp


Namecookiecutter-cpp JSON
Version 3.2.1 PyPI version JSON
download
home_pagehttps://github.com/grhawk/cookiecutter-cpp.git
SummaryCookiecutter template for C++ with several libs ready to be used.
upload_time2024-01-03 00:54:34
maintainer
docs_urlNone
authorRiccardo Petraglia (forked from https://github.com/audreyr/cookiecutter-pypackage)
requires_python>=3.8
licenseBSD
keywords cookiecutter template package c++ cpp gtest spdlog
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            ================
Cookiecutter C++
================

.. image:: https://circleci.com/gh/grhawk/cookiecutter-cpp.svg?style=shield
    :target: https://circleci.com/gh/grhawk/cookiecutter-cpp
    :alt: Build Status

Cookiecutter_ template for a C++ package.

* GitHub repo: https://github.com/grhawk/cookiecutter-cpp/
* Documentation (this is for cookiecutter-pypackage): https://cookiecutter-pypackage.readthedocs.io/
* Free software: BSD license


Credits
-------
This is basically a fork of Cookiecutter_.


Features
--------

* Managing dependencies with Conan_, the CMake-Conan-Integration_, and CLion_.
* Integration with the Conan plugin of CLion_.
* No need to execute Conan_ commands (everything run with CMake).
* Provide the possibility to choose between the unit test framework Catch2_ and GoogleTest_.
* Provide CLI11_ out-of-the-box (if requested).
* Provide spdlog_ out-of-the-box (if requested).
* Circleci_: Ready for Circleci Continuous Integration testing
* hdoc_ documentation: TODO!
* bump2version_: TODO!

.. _Cookiecutter: https://github.com/cookiecutter/cookiecutter


Quickstart
----------

Install the latest Cookiecutter if you haven't installed it yet (this requires
Cookiecutter 1.4.0 or higher)::

    pip install -U cookiecutter

Generate a Python package project::

    cookiecutter https://github.com/grhawk/cookiecutter-cpp.git

Enter the newly generated folder. Make sure the Conan_ profile is configured::

    conan profile list

If you don't have a Conan_ profile, you can create one with `conan profile detect --force`.
At this point, according to CMake-Conan-Integration_, you can run::

    mkdir build && cd build;
    cmake -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=cmake/conan_provider.cmake ..
    cmake --build .

This will prepare the needed C++ libraries and compile the example code.
You can now test the compiled code::

    ./sandbox/cpp_boilerplate-sandbox

and run the unittests::

     ctest


The created folder is already a git repo that you can push on github and has already a basic CI implemented to test
the code with CircleCI.

For more details, see the `cookiecutter-pypackage tutorial`_.

.. _`cookiecutter-pypackage tutorial`: https://cookiecutter-pypackage.readthedocs.io/en/latest/tutorial.html


Not Exactly What You Want?
--------------------------

Don't worry, you have options:

Fork This / Create Your Own
~~~~~~~~~~~~~~~~~~~~~~~~~~~

If you have differences in your preferred setup, I encourage you to fork this
to create your own version. Or create your own; it doesn't strictly have to
be a fork.

* Once you have your own version working, add it to the Similar Cookiecutter
  Templates list above with a brief description.

* It's up to you whether or not to rename your fork/own version. Do whatever
  you think sounds good.

Contributing
------------

1. Fork the project.
2. Edit whatever you feel like.
3. Describe the changes on the "unreleased" tag in the CHANGELOG.md.
4. Create a Merge Request to the `main` branch.

Once a new branch has been merged, it is enough to create a new semver tag to generate a new version of the cookiecutter repo.


.. _Circleci: http://circleci.com/
.. _Tox: http://testrun.org/tox/
.. _Doxigen: http://doxigen.org/
.. _Read the Docs: https://readthedocs.io/
.. _`pyup.io`: https://pyup.io/
.. _bump2version: https://github.com/c4urself/bump2version
.. _Punch: https://github.com/lgiordani/punch
.. _Poetry: https://python-poetry.org/
.. _PyPi: https://pypi.python.org/pypi
.. _Mkdocs: https://pypi.org/project/mkdocs/
.. _Conan: https://docs.conan.io/1/index.html
.. _CMake-Conan-Integration: https://github.com/conan-io/cmake-conan
.. _hdoc: https://hdoc.io/
.. _CLI11: https://github.com/CLIUtils/CLI11
.. _spdlog: https://github.com/gabime/spdlog
.. _CLion: https://www.jetbrains.com/clion/
.. _Catch2: https://github.com/catchorg/Catch2
.. _GoogleTest: https://github.com/google/googletest

.. _`Nekroze/cookiecutter-pypackage`: https://github.com/Nekroze/cookiecutter-pypackage
.. _`tony/cookiecutter-pypackage-pythonic`: https://github.com/tony/cookiecutter-pypackage-pythonic
.. _`ardydedase/cookiecutter-pypackage`: https://github.com/ardydedase/cookiecutter-pypackage
.. _`lgiordani/cookiecutter-pypackage`: https://github.com/lgiordani/cookiecutter-pypackage
.. _`briggySmalls/cookiecutter-pypackage`: https://github.com/briggySmalls/cookiecutter-pypackage
.. _`veit/cookiecutter-namespace-template`: https://github.com/veit/cookiecutter-namespace-template
.. _`zillionare/cookiecutter-pypackage`: https://zillionare.github.io/cookiecutter-pypackage/
.. _github comparison view: https://github.com/tony/cookiecutter-pypackage-pythonic/compare/audreyr:master...master
.. _`network`: https://github.com/audreyr/cookiecutter-pypackage/network
.. _`family tree`: https://github.com/audreyr/cookiecutter-pypackage/network/members




            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/grhawk/cookiecutter-cpp.git",
    "name": "cookiecutter-cpp",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "cookiecutter,template,package,c++,cpp,gtest,spdlog",
    "author": "Riccardo Petraglia (forked from https://github.com/audreyr/cookiecutter-pypackage)",
    "author_email": "riccardo.petraglia@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/23/92/3b66fd33b8e60565b76c77c1183a93d27f1a0964da4be991c9dce2a2e4c9/cookiecutter-cpp-3.2.1.tar.gz",
    "platform": null,
    "description": "================\nCookiecutter C++\n================\n\n.. image:: https://circleci.com/gh/grhawk/cookiecutter-cpp.svg?style=shield\n    :target: https://circleci.com/gh/grhawk/cookiecutter-cpp\n    :alt: Build Status\n\nCookiecutter_ template for a C++ package.\n\n* GitHub repo: https://github.com/grhawk/cookiecutter-cpp/\n* Documentation (this is for cookiecutter-pypackage): https://cookiecutter-pypackage.readthedocs.io/\n* Free software: BSD license\n\n\nCredits\n-------\nThis is basically a fork of Cookiecutter_.\n\n\nFeatures\n--------\n\n* Managing dependencies with Conan_, the CMake-Conan-Integration_, and CLion_.\n* Integration with the Conan plugin of CLion_.\n* No need to execute Conan_ commands (everything run with CMake).\n* Provide the possibility to choose between the unit test framework Catch2_ and GoogleTest_.\n* Provide CLI11_ out-of-the-box (if requested).\n* Provide spdlog_ out-of-the-box (if requested).\n* Circleci_: Ready for Circleci Continuous Integration testing\n* hdoc_ documentation: TODO!\n* bump2version_: TODO!\n\n.. _Cookiecutter: https://github.com/cookiecutter/cookiecutter\n\n\nQuickstart\n----------\n\nInstall the latest Cookiecutter if you haven't installed it yet (this requires\nCookiecutter 1.4.0 or higher)::\n\n    pip install -U cookiecutter\n\nGenerate a Python package project::\n\n    cookiecutter https://github.com/grhawk/cookiecutter-cpp.git\n\nEnter the newly generated folder. Make sure the Conan_ profile is configured::\n\n    conan profile list\n\nIf you don't have a Conan_ profile, you can create one with `conan profile detect --force`.\nAt this point, according to CMake-Conan-Integration_, you can run::\n\n    mkdir build && cd build;\n    cmake -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=cmake/conan_provider.cmake ..\n    cmake --build .\n\nThis will prepare the needed C++ libraries and compile the example code.\nYou can now test the compiled code::\n\n    ./sandbox/cpp_boilerplate-sandbox\n\nand run the unittests::\n\n     ctest\n\n\nThe created folder is already a git repo that you can push on github and has already a basic CI implemented to test\nthe code with CircleCI.\n\nFor more details, see the `cookiecutter-pypackage tutorial`_.\n\n.. _`cookiecutter-pypackage tutorial`: https://cookiecutter-pypackage.readthedocs.io/en/latest/tutorial.html\n\n\nNot Exactly What You Want?\n--------------------------\n\nDon't worry, you have options:\n\nFork This / Create Your Own\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIf you have differences in your preferred setup, I encourage you to fork this\nto create your own version. Or create your own; it doesn't strictly have to\nbe a fork.\n\n* Once you have your own version working, add it to the Similar Cookiecutter\n  Templates list above with a brief description.\n\n* It's up to you whether or not to rename your fork/own version. Do whatever\n  you think sounds good.\n\nContributing\n------------\n\n1. Fork the project.\n2. Edit whatever you feel like.\n3. Describe the changes on the \"unreleased\" tag in the CHANGELOG.md.\n4. Create a Merge Request to the `main` branch.\n\nOnce a new branch has been merged, it is enough to create a new semver tag to generate a new version of the cookiecutter repo.\n\n\n.. _Circleci: http://circleci.com/\n.. _Tox: http://testrun.org/tox/\n.. _Doxigen: http://doxigen.org/\n.. _Read the Docs: https://readthedocs.io/\n.. _`pyup.io`: https://pyup.io/\n.. _bump2version: https://github.com/c4urself/bump2version\n.. _Punch: https://github.com/lgiordani/punch\n.. _Poetry: https://python-poetry.org/\n.. _PyPi: https://pypi.python.org/pypi\n.. _Mkdocs: https://pypi.org/project/mkdocs/\n.. _Conan: https://docs.conan.io/1/index.html\n.. _CMake-Conan-Integration: https://github.com/conan-io/cmake-conan\n.. _hdoc: https://hdoc.io/\n.. _CLI11: https://github.com/CLIUtils/CLI11\n.. _spdlog: https://github.com/gabime/spdlog\n.. _CLion: https://www.jetbrains.com/clion/\n.. _Catch2: https://github.com/catchorg/Catch2\n.. _GoogleTest: https://github.com/google/googletest\n\n.. _`Nekroze/cookiecutter-pypackage`: https://github.com/Nekroze/cookiecutter-pypackage\n.. _`tony/cookiecutter-pypackage-pythonic`: https://github.com/tony/cookiecutter-pypackage-pythonic\n.. _`ardydedase/cookiecutter-pypackage`: https://github.com/ardydedase/cookiecutter-pypackage\n.. _`lgiordani/cookiecutter-pypackage`: https://github.com/lgiordani/cookiecutter-pypackage\n.. _`briggySmalls/cookiecutter-pypackage`: https://github.com/briggySmalls/cookiecutter-pypackage\n.. _`veit/cookiecutter-namespace-template`: https://github.com/veit/cookiecutter-namespace-template\n.. _`zillionare/cookiecutter-pypackage`: https://zillionare.github.io/cookiecutter-pypackage/\n.. _github comparison view: https://github.com/tony/cookiecutter-pypackage-pythonic/compare/audreyr:master...master\n.. _`network`: https://github.com/audreyr/cookiecutter-pypackage/network\n.. _`family tree`: https://github.com/audreyr/cookiecutter-pypackage/network/members\n\n\n\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "Cookiecutter template for C++ with several libs ready to be used.",
    "version": "3.2.1",
    "project_urls": {
        "Homepage": "https://github.com/grhawk/cookiecutter-cpp.git"
    },
    "split_keywords": [
        "cookiecutter",
        "template",
        "package",
        "c++",
        "cpp",
        "gtest",
        "spdlog"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "de6c05e90a03a3e3517828050b78797412a3d42670513eb51e8d9af5fe465de2",
                "md5": "4e1c7fdc2f08aca64f00b87dfdbb2e3f",
                "sha256": "bac8460d78d86777a2420a79f402eb6aa95c3688897dac8a29b2e60f686d2944"
            },
            "downloads": -1,
            "filename": "cookiecutter_cpp-3.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4e1c7fdc2f08aca64f00b87dfdbb2e3f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 4209,
            "upload_time": "2024-01-03T00:54:29",
            "upload_time_iso_8601": "2024-01-03T00:54:29.071449Z",
            "url": "https://files.pythonhosted.org/packages/de/6c/05e90a03a3e3517828050b78797412a3d42670513eb51e8d9af5fe465de2/cookiecutter_cpp-3.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "23923b66fd33b8e60565b76c77c1183a93d27f1a0964da4be991c9dce2a2e4c9",
                "md5": "c095b75d48174ac6c17a53eba92d9d1b",
                "sha256": "94ad8533dd23c57e2662ba084be6af656836f2950ee371af84756cfeead42194"
            },
            "downloads": -1,
            "filename": "cookiecutter-cpp-3.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "c095b75d48174ac6c17a53eba92d9d1b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 4266,
            "upload_time": "2024-01-03T00:54:34",
            "upload_time_iso_8601": "2024-01-03T00:54:34.625415Z",
            "url": "https://files.pythonhosted.org/packages/23/92/3b66fd33b8e60565b76c77c1183a93d27f1a0964da4be991c9dce2a2e4c9/cookiecutter-cpp-3.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-03 00:54:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "grhawk",
    "github_project": "cookiecutter-cpp",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "circle": true,
    "appveyor": true,
    "tox": true,
    "lcname": "cookiecutter-cpp"
}
        
Elapsed time: 0.16590s