{"id":26368780,"url":"https://github.com/bindreams/template_interface_library","last_synced_at":"2026-02-03T14:05:27.660Z","repository":{"id":167685069,"uuid":"268649562","full_name":"bindreams/template_interface_library","owner":"bindreams","description":"A small template for a cmake/conan based interface library.","archived":false,"fork":false,"pushed_at":"2025-03-07T15:18:30.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-26T11:49:56.274Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bindreams.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2020-06-01T22:50:12.000Z","updated_at":"2025-03-07T15:18:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8e1f3c4-071d-4272-a513-cbc64a589244","html_url":"https://github.com/bindreams/template_interface_library","commit_stats":null,"previous_names":["andreasxp/template_interface_library","bindreams/template_interface_library"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bindreams/template_interface_library","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bindreams%2Ftemplate_interface_library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bindreams%2Ftemplate_interface_library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bindreams%2Ftemplate_interface_library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bindreams%2Ftemplate_interface_library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bindreams","download_url":"https://codeload.github.com/bindreams/template_interface_library/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bindreams%2Ftemplate_interface_library/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29047100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T10:09:22.136Z","status":"ssl_error","status_checked_at":"2026-02-03T10:09:16.814Z","response_time":96,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2025-03-16T22:49:00.776Z","updated_at":"2026-02-03T14:05:25.948Z","avatar_url":"https://github.com/bindreams.png","language":"CMake","readme":"# CMake template: interface library\nA small template for a cmake/conan based interface library.\n\n## Installation\nTo not inherit git commits from this template, download the project as a zip file and manually initialize the git repository. Zip file can be downloaded through github interface or via `wget` on Linux:\n```\nwget https://github.com/andreasxp/template_interface_library/archive/master.zip\n```\nAfter downloading, unzip the folder and initialize the repository using\n```\ngit init\n```\n\n## Usage\nThis project supports building with [CMake](https://cmake.org/) and packaging with [Conan](https://conan.io/). The easiest way to build it is using Conan commands:\n```\nconan install . -if build -b outdated\nconan build . -bf build\n```\n\nThe template project supports two options to control the way it's built:\n| Option (Conan) | Option (CMake)                 | Default |\n| -------------- | ------------------------------ | ------- |\n| tests          | ${PROJECT_NAME}_BUILD_TESTS    | False   |\n| examples       | ${PROJECT_NAME}_BUILD_EXAMPLES | False   |\n\nThese control whether tests and examples are built. To build everything using conan, use the following commands:\n```\nconan install . -if build -b outdated -o tests=True -o examples=True\nconan build . -bf build\n```\n\nTest executable is called `${PROJECT_NAME}_tests`, example executable is called `${PROJECT_NAME}_example` and both are located in the `bin` folder inside cmake build directory (usually the full path is `\u003cproject root\u003e/build/bin`).\n\nThe tools folder includes a collection of CMake scripts that can be useful for further configuration, such as clang tidy analysis and include-what-you-use. These are taken from the [cmake scripts repo](https://github.com/mpusz/cmake-scripts), with thanks to Mateusz Pusz.\n\n## Customization\nThis template is designed to be as easy in handling as possible. For example, the project name and version only need to be defined in one place:\n```cmake\n# CMakeLists.txt\nproject(template_interface_library LANGUAGES CXX VERSION 0.1.0)\n```\n\nBy updating the name here it will automatically be picked up both by Conan, target names, and option names. In the same file just below, the CMake targets can be further configured:\n```cmake\nset(target_name ${PROJECT_NAME})\nset(namespace zh)\n```\n`target_name` will be used for the main target, test target (`${target_name}_tests`) and example target (`${target_name}_example`).  \n`namespace` is the text befire `::` when importing the target in another cmake project.\n\nUsers of your library will be able to link against your library by accessing target `${namespace}::${target_name}` (Default would be `zh::template_interface_library`).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbindreams%2Ftemplate_interface_library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbindreams%2Ftemplate_interface_library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbindreams%2Ftemplate_interface_library/lists"}