Files
c/docs/conan.md

76 lines
1.9 KiB
Markdown
Raw Normal View History

2024-04-21 14:35:35 +03:00
# Installing using conan
## Prerequisites
2024-04-21 14:35:35 +03:00
1- Python 3
https://www.python.org/downloads/
2- Conan package manager
https://docs.conan.io/2/installation.html
## Build and Install the repo to local system by using conan
1- Navigate to `kubernetes` directory, then use `conan create` command. This will build the repo from source as static library.
2024-04-21 14:35:35 +03:00
```
cd kubernetes
conan create . --build=missing
```
Validate `kubernetes_client_c` package exists by using following command to list all installed packages in local conan cache:
```
conan list "*"
```
## Using kubernetes_client_c library in your project
1- Create `conanfile.py` or `conanfile.txt` file in the root of your project.
**conanfile.txt**
```
[requires]
kubernetes_client_c/0.9.0
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
```
**conanfile.py**
```python
from conan import ConanFile
from conan.tools.cmake import cmake_layout
class ExampleRecipe(ConanFile):
settings = "os", "compiler", "build_type", "arch"
generators = "CMakeDeps", "CMakeToolchain"
def requirements(self):
self.requires("kubernetes_client_c/0.9.0")
def layout(self):
cmake_layout(self)
```
2- Use following command (in the root directory of project) to install all dependencies that are specified in the `conanfile`:
```
conan install . --build=missing
```
3- Finally, edit `CMakeLists.txt` of your project to link against libraries. In this case, we link to `kubernetes_client_c` library.
2024-04-21 14:35:35 +03:00
Add these lines after declaring the target in CMakeLists.
**CMakeLists.txt**
```
find_package(kubernetes_client_c)
target_link_libraries(<your_target> kubernetes_client_c::kubernetes_client_c)
```
Make sure to edit `<your_target>` with the actual target name.
4- Example `#include` headers:
```c
#include <kubernetes/api/CoreV1API.h>
#include <kubernetes/model/v1_pod.h>
#include <kubernetes/config/kube_config.h>
```