diff --git a/HOW_TO_COMPILE.md b/HOW_TO_COMPILE.md new file mode 100644 index 00000000..15fefc62 --- /dev/null +++ b/HOW_TO_COMPILE.md @@ -0,0 +1,46 @@ +# 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 Qt's libraries using Qt's additional tool: +
`windeployqt.exe C:\\\`

+ - Deploy C++ libraries by copying them: +
`copy "libstdc++-6.dll" C:\\\` +
`copy "libwinpthread-1.dll" C:\\\` +
`copy "libgcc_s_seh-1.dll" 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. + +