{"id":15578888,"url":"https://github.com/i-rinat/nginx-cmake","last_synced_at":"2025-07-27T12:06:45.725Z","repository":{"id":49226386,"uuid":"74244564","full_name":"i-rinat/nginx-cmake","owner":"i-rinat","description":"CMake port of nginx build scripts","archived":false,"fork":false,"pushed_at":"2021-06-22T19:25:52.000Z","size":29,"stargazers_count":23,"open_issues_count":1,"forks_count":16,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-24T01:38:18.999Z","etag":null,"topics":["cmake","nginx"],"latest_commit_sha":null,"homepage":null,"language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/i-rinat.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}},"created_at":"2016-11-20T00:47:04.000Z","updated_at":"2024-05-21T18:09:32.000Z","dependencies_parsed_at":"2022-09-17T09:11:21.563Z","dependency_job_id":null,"html_url":"https://github.com/i-rinat/nginx-cmake","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/i-rinat/nginx-cmake","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i-rinat%2Fnginx-cmake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i-rinat%2Fnginx-cmake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i-rinat%2Fnginx-cmake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i-rinat%2Fnginx-cmake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/i-rinat","download_url":"https://codeload.github.com/i-rinat/nginx-cmake/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i-rinat%2Fnginx-cmake/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267354907,"owners_count":24073864,"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","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cmake","nginx"],"created_at":"2024-10-02T19:13:15.259Z","updated_at":"2025-07-27T12:06:45.669Z","avatar_url":"https://github.com/i-rinat.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"nginx-cmake\n-----------\n\nSometimes you need to integrate Nginx build into a larger project.  If\nthat project uses CMake, you have two options. Either try to wrap\nnative Nginx build system using ExternalProject_Add(), or to rewrite\nbuild steps in CMake language.\n\nFormer is easier at start, but you lose control over that build part.\nIncremental builds become fragile, as CMake dependency extractor is\nnot working for external projects.\n\nLatter is a lot harder, but what you get is uniform build scripts, all\nin CMake. It's more reliable, and produces way less of clutter on a\nscreen during build.\n\nThis repository contains solution in the second way. Scripts in\nCMake. There are:\n\n* (outdated) direct rewrite of Nginx's build system in\n  [/direct-rewrite](/direct-rewrite);\n* tracing script approach in [/tracing-script](/tracing-script).\n\nDirect rewrite was a first attempt to make a CMake build script by\nmanually reimplementing Nginx's build scripts. It targeted Nginx\n1.11.6 and Linux, with other OS support dropped right away. That\nscript most probably won't work for other Nginx versions, and\ndefinitely won't work on an OS other than GNU/Linux. There is also no\ndynamic modules support code.\n\nTracing script is a hack that by intercepting compiler (`CC` and `CXX`\nvariables) learns what files to compile and what objects and libraries\nto link. There are more detailed explanations inside the script.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi-rinat%2Fnginx-cmake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fi-rinat%2Fnginx-cmake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi-rinat%2Fnginx-cmake/lists"}