{"id":15827197,"url":"https://github.com/hoehermann/purple-cmake-template","last_synced_at":"2026-01-15T23:09:01.269Z","repository":{"id":82725784,"uuid":"443180852","full_name":"hoehermann/purple-cmake-template","owner":"hoehermann","description":"Use CMake to build Pidgin 2 (libpurple 2) protocol plug-ins in a way that does not suck.","archived":false,"fork":false,"pushed_at":"2024-08-29T23:43:23.000Z","size":33,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-12T10:10:41.861Z","etag":null,"topics":["libpurple","libpurple-plugin","pidgin","pidgin-plugin","pidgin-plugins"],"latest_commit_sha":null,"homepage":"","language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hoehermann.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2021-12-30T20:43:29.000Z","updated_at":"2024-08-29T23:43:27.000Z","dependencies_parsed_at":"2024-10-26T14:55:32.996Z","dependency_job_id":"cfa11a78-b9e4-4c7a-8afb-c116028b3bfc","html_url":"https://github.com/hoehermann/purple-cmake-template","commit_stats":{"total_commits":15,"total_committers":1,"mean_commits":15.0,"dds":0.0,"last_synced_commit":"1f8130aa617f695c72350221e35977b2d76d1ca1"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hoehermann/purple-cmake-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoehermann%2Fpurple-cmake-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoehermann%2Fpurple-cmake-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoehermann%2Fpurple-cmake-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoehermann%2Fpurple-cmake-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hoehermann","download_url":"https://codeload.github.com/hoehermann/purple-cmake-template/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoehermann%2Fpurple-cmake-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28473974,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T22:27:41.514Z","status":"ssl_error","status_checked_at":"2026-01-15T21:54:47.910Z","response_time":62,"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":["libpurple","libpurple-plugin","pidgin","pidgin-plugin","pidgin-plugins"],"created_at":"2024-10-05T10:01:59.867Z","updated_at":"2026-01-15T23:09:01.240Z","avatar_url":"https://github.com/hoehermann.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"This script uses CMake to build a Pidgin 2 (libpurple 2) protocol plug-in in a way that does not suck.  \nBecause having one Makefile for each toolchain is annoying.\n\nOn Windows, this script will automatically setup a development environment. These compilers are known to work:\n\n* [MSYS2](https://www.msys2.org/) with [gcc 13.2.1](https://packages.msys2.org/package/mingw-w64-i686-gcc).\n* Microsoft Visual Studio 2022 with MSVC 14.\n\nThese compilers are noteworthy:\n\n* [MinGW](https://osdn.net/projects/mingw/) with gcc 9.2.0 was used in the past.\n* [MinGW](https://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.7.2-1/) with gcc 4.7.2 is recommended by Pidgin developers, but never used with this script.\n\nNote: Any binary produced by at least gcc 7.1.0 or newer may need static linkage of `libgcc` for proper distribution. This script does *not* take care of this setting.\n\nThis script is used in [purple-whatsmeow](https://github.com/hoehermann/purple-gowhatsapp/) and [purple-presage](https://github.com/hoehermann/purple-presage).\n\n### Linux:\n\n1. Configure project. Specify the path to this script:\n\n        cmake -DPurple_DIR=…/purple-cmake ..\n\n2. Build project:\n\n        cmake --build .\n\n3. Install binaries system-wide:\n\n        sudo cmake --install .\n\nNote: During the configuration step, you can override `PURPLE_DATA_DIR` and `PURPLE_PLUGIN_DIR` request preparing a user-based installation:\n\n    cmake -DPurple_DIR=…/purple-cmake -DPURPLE_DATA_DIR:PATH=~/.local/share -DPURPLE_PLUGIN_DIR:PATH=~/.purple/plugins ..\n\nYou can then execute `cmake --install .` without `sudo`.\n\n### Windows\n\n1. Configure:\n\n    This will set-up a development environment including a pidgin installation in your build directory.\n\n        cmake -DCMAKE_BUILD_TYPE=Debug ..\n\n    `-G \"MSYS Makefiles\"` is recommended for MSYS/MinGW. When omitting the generator, CMake may default to MSBuild and you may need to specify `-DCMAKE_GENERATOR_PLATFORM=WIN32` for MSVC x86.\n\n    Note: You can use vcpkg-managed packages by adding the path like this: \n\n        -DCMAKE_TOOLCHAIN_FILE=\"…/vcpkg/scripts/buildsystems/vcpkg.cmake\" -DVCPKG_TARGET_TRIPLET=x86-mingw-static -DVCPKG_MANIFEST_MODE=OFF\n\n    Use `x86-mingw-static` for MinGW builds. Use `x86-windows-static` for MSVC builds.\n\n2. Build:\n\n        cmake --build .\n\n3. Install:\n\n    This will install into the pidgin installation in your build directory.\n\n        cmake --install .\n\n4. Execute:\n\n    This will execute the Pidgin installation.\n\n        cmake --build . --target run\n\n    Note: You can specify the purple user configuration directory to be used by the run target:\n\n        -DPurple_CONFIG_DIR=…/.purple\n\nNote: Building on Windows is most reliable when there are no existing installations of Pidgin, GTK+ and/or libgcc in your PATH.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoehermann%2Fpurple-cmake-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhoehermann%2Fpurple-cmake-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoehermann%2Fpurple-cmake-template/lists"}