Commit Graph

59 Commits

Author SHA1 Message Date
Kai Pastor
5ecc011c13 Export interface include directories 2023-08-01 11:12:46 +02:00
akallabeth
27d0da9df0 [cmake] remove duplicate setting for position independent code 2023-05-23 08:51:18 +02:00
akallabeth
2b3c8c47a4 [build] fix install with BUILD_SHARED_LIBS=OFF
generate proper CMake targets so static linking works again.
2023-05-12 08:03:56 +02:00
akallabeth
e28760f91e [cmake] fix OBJECT library link deps
Follow up to #8801, OBJECT libraries need to link dependencies with
PUBLIC so that the library using the OBJECT libraries can link against
these too
2023-03-16 10:58:01 +01:00
Marc-André Moreau
3cc12d5886 use cmake object libraries for built-in virtual channel plugins 2023-03-15 16:20:50 +01:00
akallabeth
273bb6a7a8 [build] use static libraries as intermediate 2023-03-01 08:18:34 +01:00
akallabeth
b4e9c8b39f [build] removed complex libraries
* remove obsolete complex libraries helper
* fix static linking
2023-03-01 08:18:34 +01:00
akallabeth
c054666311 [channels] simplified channel subsystem linking 2023-03-01 08:18:34 +01:00
akallabeth
cf9777cd92 [channels] simplified server linking 2023-03-01 08:18:34 +01:00
akallabeth
c3a82daad6 [channels] simplified client linking 2023-03-01 08:18:34 +01:00
akallabeth
0307482506 [channels,rdpsnd] add rdpsnd-common object lib 2023-03-01 08:18:34 +01:00
akallabeth
6a2626498b Disable channel builds if -DWITH_CHANNEL=OFF 2022-10-13 14:38:06 +02:00
Armin Novak
fd027d1bf0 Removed BUILTIN_CHANNELS
Building client channels out of tree does not work reliable as the
dependencies can not be easily split. (exceptions may be simple ones
as echo channel)
It does complicate the build system and code though, so remove this
for maintainability reasons.
2022-02-23 10:43:46 +01:00
akallabeth
0733dd3743
Fixed installation of FreeRDP-ClientTargets.cmake (#7117) 2021-06-24 11:21:44 +02:00
akallabeth
184506db4a
Fixed installation of FreeRDP-ClientTargets.cmake (#7115) 2021-06-24 10:02:02 +02:00
Armin Novak
8ef57bf296 Replaced CMAKE_[SOURCE|BINARY]_DIR with PROJECT_[SOURCE|BINARY]_DIR
Thanks @Pollux42 for the hint in #7096
2021-06-22 08:54:18 +02:00
akallabeth
b453d5e40e Fixed rdtk, uwac and winpr standalone builds 2021-06-22 08:54:18 +02:00
Armin Novak
95bf87a063 Replaced CMake list find with loop to fix build issues. 2020-02-27 11:18:54 +01:00
Armin Novak
d8c3ccb375 drdynvc: reorder filepaths when adding channels 2020-02-26 10:19:12 +01:00
Armin Novak
00f5f014c6 Fixed CMake channel dependencies for variables. 2020-02-25 16:56:42 +01:00
Armin Novak
f77b3daaa0 Fix channel linking for built in channels 2020-02-18 11:14:05 +01:00
Norbert Federa
90cdfa7646 cmake: replaced STATIC_CHANNELS with BUILTIN_CHANNELS 2016-06-15 13:36:27 +02:00
Bernhard Miklautz
41298d69a9 build: fix builds with -DBUILD_SHARED_LIBS=OFF
When no shared libs are built is required to export all generated
archive files otherwise programs linking against
freerdp-client/freerdp-server might miss symbols.

Fixes #3350
2016-05-18 17:13:45 +02:00
Bernhard Miklautz
ede0da3280 build: fix a problem with cmake version 2.8.11
Starting with cmake 2.8.10 FreeRDP exports a cmake find module. With 2.8.12
the PRIVATE/PUBLIC keywords were introduced in cmake. When building with
2.8.11 it is not possible to mark link dependencies as private and
therefore they need to be exported.
2016-01-15 13:32:25 +01: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
Armin Novak
cb958ba9c6 Added pdb files to package target.
Fixed name collision with freerdp-shadow targets.
2015-12-15 12:07:21 +01:00
Bernhard Miklautz
1b663ceffe build: cmake 3.1 compatibility
* fix problem with REMOVE_DUPLICATES on undefined lists
* since 3.1 file(GLOB FILEPATHS RELATIVE .. returns single / instead of // as
  previously - necessary adoptions for regex and matches done. Should
	work with all cmake versions.

Tested with 3.1.0-rc3
2014-12-12 19:26:22 +01:00
Armin Novak
22c775988b Using global RC_VERSION_PATCH now. 2014-10-09 16:20:32 +02:00
Armin Novak
5364a834c4 Added windows version information to build. 2014-10-03 15:17:40 +02:00
Marc-André Moreau
ecddb58ba2 channels: cmake cleanup, USB redirection refactoring 2012-11-20 19:34:52 -05:00
Marc-André Moreau
2e1a7447a1 channels: refactoring of channel subsystems 2012-11-19 22:31:15 -05:00
Marc-André Moreau
d478950abd channels: fix compilation with debug output 2012-11-17 17:03:02 -05:00
Marc-André Moreau
0f79d5c62a cmake: added generation of static tables for channel subsystems 2012-11-05 19:55:15 -05:00
Marc-André Moreau
08cf1d34df cmake: fix STATIC_CHANNELS=off build 2012-10-23 11:55:41 -04:00
Marc-André Moreau
5bebfc798d cmake: add client/server channel options 2012-10-19 16:47:48 -04:00
Marc-André Moreau
b5989f7299 cmake: refactoring of channel options with macros 2012-10-19 15:27:55 -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
81e485736f channels: refactoring of channels cmake scripts with macros 2012-10-17 02:14:19 -04:00
Marc-André Moreau
0c1fd59d5f cmake: fix client add library macro 2012-10-16 17:33:07 -04:00
Marc-André Moreau
5eb8ddd1bf wfreerdp-server: fix build on Windows 2012-10-16 13:31:16 -04:00
Marc-André Moreau
d0314a569e libfreerdp-channels: refactoring of cmake static entry table generation 2012-10-15 16:31:41 -04:00
Marc-André Moreau
010761055e libfreerdp-channels: refactoring of channels cmake scripts with macros 2012-10-15 14:44:46 -04:00
Marc-André Moreau
ac7e1a3aea channels: make rail, drdynvc, cliprdr and rdpsnd built-in channels 2012-10-08 22:48:17 -04:00
Marc-André Moreau
6431621282 channels: added generation of static channel entry table 2012-10-07 22:53:24 -04:00
Marc-André Moreau
659a901450 cmake: add solution folder subdirectories 2012-10-01 11:48:53 -04:00
Marc-André Moreau
6cb933aa5a channels: added build options to enabled/disable client and server channels 2012-09-22 20:16:38 -04:00
Marc-André Moreau
e4e85be15d channels: add automatic inclusion and bundling of built-in server channels 2012-09-22 19:25:21 -04:00
Marc-André Moreau
538c89e311 cmake: add OpenSSL and MSVC runtime build options 2012-09-21 19:28:47 -04:00
Marc-André Moreau
cb8c0ef3c8 channels: refactoring of cmake build scripts 2012-09-20 23:39:27 -04:00
Marc-André Moreau
4b720a6c0d client: merging Mac OS X and Windows client improvements from Jay Sorg 2012-07-31 16:27:42 -04:00