Commit Graph

30 Commits

Author SHA1 Message Date
Armin Novak 93148ea35f [cmake] add RDTK_FORCE_STATIC_BUILD
since rdtk is only used by shadow server add an option to directly link
it with -DRDTK_FORCE_STATIC_BUILD=ON without installing any header or
library
2023-12-21 18:56:51 +01:00
Armin Novak e8f5f90603 [cmake] add RDTK_FORCE_STATIC_BUILD
since rdtk is only used by shadow server add an option to directly link
it with -DRDTK_FORCE_STATIC_BUILD=ON without installing any header or
library
2023-12-21 17:29:39 +01:00
akallabeth 615fcc4370 [cmake] prevent in source builds 2023-11-28 12:14:55 +01:00
Kimon Hoffmann 8ec4d20616 [cmake] Locate PkgConfig module with find_package() instead of include(FindPkgConfig)
This is the contemporary way of including find modules and including the
find module this way avoids cmake errors in conjunction with
find_package_handle_standard_args().

Signed-off-by: Kimon Hoffmann <Kimon.Hoffmann@lawo.com>
2023-08-21 12:43:56 +02:00
akallabeth 793d80f2c4 [cmake] update ci defaults 2023-08-04 12:59:11 +02:00
akallabeth 8470b6ea26 [cmake] set default build type
set with CACHE STRING FORCE to properly be picked up by configuration
tools
2023-08-04 12:59:11 +02:00
akallabeth 76d23885d4 [cmake] add common options to subprojects 2023-08-04 12:59:11 +02:00
Armin Novak f0e9797b4c [build] require CMake >= 3.13
required for target_link_options
2023-02-27 11:18:02 +01:00
akallabeth 82ba9ede9c [freerdp] use FREERDP_/UWAC_/RDTK_ prefix for conditional headers 2023-01-10 17:38:00 +01:00
akallabeth 1aacf504a1 Increase C standard to C11 2022-06-03 08:51:40 +02:00
akallabeth a0ca2b4a6e Add LTO settings 2022-06-03 08:51:40 +02:00
akallabeth 860f44f762 CMake check_include and struct cleanup
Move to WinPR what should be there.
2022-04-29 14:27:44 +02:00
Armin Novak 8dc7c2b612 Reorganized RDTK headers 2022-03-03 11:26:48 +01:00
akallabeth 70ea2eef46 Fixed *_EXPORTS 2022-03-01 08:00:25 +01:00
Armin Novak cb27338bf4 Set required C standard to C99 with extensions 2022-02-24 12:31:58 +01:00
Armin Novak f2725d7850 Fix missing WinPR version requirement for RDTK 2022-02-10 12:49:00 +00:00
Armin Novak b05625ff1f Fixed RdTk include directories 2021-06-28 15:06:30 +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 3831233301 Added stdbool.h compat header 2021-06-18 11:32:16 +02:00
Bernhard Miklautz 1aec784f75 feat: add support for .source_version
When building packages, especially when source packages are used, git is
not necessarily available or the source isn't provided in git. In those
cases it wasn't possible to set the GIT_REVISION and --version shows
"n/a" for the git revision.

If the file .source_version is available now the content of it is used
as GIT_REVISION. Packagers might want to add a .source_version file
when they don't build the packages from git.

Possible breaking change:

The variable PRODUCT_VERSION isn't available anymore. Use GIT_REVISION
instead.
2017-10-06 15:02:23 +02:00
Bernhard Miklautz 1bad57c2f9 Don't export/install rdtk
Although exported rdtk isn't really mature and stable yet therefore it is
not exported/installed anymore. In case FreeRDP is built without
static libraries librdtk is installed as part or the
FreeRDP-ShadowTargets exports as this is the only place it is used right
now.
2016-05-02 16:10:31 +02:00
Bernhard Miklautz babbc4b83f Increase rdtk version to 2.0.0
rdtk was initially 1.0.0 then changed to 0.0.1.
To have a clean cut and prevent problems on systems which already have
FreeRDP in a version where rdtk was 1.0.0 increase it to 2.0.0
2016-03-16 13:15:24 +01:00
Armin Novak 20ada7d347 Fix pkg-config generation. 2016-01-18 22:46:29 +01:00
Bernhard Miklautz 3232be51b0 Use major version only for SOVERSION
For 2.0+ major will be increased if ABI/API isn't compatible anymore.
2016-01-14 10:47:57 +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
Bernhard Miklautz 43beef36ff rdtk/shadow: install libraries versioned 2014-12-12 19:26:23 +01:00
Bernhard Miklautz ec0de7f6f6 rdtk: build samples only if WITH_SAMPLE is enabled 2014-12-12 17:53:33 +01:00
Marc-André Moreau 085496b60f rdtk: add sample X11 window program 2014-10-21 12:38:15 -04:00
Marc-André Moreau abd87ace55 rdtk: initial commit 2014-09-29 16:08:08 -04:00