-
Notifications
You must be signed in to change notification settings - Fork 1k
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
CMake: add tigervnc library #1920
base: master
Are you sure you want to change the base?
Conversation
17ade78
to
f482209
Compare
3a96fb2
to
9809c7a
Compare
Core, RDR, RFB, and Network are used to generate object libraries, and then combined into a static library tigervnc. |
64263e5
to
21e605e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm afraid we are not at a point where we could promise any kind of API stability. As such, we don't want to package any library for others to use.
It's also not something we are currently working towards. C++ makes writing libraries difficult because the ABI is so fragile. I'm not sure what that design would look like.
Of course, it is unstable at the moment. However, with everyone's efforts, it will become stable.
What are working towards?
It turns out that the ABI written in c++ is strong and easy, e.g. Qt. I strongly recommend providing libraries!!! |
The PR only provides an API and does not involve ABI. If ABI is to be provided, a large number of modifications are required. It is mainly an export interface for dynamic libraries. I'll help modify if you want. Currently being refactored. So offering an API from now on is the best opportunity. The next version is v2.0.0. |
This project is currently focused on providing a good multi-platform client, and a Unix server. Being a library for others to use has not been a goal.
That's a good start. But I'm doubtful we'll get too much uptake from others. Things like neatvnc and libvncserver already exist, and I don't see any signs there is a pressing need for another player. If there was little cost, then we could always try. But freezing the API is a big undertaking. Especially when it wasn't designed for that to begin with. It's not something we want to spend our limited development resources on. If you would like to make progress towards a library, I suggest you start with incremental suggestions on more minimal and stable interfaces. We don't want to export everything as the library interface. |
We have similar goals. My project RabbitRemoteControl
These are C language libraries. where libvncserver is in the stopped state. Their program structure doesn't meet my needs.
Although your initial target is not a library, but this project inherits the good programming habits of RealVNC. Maintain good API, multi-platform compatibility.
Yes, I will maintain it according to this principle. |
Add tigervnc development library.
Usage:
Only install tigervnc development library
Only install application
Install all