# infoware [](LICENSE) [](https://travis-ci.org/ThePhD/infoware) [](https://ci.appveyor.com/project/ThePhD/infoware/branch/master)
C++ Library for pulling system and hardware information, without hitting the command line.
## Requirements
No non-built-in ones by default.
Some libraries are required for extended functionality. See the [Configurability](#configurability) section below for details.
On Windows one needs to link to `gdi32`, `version`, `Ole32`, `OleAut32` and `wbemuuid`.
A usable `git` binary is required by default, to clone https://github.com/pciutils/pciids.
`INFOWARE_PCI_IDS_REPOSITORY` can be set to override that clone URI.
`INFOWARE_PCI_IDS_PATH` can be set to use the specified file instead of using git at all.
## Configurability
|CMake definition and C++ preprocessor macro| Meaning |Linker library| Priority |
|-------------------------------------------|-----------------------------------|--------------|---------------|
| `INFOWARE_USE_X11` | Use X11 for display detection | `X11` | OpenCL |
| `INFOWARE_USE_OPENCL` | Use OpenCL for GPU detection | `OpenCL` |