{"id":16199959,"url":"https://github.com/agateau/cookiecutter-qt-app","last_synced_at":"2025-09-02T22:44:39.074Z","repository":{"id":66380950,"uuid":"260958014","full_name":"agateau/cookiecutter-qt-app","owner":"agateau","description":"A cookiecutter to create Qt applications, with translations and packaging","archived":false,"fork":false,"pushed_at":"2020-12-06T14:50:34.000Z","size":288,"stargazers_count":38,"open_issues_count":9,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-28T16:08:24.768Z","etag":null,"topics":["cmake","cookiecutter","cookiecutter-qt","cookiecutter-template","qt"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agateau.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-03T15:22:32.000Z","updated_at":"2024-09-24T04:06:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"0811caef-82fa-4c56-8837-ea2e86ca286b","html_url":"https://github.com/agateau/cookiecutter-qt-app","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agateau%2Fcookiecutter-qt-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agateau%2Fcookiecutter-qt-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agateau%2Fcookiecutter-qt-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agateau%2Fcookiecutter-qt-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agateau","download_url":"https://codeload.github.com/agateau/cookiecutter-qt-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243971180,"owners_count":20376784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmake","cookiecutter","cookiecutter-qt","cookiecutter-template","qt"],"created_at":"2024-10-10T09:28:49.981Z","updated_at":"2025-03-19T05:30:54.031Z","avatar_url":"https://github.com/agateau.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cookiecutter-qt-app\n\n![main](https://github.com/agateau/cookiecutter-qt-app/workflows/main/badge.svg)\n\n## What is this?\n\n[Cookiecutter][cookiecutter] is a command-line tool to create projects from project templates. This repository contains a template to build a Qt application.\n\n[cookiecutter]: https://github.com/audreyr/cookiecutter\n\nThe application created with this template is not a simple \"Hello World\", the goal is to produce a useful base for a \"real world\" application.\n\nBy \"real world\" I mean the application comes with:\n\n- Translation support\n- Installing data files, and code to find them on the disk\n- Desktop shortcuts\n- Unit-testing, using [Catch2][]\n- Packages/installers for Linux, macOS and Windows (WIP, see below)\n- Code formatting, using clang-format (TODO)\n\n[Catch2]: https://github.com/catchorg/Catch2\n\n### Packaging support\n\nRight now the cookiecutter supports:\n\n- Linux .deb packages\n- Linux .rpm packages\n- Windows installers\n- macOS dmg\n\nBut the goal is to add:\n\n- Linux AppImage\n- Linux Snaps\n- Linux FlatPak\n\n## Getting started\n\nInstall cookiecutter:\n\n```\npip install cookiecutter\n```\n\nCreate your app by running:\n\n```\ncookiecutter https://github.com/agateau/cookiecutter-qt-app\n```\n\nand answering the questions.\n\nYour app skeleton is now ready, time to build it:\n\n```\ncd your_app_name\nmkdir build\ncd build\ncmake -DCMAKE_INSTALL_PREFIX=/where/to/install ..\nmake\nmake install\n```\n\nLook in `/where/to/install`. Your app should be there, ready to be started. Give it a try!\n\nYour app source code comes with some unit-tests. You can run them with:\n\n```\nmake check\n```\n\nYou are all set, time to turn this skeleton into a real app!\n\n## Creating packages\n\nTo generate a package (or an installer, depending on your OS), build the `package` target:\n\n```\nmake package\n```\n\nThis will generate a package or installer for your app.\n\nYou can also generate a source archive using the `package_source` target.\n\n## Continuous Integration support\n\nThe created app comes with a `ci` directory containing scripts to help you setup continuous integration. You can learn more about it in [docs/ci.md](docs/ci.md).\n\n### CI for the cookiecutter itself\n\nThis cookiecutter has a CI setup itself. It works by first running `cookiecutter` to produce the app, then running the scripts from the produced app to build it. This way the app CI scripts are tested in a setup closer to the real use case.\n\n## Documentation\n\n- Dependencies: [docs/dependencies.md](docs/dependencies.md)\n- CI: [docs/ci.md](docs/ci.md)\n- Unit-tests: [docs/tests.md](docs/tests.md)\n- Icons: [docs/icons.md](docs/icons.md)\n- Translations: [docs/translations.md](docs/translations.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagateau%2Fcookiecutter-qt-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagateau%2Fcookiecutter-qt-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagateau%2Fcookiecutter-qt-app/lists"}