# How to compile
### Requirements / Dependencies
- C++ 20
- Qt6 *(Framework 6.2+, Linguist, Widgets, Charts, Sql, Network)*
- CMake
- gcc / clang / msvc
### Compilation steps
- Prepare a build folder:
`mkdir build && cd build`
- Prepare **CMake**'s build files:
`cmake ../logdoctor -DCMAKE_BUILD_TYPE=MinSizeRel`
- Use **CMake** to compile the entire project:
`cmake --build ./ --target all`
#### Additional steps
- **Linux** / **BSD**:
- No additional steps. Once compiling is done, you can move the executable file wherever you want and execute it from there.
- **Windows**:
- Create a new folder and move the executable in it:
`mkdir LogDoctor && move LogDoctor.exe .\LogDoctor`
- Add the needed libraries to the executable's folder:
- You need to know the path of your Qt installation, default is *C:\Qt*
- You need to know which compiler you used
`cd C:\\\Qt\\\bin`
- Deploy libraries using Qt's additional tool:
`windeployqt.exe C:\\\`
- You can now move the executable's folder wherever you want and execute LogDoctor from there.
- **Mac OS**:
- No additional steps. Once compiling is done, you can use the app bundle to execute LogDoctor.