New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to build without CMake ? #39
Comments
The best way to answer all questions is to read CMakeLists.txt files.
Anyway, I recommend to use CMake, even your project uses another build system, because it will be hard to maintain your own build files. Just specify CMAKE_INSTALL_PREFIX to CMake, compile and install TDLib to local directory, and use prebuilt library in your project. |
I understand but I really don't want to build full lib with Cmake, it takes ages (more than 30 min on my very decent machine), and produces a lot of things which I don't need/use. Also using prebuild lib will complicate the build steps and deploy, and source management. On one of my target systems, I'm not even sure to have Cmake available to prebuild lib once. I'll try to create my Qbs file by extracting information from Cmake for the TdStatic target. |
Just a fair warning: do not expect compilation time to be decreased after migration to Qbs. Also the build should be much faster than 30min when you are using clang and parallel build with make or ninja. |
I need to integrate a small part of the lib into a C++/Qt app and I don't want to handle CMake in additional to my usual build system (Qbs) so I was wondering a few questions :
How is the source organized (understand : "which folder defines which part, which part depends on which other ?")
What is the minimum set to compile to have a fully fonctional C++ lib, without external bindings, or tests, or examples, or docs ?
All I need is a in-app build, kinda like static build, so what is the smallest entity to build ?
What folders contains the include headers for my app ? I just need to add a path to them, not to install anywhere...
Are they any code generation steps mandatory before being able to build ?
I need only Linux support (GCC and Clang) so which parts of the code are other OSes specific (Android, Windows, OSX ?)
Thanks in advance
The text was updated successfully, but these errors were encountered: