Pierre Ossman
ab8626a54d
Add fallback for finding gmp
pkg-config support was added very recently to gmp, so a lot of platforms
we want to support won't find gmp this way.
1 year ago
Pierre Ossman
7b32549083
Split gmp detection to separate module
It is a (weird) dependency of nettle, and not part of nettle itself. So
split it to a separate module for clarity.
1 year ago
pdlan
484ae7a2ea
Add support for RSA-AES security types
1 year ago
Pierre Ossman
101cef956d
Find FFMPEG using pkg-config
This is the standard method of finding it on Unix systems, so make sure
we use it. Still keep a fallback, though, for other systems, e.g.
Windows.
2 years ago
Pierre Ossman
1527f0b6db
Use pkg-config for pixman
This is the standard method of finding it on Unix systems, so make sure
we use it. Still keep a fallback, though, for other systems, e.g.
Windows.
2 years ago
Pierre Ossman
115d3f883e
Add target_link_directory() compat function
We need this function to deal with pkgconfig files properly, but
unfortunately it doesn't exist until CMake 3.13, and we need to support
CMake 3.10. So add a hacky compatibility function for older systems.
2 years ago
Alex Richardson
9d2b692afd
Allow building with -DBUILD_VIEWER=OFF
Without this change I get CMake errors due to use of ${FLTK_INCLUDE_DIR}
and references to the non-existent vncviewer target.
2 years ago
Pierre Ossman
eb13d1be68
Fix bad library references for some static deps
3 years ago
Pierre Ossman
d484001e97
Add comment why unistring is linked dynamically
3 years ago
Danny Park
df3171ea79
Update build system so it will compile on Windows 10.
With this commit, TigerVNC will compile for Windows using MSYS2, MinGW-w64 and Inno Setup 6. The resulting binaries have some dll dependencies (even with BUILD_STATIC). The required dll dependencies are not included in the installer.
Unfortunately, the latest version of MSYS2 and MinGW-w64 do not produce a working executable for Windows 7.
3 years ago
Pierre Ossman
0b1d57be37
Test packaging on Travis
Don't just build things, also test the various packaging.
3 years ago
Aaron Sowry
95ad018961
Implement touch gesture handling on Unix
Allows the user to perform certain important mouse operations using
touch gestures instead.
5 years ago
Aaron Sowry
c79a05dc15
Implement X Input pointer handling for Unix
Switch from using Core events to using X Input events for pointer
devices in order to differentiate between mouse events and touch events.
Because FLTK doesn't understand X Input 2, we intercept these events and
translate them to core events where possible.
5 years ago
Pierre Ossman
ecb016fe3f
Switch region code to pixman
This is the current upstream so let's make use of it to get the latest
in features and fixes.
4 years ago
Pierre Ossman
849bd56728
Also link in math library in static build
It's included by default in dynamic builds so we need to make sure it
isn't lost when switching to static.
4 years ago
Pierre Ossman
e4f253e1d1
Use standard install dir variable names
This makes our builds directly compatible with most distributions
without packagers/users having to specify extra flags.
5 years ago
Pierre Ossman
7996059455
Fix C linking when doing static builds
5 years ago
Pierre Ossman
57da16bbcf
Include Carbon when statically linking gettext on macOS
As gettext needs some stuff from Carbon and we don't want to rely on it
being pulled in as a side effect.
4 years ago
Pierre Ossman
5ef3a70d1d
Fix link order of nettle and hogweed
Hogweed needs nettle, not the other way around. So make sure they
are specified in the correct order for the static link to succeed.
4 years ago
Pierre Ossman
18ba39cb71
Include libuuid in static builds
Modern fontconfig needs it, so make sure it is included.
5 years ago
Peter Åstrand (astrand)
97eeefd771
Link zlib statically on all platforms
The API and ABI isn't as stable as we need, so it isn't safe to
link it dynamically even on Linux.
5 years ago
Peter Åstrand (astrand)
242c5b2c8a
Add RandR support for x0vncserver
Change Xserver screen through libXrandr. For complex configurations,
all outputs must have corresponding size modes. As a special case, if
the client requests a single screen with an odd size (for example when
adjusting the size of a non-fullscreen vncviewer), find a smaller
suitable mode, and reduce the framebuffer size as well.
6 years ago
Peter Åstrand (astrand)
6011f96cdc
Rename README.txt to README.rst and convert to reStructuredText
6 years ago
Pierre Ossman
2699967aad
Improve test if library is a CMake target
Newer CMake complains when you try to get the property of something
that isn't a target so use the specific if operator instead.
6 years ago
Pierre Ossman
c27f5da1b7
Avoid getting LOCATION property
It's not supported in newer CMake, so try to deduce the library
filename from the target name.
6 years ago
Pierre Ossman
82e753d4e1
Add libpng as a dependency for freetype for static builds
Newer versions of Freetype requires libpng as well.
6 years ago
klemens
0536d0975b
spelling fixes
7 years ago
Pierre Ossman
4495b72f99
Update .la files on each build
This makes sure other build systems trigger properly, e.g. when
building Xvnc.
7 years ago
Pierre Ossman
b74728f9d6
Add option to enable thread sanitizer
8 years ago
DRC
2a2e2c3611
Allow static linking against only the GCC libs
8 years ago
Pierre Ossman
86640e8f91
Add address sanitizer switch
Useful for debugging memory leaks and access violations. It is
not available on Windows though, and there is some problem compiling
ObjectiveC++ with it turned on.
8 years ago
Pierre Ossman
de2df7e600
Set libdir in generated .la files
This is needed in order to get libtool to treat them as normal
libraries and not "convenience libraries". The latter are linked
with --whole-archive, which pulls a lot of unnecessary stuff into
Xvnc and libvnc.so.
9 years ago
Pierre Ossman
95763a63e8
GnuTLS needs socket libraries so include them in the static link
9 years ago
Peter Åstrand (astrand)
c4bc5a8f0e
Build fixes for modern versions of binutils.
Need to explicitly list DSOs.
9 years ago
Pierre Ossman
cc8c6a296f
Drop bundled zlib
We're not doing a sufficient job of keeping this updated so list
it as an external requirement instead.
9 years ago
Brian P. Hinz
44759765fc
Static build fix - only attempt to link against libtasn1 if it's present
GnuTLS may be compiled without external libtasn1, so we shouldn't try
to link against it unless it's actually present.
9 years ago
Brian P. Hinz
37c2f4da50
Back out previous change
Needed to merge upstream changes in before creating pull request.
9 years ago
Brian P. Hinz
2773ff9371
Static build fix - only attempt to link against libtasn1 if it's present
GnuTLS may be compiled without external libtasn1, so we shouldn't try
to link against it unless it's actually present.
9 years ago
Pierre Ossman
df3cc42631
Handle mingw circular dependencies in base libraries
Our link order should now match the built-in library list.
9 years ago
Pierre Ossman
881a8e27fc
Handle static linking flags in .la files
9 years ago
Pierre Ossman
40a5f9ef65
Handle arguments that have the -l prefix
9 years ago
Pierre Ossman
216d591f41
Split up any entries that contain multiple link arguments
This happens sometimes in order to enforce a strict ordering.
9 years ago
Pierre Ossman
818550b54d
The output variable from find_library() needs to be cleared
Otherwise you'll just get the initial response back every time
you call it.
9 years ago
Pierre Ossman
d94e3f2d3c
Remove obsolete reference to staticlib
We don't use that directory anymore.
9 years ago
Pierre Ossman
ced99a9dba
Use dynamic builds by default
Static builds are the special case, so it should be left off
by default.
9 years ago
Pierre Ossman
5b9303a697
Include gettext and zlib in static GnuTLS link
This is needed to make sure they are always included, and in the
proper order.
9 years ago
Pierre Ossman
95491397a5
Only link with crypt32 on Windows
crypt32 is a Windows thing, and it is used no matter the crypto
backend.
9 years ago
Pierre Ossman
4790e114da
Put quotes around entire static link variables
CMake is very aggressive about minimising the list of libraries,
so we need to be similarily aggressive about quotes to make sure
we get everything we want and in the correct order.
9 years ago
Brian P. Hinz
a6d6dbb5b0
Add in missing dependency for windows builds.
Commit f95272d
created some undefined references in GnuTLS.
9 years ago
Pierre Ossman
f95272de30
Extend "static" build option
Try to link as much as possible statically in an effort to produce
binaries that can be run everywhere.
9 years ago