Commit Graph

88 Commits

Author SHA1 Message Date
Bernhard Miklautz
8cb873b054 client/X11: fix build without client interface
Fix build when -DWITH_CLIENT_INTERFACE=OFF is used.
2016-05-03 10:44:42 +02:00
Bernhard Miklautz
783807229d build: add missing dependencies
Add all missing dependencies found with --no-undefined. Since
dependencies aren't exported anymore (if not required) it is no necessary
to explicitly list all required libraries.
2016-04-07 15:10:00 +02:00
Bernhard Miklautz
9e8c6c99b6 First shot on fixing over linking
If a target is linked against libraries with cmake
(target_link_libraries) and the libraries are not marked as PRIVATE
they are "exported" and in case a other target is linked against this
target it is also linked against *all* (not private) libraries.

Without declaring private libraries PRIVATE a lot of over linking
(linking against unneeded libraries) was done.
2016-03-29 18:14:34 +02:00
Bernhard Miklautz
6fa3608111 cleanup cmake exports and pkg-config files
With this commit the "exported" components (usable with pkg-config and
cmake find module package)
* winpr - winpr library and headers
* freerdp - core library and headers
* freerdp-client - client specific library
* freerdp-server - server specific library
* rdtk - rdtk headers and library

To allow the installation of multiple different version (different major
number) the include files were moved into the respective sub folder:
freerdp -> freerdp{MAJOR}/freerdp (currently freerdp2/freerdp/)
winpr -> winpr{MAJOR}/winpr (currently winrp1/winpr/)
rdtk -> rdpk{MAJOR}/rdtk (currently rdtk0/rdtk/

The generated pkg-config and cmake find modules now also include the major
version number. Currently the following pkg-config are generated and
installed.
* winpr1
* freerdp2
* freerdp-server2
* freerdp-client2
* rdtk0

As cmake is able to handle multiple versions out of the box the
following can be used to find a specific module:

find_package(WinPR)
find_package(FreeRDP)
find_package(FreeRDP-Server)
find_package(FreeRDP-Client)
find_package(RdTk)

As cmake doesn't automatically resolve dependencies for packages it is
necessary to manually include the requirements. For example if
FreeRDP-Client is required WinPR and FreeRDP need to be included
(find_package) as well.

This commit also fixes the installation when STATIC_CHANNELS are built.
WITH STATIC_CHANNELS all channels are linked into libfreerdp-client, for
this all channels are generated as linker archive and linked together in
the final step. Before the intermediate linker archives were, although
not required and useful, installed. Same applies for server side
channels.
2016-01-12 17:32:33 +01:00
Wouter van Kesteren
857c003e47 cmake: tweak manpage install location
This patch is needed when wanting to install binaries/libraries to other
locations than data. The linux distro Exherbo installs binaries and
libraries to /usr/<chost>/bin, /usr/<chost>/lib respectively but
manpages should still go in /usr/share/man/ because they are
architecture independent, without this patch they go in
/usr/<chost>/share/man unconditionally.

cmake documentation states:
DATAROOTDIR - read-only architecture-independent data root (share)

So this patch makes it use that so that its configurable.
2015-11-09 21:57:41 +01:00
Bryan Everly
18b335e2f2 Added support for manpage construction for OpenBSD 2015-04-24 08:38:35 -04:00
Armin Novak
059374457d Removed library prefix override. 2014-09-17 11:27:11 +02:00
Bernhard Miklautz
0313ca3622 libfreerdp: always build "MONOLITHIC"
"libfreerdp" consisted of multiple (small) single libraries. If the cmake
option MONOLITHIC was used only one library was build combining all of
the libfreerdp-* libraries.
The only exceptions to this are libfreerdp-server and libfreerdp-client these
are build as separate libraries.

This commit obsoltes non-monolithic builds and makes monolithic builds
the default. The cmake option MONOLITHIC is also removed.
2014-09-12 00:19:53 +02:00
Armin Novak
ad3255354d Added WITH_LIBRARY_VERSIONING, allowing to build shared libraries without
SOVERSION information. (required by Android)
2014-07-11 11:53:58 +02:00
Bernhard Miklautz
6a49bcfe40 winpr: always build "monolitic"
winpr is now always build as single library.
The build option MONOLITHIC_BUILD doesn't influence this behavior anymore.

The only exception is winpr-makecert-tool which is still build as extra
library.

This obsoletes complex_libraries for winpr.
2014-07-10 11:10:58 +02:00
Norbert Federa
196330111b xfreerdp: xfixes selection ownership notification
The X11 core protocol does not have support for selection ownership
notifications. Until now xfreerdp worked around this issue by always sending
a format list pdu to the server after sending the format data response pdu
which makes the server side think that the clients clipboard data has changed.

This workaround has some severe drawbacks:
* it causes unnecessary data transfers because even without local clipboard
  data changes the same data is always re-transferred over the channel
* with some clipboard managers (in the server sessions) you will get massive
  endless data transfer loops because these managers immediately request the
  data on clipboard changes.

The correct (core X11) way would be polling for selection ownership changes
which must include the ability to detect changes to the TIMESTAMP target if
the selection owner did not change.
The alternative to the poll based approach is using the X Fixes extension in
order to get selection ownership notifications.

This commit adds support for the XFIXES solution and also moves the complete
clipboard related event handling from xf_event.c to xf_cliprdr.c
2014-07-07 20:31:23 +02:00
Marc-André Moreau
83edc68422 xfreerdp: start integrating graphics pipeline 2014-06-04 18:03:25 -04:00
Marc-André Moreau
e9653519fb xfreerdp: add proper OpenSSL include directory 2014-04-23 09:51:22 -04:00
Marc-André Moreau
55565e056c freerdp: export targets 2013-10-28 23:06:39 -04:00
Marc-André Moreau
e429136c0c libwinpr-wtsapi: started internal RPC stubs 2013-08-23 00:06:22 -04:00
Marc-André Moreau
3194967957 xfreerdp: fix monolithic build 2013-08-15 13:25:29 -04:00
Armin Novak
9b95c55574 Replaced xmlto with xsltproc to word around a bug preventing manpages
to be build, when there are spaces in the build path.
2013-08-06 15:02:36 +02:00
Armin Novak
ef574c0fcc Added missing dependency for custom command generating manpage. 2013-08-06 12:40:48 +02:00
Armin Novak
be37b91e3d Minor adjustments in naming. 2013-08-06 11:54:37 +02:00
Armin Novak
38be366a67 Fixed generation of configure header, now replacing date fields
with current date.
Added CMake script to generate a variable containing the current
date.
Removed last argument (the terminating NULL element) from output.
2013-08-06 11:54:37 +02:00
Armin Novak
9295838f81 Added simple converter generating docbook XML from command line
argument struct.
Modified xfreerdp.1.xml to include generated documentation.
Modified CMake to regenerate manpages correctly using the generator.
2013-08-06 11:54:37 +02:00
C-o-r-E
340c3a4246 merged completely (painful) from awakecoding's tree 2013-06-25 20:41:32 -04:00
Marc-André Moreau
b5bb3619b8 xfreerdp: rename xf_interface.h to xf_client.h 2013-06-15 13:41:05 -04:00
C-o-r-E
e72b79940c merged upstream 2013-06-05 14:59:24 -04:00
C-o-r-E
4c4622aac7 xfreerdp-client: fixed build on OS X 2013-05-21 20:16:14 -04:00
Marc-André Moreau
b385e61bc0 xfreerdp-client: start trying to send multitouch events 2013-05-13 19:17:25 -04:00
C-o-r-E
fe78d6d1bc attempt fixing big merge 2013-05-13 14:41:06 -04:00
Marc-André Moreau
91a55ae741 xfreerdp: integrate corey's multitouch code 2013-05-08 21:51:16 -04:00
C-o-r-E
4cdc276e25 merged 2013-05-05 17:57:31 -04:00
C-o-r-E
9ac3f599d6 xfreerdp-client: initial xrender scaling test 2013-05-02 20:31:22 -04:00
C-o-r-E
327eddbd58 xfreerdp-client: hack cmake for ubuntu imagemagick 2013-05-01 12:39:26 -04:00
C-o-r-E
da7ecc320c xfreerdp-client: attempt fixing cmake for imagemagick 2013-05-01 12:03:41 -04:00
C-o-r-E
adfaf2b8c4 xfreerdp-client: cmake hacks for imagemagick 2013-04-29 20:21:59 -04:00
Marc-André Moreau
983f42254d xfreerdp-server: split into library/executable 2013-04-29 16:37:11 -04:00
C-o-r-E
6bad744ab6 xfreerdp-client: refactor xf_input 2013-04-25 18:57:41 -04:00
C-o-r-e
4a9ea669dc xfreerdp-client: Xi build changes 2013-04-25 18:30:39 -04:00
Marc-André Moreau
fc3f75d867 xfreerdp: start experimenting with multitouch 2013-04-25 17:00:43 -04:00
corey
d404c0dab0 xfreerdp-client: testing xinput 2013-04-23 21:28:05 -04:00
Marc-André Moreau
f0a45f96f5 client: add CLIENT_INTERFACE_SHARED option forcing shared client libs with BUILD_SHARED_LIBS=off, making a single library 2013-04-10 17:09:35 -04:00
Marc-André Moreau
022ceec22a xfreerdp: split client into executable and library 2013-04-02 16:22:30 -04:00
Marc-André Moreau
5660b94b92 xfreerdp: start client interface 2013-04-02 13:22:59 -04:00
Daryl Poe
b64408975d freerdp primitives library 2013-01-18 15:32:58 -07:00
Bernhard Miklautz
d81c0be0b9 build: require XShm for building xfreerdp 2012-11-23 13:55:02 +00:00
Marc-André Moreau
e62860ab29 cmake: replace FindOptionalPackage macros with FindFeature macros 2012-11-02 19:27:01 -04:00
Marc-André Moreau
210ba6ac8c channels: fix linking of libfreerdp-client and libfreerdp-server 2012-10-19 13:10:42 -04:00
Marc-André Moreau
aaef9694ab libfreerdp-channels: split in client/server functionality, move to libfreerdp-channels-client and libfreerdp-channels-server 2012-10-15 17:03:34 -04:00
Marc-André Moreau
7f98af7d20 libfreerdp-client: update clients to link to proper library 2012-10-14 12:21:33 -04:00
Marc-André Moreau
639bb0d79d cmake: started simplifying monolithic build option 2012-10-13 15:20:39 -04:00
Marc-André Moreau
40eea7c76b cmake: rename WITH_MONOLITHIC_BUILD to MONOLITHIC_BUILD 2012-10-08 22:55:06 -04:00
Marc-André Moreau
ac7e1a3aea channels: make rail, drdynvc, cliprdr and rdpsnd built-in channels 2012-10-08 22:48:17 -04:00