cleanup cmake exports and pkg-config files
authorBernhard Miklautz <bernhard.miklautz@thincast.com>
Fri, 8 Jan 2016 13:07:35 +0000 (14:07 +0100)
committerBernhard Miklautz <bernhard.miklautz@thincast.com>
Tue, 12 Jan 2016 16:32:33 +0000 (17:32 +0100)
commit6fa36081112c46951096cddfacc0f760e4728b25
treefaa77e8b06f52d02adc4fb5f4877a707ca62bc9b
parentb8136a376992dc0ba037ca402e7a7c4eca6c412b
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.
75 files changed:
CMakeLists.txt
channels/CMakeLists.txt
channels/audin/client/CMakeLists.txt
channels/audin/client/alsa/CMakeLists.txt
channels/audin/client/mac/CMakeLists.txt
channels/audin/client/opensles/CMakeLists.txt
channels/audin/client/oss/CMakeLists.txt
channels/audin/client/pulse/CMakeLists.txt
channels/audin/client/winmm/CMakeLists.txt
channels/audin/server/CMakeLists.txt
channels/cliprdr/client/CMakeLists.txt
channels/cliprdr/server/CMakeLists.txt
channels/disp/client/CMakeLists.txt
channels/drdynvc/client/CMakeLists.txt
channels/drdynvc/server/CMakeLists.txt
channels/drive/client/CMakeLists.txt
channels/echo/client/CMakeLists.txt
channels/echo/server/CMakeLists.txt
channels/encomsp/client/CMakeLists.txt
channels/encomsp/server/CMakeLists.txt
channels/parallel/client/CMakeLists.txt
channels/printer/client/CMakeLists.txt
channels/rail/client/CMakeLists.txt
channels/rdpdr/client/CMakeLists.txt
channels/rdpdr/server/CMakeLists.txt
channels/rdpei/client/CMakeLists.txt
channels/rdpei/server/CMakeLists.txt
channels/rdpgfx/client/CMakeLists.txt
channels/rdpsnd/client/CMakeLists.txt
channels/rdpsnd/client/alsa/CMakeLists.txt
channels/rdpsnd/client/ios/CMakeLists.txt
channels/rdpsnd/client/mac/CMakeLists.txt
channels/rdpsnd/client/opensles/CMakeLists.txt
channels/rdpsnd/client/oss/CMakeLists.txt
channels/rdpsnd/client/pulse/CMakeLists.txt
channels/rdpsnd/client/winmm/CMakeLists.txt
channels/rdpsnd/server/CMakeLists.txt
channels/remdesk/client/CMakeLists.txt
channels/remdesk/server/CMakeLists.txt
channels/serial/client/CMakeLists.txt
channels/server/channels.c
channels/smartcard/client/CMakeLists.txt
channels/tsmf/client/CMakeLists.txt
channels/tsmf/client/alsa/CMakeLists.txt
channels/tsmf/client/ffmpeg/CMakeLists.txt
channels/tsmf/client/gstreamer/CMakeLists.txt
channels/tsmf/client/oss/CMakeLists.txt
channels/tsmf/client/pulse/CMakeLists.txt
channels/urbdrc/client/CMakeLists.txt
channels/urbdrc/client/libusb/CMakeLists.txt
client/.gitignore
client/CMakeLists.txt
client/FreeRDP-ClientConfig.cmake.in [new file with mode: 0644]
client/Windows/CMakeLists.txt
client/X11/CMakeLists.txt
client/common/CMakeLists.txt
client/freerdp-client.pc.in [new file with mode: 0644]
include/CMakeLists.txt
libfreerdp/CMakeLists.txt
libfreerdp/FreeRDPConfig.cmake.in [moved from FreeRDPConfig.cmake.in with 100% similarity]
libfreerdp/freerdp.pc.in [moved from freerdp.pc.in with 68% similarity]
rdtk/CMakeLists.txt
rdtk/include/CMakeLists.txt
rdtk/rdtk.pc.in [new file with mode: 0644]
server/.gitignore
server/CMakeLists.txt
server/FreeRDP-ServerConfig.cmake.in [new file with mode: 0644]
server/common/CMakeLists.txt
server/freerdp-server.pc.in [new file with mode: 0644]
server/shadow/CMakeLists.txt
third-party/.gitignore
winpr/.gitignore
winpr/CMakeLists.txt
winpr/include/CMakeLists.txt
winpr/winpr.pc.in [moved from winpr.pc.in with 74% similarity]