{"id":13647990,"url":"https://github.com/nemequ/configure-cmake","last_synced_at":"2025-06-20T16:11:32.913Z","repository":{"id":28775509,"uuid":"32297983","full_name":"nemequ/configure-cmake","owner":"nemequ","description":"Autotools-style configure script wrapper around CMake","archived":false,"fork":false,"pushed_at":"2017-06-08T02:15:33.000Z","size":21,"stargazers_count":85,"open_issues_count":1,"forks_count":4,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-06-20T16:11:22.074Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nemequ.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":"2015-03-16T03:00:37.000Z","updated_at":"2024-11-28T16:30:48.000Z","dependencies_parsed_at":"2022-09-05T01:31:08.258Z","dependency_job_id":null,"html_url":"https://github.com/nemequ/configure-cmake","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nemequ/configure-cmake","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemequ%2Fconfigure-cmake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemequ%2Fconfigure-cmake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemequ%2Fconfigure-cmake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemequ%2Fconfigure-cmake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nemequ","download_url":"https://codeload.github.com/nemequ/configure-cmake/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemequ%2Fconfigure-cmake/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260976894,"owners_count":23091526,"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":[],"created_at":"2024-08-02T01:03:52.969Z","updated_at":"2025-06-20T16:11:27.903Z","avatar_url":"https://github.com/nemequ.png","language":null,"funding_links":[],"categories":["Others","Other"],"sub_categories":[],"readme":"# configure-cmake\n\nconfigure-cmake is an autotools-style configure script for CMake-based\nprojects.\n\nPeople building software on Linux or BSD generally expect to be able\nto `./configure \u0026\u0026 make \u0026\u0026 make install`, but projects using CMake\ndon't provide a `configure` script.  To make matters worse, the syntax\nfor invoking CMake is awkward and has issues with discoverability.\n\nconfigure-cmake provides an easy way for people accustomed to\nautotools-based projects to build your CMake-based project.  Just drop\nthe `configure` script into your project; it will accept most of the\nstandard autotools arguments (such as `--prefix` and `--libdir`), as\nwell as custom arguments you can specify, and map them to the correct\nCMake definitions.\n\nIt it as permissively licensed as I can make it (CC0 is basically an\nattempt to put something in the public domain), so please feel free to\ncopy it into your project—users accustomed to autotools will thank\nyou!  You only need the `configure` script—you shouldn't have to worry\nabout the LICENSE or README files.\n\n## Customizing\n\nYou can add --enable-*, --disable-*, and --with-* parameters without\nmodifying the `configure` script itself.  Instead, you only need to\ncreate a `.configure-custom.sh` file next to your `configure` script.\n`configure` will then source `.configure-custom.sh` and use the\nvariables it finds to integrate the parameters.\n\nThe main variables you can set in `.configure-custom.sh` are:\n\n* **ENABLE_VARS**\n* **DISABLE_VARS**\n* **WITH_VARS**\n\nEach of these a space separated list of values.  Each value is a '|'\nseparated list of up to 3 values, though the first two are optional.\nThe syntax is:\n\n```\nname[|value[|transformed-name]]\n```\n\nThe `name` will be be the name of the argument passed to\n`configure`—for enable it will be `--enable-name`, for disable it will\nbe `--disable-name`, and for with it will be `--with-name`.\n\nThe optional `value` is the value passed to CMake, which defaults to\n\"yes\".\n\nThe optional `transformed-name` is the key passed to CMake, which\ndefaults to `name` uppercased and all non-alpha-numeric characters\nreplaced with underscores.  For example:\n\n```\nENABLE_VARS=\"foo|bar|BAZ\"\n```\n\nWill create a `--enable-foo` parameter for people to pass to\n`configure`.  If passed, `configure` will then pass `-DBAZ=bar` to\nCMake.\n\nAdditionally, if you would like to supply a custom documentation\nstring for parameters (which is displayed in the output of\n`./configure --help`), you can create an additional variable called\n`ENABLE/DISABLE/WITH_transformed-name_DOC`.  Continuing or previous\nexample:\n\n```\nENABLE_BAZ_DOC=\"enable integration with foo\"\n```\n\nWill result in the output of `./configure --help` displaying\n\n```\n  --enable-foo            enable integration with foo\n```\n\nIf you would like to see an example of how this works, you can use the\n[`.configure-custom.sh` from Squash](https://github.com/quixdb/squash/blob/master/.configure-custom.sh).\n\nNote that you can also use `--pass-thru -DBAZ=bar` to achieve the same\nresult.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemequ%2Fconfigure-cmake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnemequ%2Fconfigure-cmake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemequ%2Fconfigure-cmake/lists"}