Commit Graph

492 Commits

Author SHA1 Message Date
akallabeth
822ba31c31 [bsd] clean up bsd related detections 2023-10-10 22:59:53 +02:00
akallabeth
0529658e75 [cmake] cleaned out unused cmake files 2023-10-10 22:59:53 +02:00
akallabeth
4a2dd167d7 [linux] add defaults for audio backends 2023-10-10 22:59:53 +02:00
akallabeth
f977de89e3 [pulse] move detection to module 2023-10-10 22:59:53 +02:00
akallabeth
046767b195 [opensles] moved detection to modules
* Rename variables to match package name
* Move find_package to where it is actually used
2023-10-10 22:59:53 +02:00
akallabeth
89429885a0 [cmake] make generated pkg-config files relocatable
* new CMake option PKG_CONFIG_RELOCATABLE (default ON) allows generating
  traditional or relocatable pc files
2023-10-10 19:35:27 +02:00
akallabeth
c6535ae689 [cmake] fix krb5 help text 2023-09-02 07:56:21 +02:00
Armin Novak
dd9757d686 [server] add exerimental and unmaintained warnings 2023-08-21 15:42:10 +02: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
67bc4565e2 [cmake] default to require FFMPEG and SWCALE
As for modern RDP some kind of H264 and image scaling is required,
default to enable FFMPEG support.
2023-08-04 12:59:11 +02:00
akallabeth
10ea529f70 [cmake] build samples by default 2023-08-04 12:59:11 +02:00
akallabeth
21ac28bb54 [cmake] build server components by default 2023-08-04 12:59:11 +02:00
akallabeth
2b84309b10 [mingw] fix build issues on debian 12 2023-08-01 13:32:35 +02:00
Armin Novak
605b6b6233 [cmake] build using external lodepng 2023-07-26 20:19:46 +02:00
Armin Novak
c9f55a964d [cmake] no longer override CXX variables with C counterparts 2023-07-26 16:19:07 +02:00
Armin Novak
4816a7d2a5 [cmake] require freetype for sdl2ttf 2023-07-24 10:49:38 +02:00
akallabeth
97415f0d52 [client,sdl] add user dialogs 2023-07-20 14:25:08 +02:00
Armin Novak
646a78d19c [cmake] do proper pkcs11 detection
do not rely on find_feature but use a CMake option and find_package
2023-06-28 10:02:15 +02:00
Armin Novak
3e44efc841 [cmake] use FindX11 from CMake 3.13 2023-05-31 11:05:56 +02:00
akallabeth
87b8c25392 [cmake] only check client deps for standalone builds 2023-05-26 11:38:32 +02:00
akallabeth
f941a1ec8e [cmake] unify RPATH settings and client deps detection 2023-05-26 11:38:32 +02:00
Sergey Bronnikov
3cbef821c0 [cmake] Enable static building
OSS Fuzz strongly recommends static linking for tests [1]. Patch enables
static linking for a fuzzing test added in commit
2ad1469612 ("Add fuzzer for
certificate_data_set_pem()").

1. https://google.github.io/oss-fuzz/further-reading/fuzzer-environment/#runtime-dependencies
2023-05-25 19:39:24 +02:00
akallabeth
b5fc019c64 [cmake] update clang toolchain 2023-05-24 08:24:32 +02:00
akallabeth
edce982f9e [cmake] add X11 dependent libraries to detection 2023-05-23 08:51:18 +02:00
Armin Novak
5826a4ae11 [CMake] find_feature unset RECOMMENDED
If a feature with status RECOMMENDED is not detected, unset the
WITH_FEATURE flag.
2023-03-13 08:39:46 +01:00
Marc-André Moreau
b34bad2b50 fix and improve cJSON detection 2023-03-11 08:20:10 +01:00
Armin Novak
9c56ce1336 [channels,tsmf] drop gstreamer 0.1 support 2023-03-01 15:34:09 +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
c9e61ff0c5 [cmake] simplify krb5 detection 2023-02-27 11:18:02 +01:00
Armin Novak
f0e9797b4c [build] require CMake >= 3.13
required for target_link_options
2023-02-27 11:18:02 +01:00
Armin Novak
3c160ff8b1 [build] remove unused option WITH_DEBUG_X11_CLIPRDR 2023-02-23 20:28:15 +01:00
Armin Novak
d694733106 [client,x11] fix fuse detection and use 2023-02-21 16:42:54 +01:00
Armin Novak
070353bf90 added SDL2 client 2023-01-10 17:38:00 +01:00
akallabeth
f67a7aa16a [build] added WITH_DEBUG_CODECS
A new build option to enable more verbose logging in some video codecs.
2022-12-13 13:38:25 +01:00
Armin Novak
a930343608 fixed krb5 find 2022-12-09 12:36:12 +01:00
dev
a5c68c04c1 [build] fix kerberos detection on mac 2022-12-09 12:36:12 +01:00
Armin Novak
2e3239f479 [build] Fixed krb5 detection 2022-12-09 12:36:12 +01:00
Armin Novak
615f2eb60f [build] fixed kerberos settings 2022-12-09 12:36:12 +01:00
fifthdegree
ad87144ce5 Rename WITH_GSSAPI to WITH_KRB5
Change cmake variables to not be gssapi specific
2022-12-09 12:36:12 +01:00
Sergey Bronnikov
249b4f80d0 Fix building fuzzers with disabled OSS_FUZZ 2022-11-30 20:06:21 +01:00
akallabeth
663f041053 Added warning for android media codec 2022-11-15 15:42:37 +01:00
Armin Novak
5e5b2a35dc Fixed FindXi.cmake
XITouchClass is a define, XITouchClassInfo a struct, that is not
properly detected by CMake check_symbol_exists. Ignore this as all
recently enough versions support touch.
2022-10-12 22:30:07 +02:00
nia
8f44b9cf87
Use CMAKE_INSTALL_MANDIR for installing man pages. (#8113)
Some Unix-like systems (e.g. the BSDs) keep man pages in man/,
others (e.g. Linux) keep man pages in share/man/.

By using CMAKE_INSTALL_MANDIR there's no need to maintain a
list of per-OS locations, and the proper location can be
automatically detected.

Fixes man page installation on NetBSD.

Signed-off-by: Nia Alarie <nia@NetBSD.org>

Signed-off-by: Nia Alarie <nia@NetBSD.org>
2022-08-16 10:01:50 +02:00
akallabeth
c71cc672f9 Decouple ffmpeg video encoder/decoder support from WITH_FFMPEG
It may be diesirable to only use FFMPEG for audio. Allow disabling
video decoding by introducing a new variable responsible for that.
2022-07-05 18:17:28 +02:00
Staph. aureus
b72e06b9b9 Remove Xmlto
As the use of xmlto to generate manpage is replaced by xsltproc
in 9b95c55574
I believe it would be better to remove Xmlto related codes, so
unnecessary dependencies would not be installed for building this package.
2022-07-05 09:06:10 +02:00
Armin Novak
9a98f28b06 Add git revision to buildconfig by default
if someone is using the source without GIT, let them have the work
to provide a proper version information
2022-06-20 15:39:32 +02:00
Armin Novak
0da860ad1f Updated ios toolchain file with version from https://github.com/leetal/ios-cmake 2022-05-03 11:48:20 +02:00
Iordan Iordanov
511444a65e Switch to official OpenSSL Download location and away from github.
One of the benefits is that this adds support for building with OpenSSL 3.0 versions without breaking support for building with 1.1.1.

As part of the work, the assumption that there is an /archive/ in the download path is removed.

Furthermore, cmake modules for finding OpenSSL are updated in order to support 3.0.
2022-04-07 09:10:40 +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
2d2627deab
Fixed SSPI fallback to NTLM (#7642)
* Fixed SSPI fallback to NTLM

* Fixed wide/ansi mixup

* WITH_GSS fixes

* Move to WinPR as this is not related to FreeRDP
* Add option WITH_GSS_NO_NTLM_FALLBACK to disable NTLM fallback

* Abort NLA if status is SEC_E_NO_CREDENTIALS

* Properly invalidate sspi::SubContext
2022-02-15 09:04:17 +01:00
Armin Novak
5f9338ad9a Fixed WITH_MEDIACODEC definition 2022-01-26 10:24:26 +01:00
Ely Ronnen
52202762e8 adding mediacodec h264 implementation using NDK 2022-01-26 10:24:26 +01:00
Armin Novak
10d4b9d473 Fixed WITH_FUZZERS compile 2022-01-11 14:32:18 +01:00
David Fort
d4020e2328 winpr: implement ncrypt API
This implements the emulation for the ncrypt API and more specifically the smartcard
provider so that we can list available keys and certificates using pkcs11-helper.
2021-12-14 14:12:01 +01:00
Armin Novak
4f0a6c8ee3 Disable media foundation backend by default 2021-12-14 12:37:02 +01:00
Hans-Peter Jansen
35cd866075 Add cmake function ShowCMakeVars and display configured paths in build 2021-10-11 08:38:53 +02:00
akallabeth
e4cd8674d7
Win proxy fix (#7311)
* Do not change warning level for MSVC builds

* Fixed windows PDB paths.
2021-09-22 16:00:00 +02:00
akallabeth
8dc782d009 Fixed #7294: Spelling 2021-09-17 07:25:51 +02:00
Armin Novak
2c31c36759 Fixed FFMPEG detection without pkgconfig 2021-07-22 15:11:15 +02:00
akallabeth
9de02e547e Fixed FUSE api detection 2021-07-02 12:42:05 +02:00
akallabeth
1c7e3933a4
Fixed CMake options, define in library that use them. (#7141) 2021-07-01 16:19:12 +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
akallabeth
81cef9251f Upgrade CMake requirement to 3.4 2021-06-22 08:54:18 +02:00
Armin Novak
e9e7b2d62e Fixed missing include in cmake/FindFeature.cmake 2021-06-22 08:54:18 +02:00
akallabeth
112400ca66 Removed stub for x264, not implemented 2021-06-16 15:21:56 +02:00
Marc-André Moreau
10d2e8a349 iOS build system fixes 2021-05-31 11:21:15 +02:00
Marc-André Moreau
f749b0b5e5 Fix OpenSSL link library order on Android 2021-05-30 14:33:55 -04:00
Marc-André Moreau
0029f6cc1d Android build system fixes (OpenSLES, CMAKE_PREFIX_PATH, debug symbols) 2021-05-28 10:20:25 +02:00
jackyzy823
b972d70a9e x11: refactor fuse code 2021-01-18 19:13:56 +01:00
jackyzy823
7f043ebb52 x11: update cmake file to build with fuse2/fuse3 or without fuse 2021-01-18 19:13:56 +01:00
jackyzy823
d537988f28 x11: add support for remote to local clipboard file copy 2021-01-18 19:13:56 +01:00
Sergey Bronnikov
b1ad70c387 Add option BUILD_FUZZERS and config to build fuzzing tests
Patch adds support of fuzzing for local running and running
on OSS-Fuzz infrastructure [1]. Support can be enabled with option
BUILD_FUZZERS that disabled by default. Config fuzzer_config
includes options that should be used for building fuzzing tests.

How-To Build:

$ cmake -DBUILD_FUZZERS=ON \
	-DCMAKE_C_COMPILER="/usr/bin/clang" \
	-DCMAKE_CXX_COMPILER="/usr/bin/clang++"
	-B build -S .
$ make -j -C build

1. https://google.github.io/oss-fuzz/getting-started/new-project-guide/

Closes #6680
2020-12-23 09:13:35 +01:00
akallabeth
d82c14c3d8 Added CMake warning messages for expensive debug options 2020-11-26 14:41:59 +01:00
akallabeth
a7b210d448 Increased minimum ios deployment target. 2020-10-15 09:49:02 +02:00
akallabeth
f2d5cf2b41 Updated android build scripts for ci. 2020-04-09 10:03:20 +02:00
Armin Novak
197a5ccd8c Added libusb detection for windows. 2020-03-09 12:43:42 +01:00
Armin Novak
83348ef98f CMake options to compile without proxy or shadow
* Added WITH_SHADOW (default ON) to compile without shadow server
* Added WITH_PROXY (default ON) to compile without proxy server
2020-03-09 08:50:40 +01:00
Mark Karpeles
bf94b03f24 fix FindFFmpeg.cmake: locating avcodec not using pkgconfig variable 2020-02-28 09:49:28 +01:00
Martin Fleisz
f484b20787
Merge pull request #5907 from akallabeth/cmake_channel_dependency_fix
Cmake channel dependency fix
2020-02-26 16:18:46 +01:00
Armin Novak
829497b313 Made CHANNEL_TSMF optional and deprecated. 2020-02-26 13:56:43 +01:00
Armin Novak
00f5f014c6 Fixed CMake channel dependencies for variables. 2020-02-25 16:56:42 +01:00
Armin Novak
eb124efa77 Add CMake config option for VAAPI 2020-01-16 09:53:39 +01:00
Kobi Mizrachi
e3728c1822 server: proxy: do not compile modules by default 2020-01-14 07:58:47 +01:00
Armin Novak
744c31a69e Fixed SWScale cmake find script.
* Wrong name for pkg-config (thanks @floppym for pointing that out)
* Formatting issues, there were spaces in path and variables that
  should not have been there.

Signed-off-by: Armin Novak <armin.novak@thincast.com>
2019-12-19 08:45:29 +01:00
Armin Novak
0a3721587a Cleaned up primitives code. 2019-11-22 13:21:39 +01:00
David Fort
5f0943f0fe primitives: add openCL support
This patch adds the basic infrastructure to have openCL acceleration.
For now only YUV2RGB is implemented but other operations could be
implemented.
The primitives have been massively reworked so that we have an autodetect
mode that will pick the best implementation automatically by performing a
benchmark.

Sponsored-by: Rangee Gmbh(http://www.rangee.com)
2019-11-22 13:21:39 +01:00
Antenore Gatta
d4dc553a67 Better libcairo dependencies handling though cmake 2019-08-14 18:11:14 +02:00
Armin Novak
92ca3002e3 Allow build without WinPR tools 2019-08-14 15:10:00 +02:00
kubistika
e2eeb9f870 rdpgfx: Add WITH_DEBUG_RDPGFX option 2019-06-04 10:29:05 +03:00
Armin Novak
8c919fad70 Added a CMake option for the clangformat target support. 2019-05-23 14:14:31 +02:00
Armin Novak
6604df0795 Added clang format script.
new code formatting rules are now enforced by this script.
2019-05-16 11:25:40 +02:00
Armin Novak
6a8755a763 Added image scaling api for software drawing.
For future GFX channel functions an image scaling function is required.
This moves the implementation from wayland client to core library
and adds support for the much faster SWScale library.
2019-05-07 08:56:29 +02:00
Armin Novak
8d6a6df48a Implements #5215: Smart sizing using libcairo 2019-02-08 12:08:30 +01:00
David Fort
72ad4af356
Merge pull request #5221 from akallabeth/wayland_mouse_cursor
Added wayland mouse cursor
2019-01-29 15:11:38 +01:00
Armin Novak
99c92308a3 Fixed wayland library detection. 2019-01-29 09:34:30 +01:00
Armin Novak
23fa6b9182 Added mouse cursor callback stubs. 2019-01-29 09:34:30 +01:00
Peter Åstrand (astrand)
ea35e2387d Check MSVC_RUNTIME only if MSVC is defined
On MinGW, WIN32 is set but not MSVC
2019-01-09 10:01:44 +01:00
Pascal J. Bourguignon
7d07bce64f cmake: made FindGSSAPI.cmake able to detect kerberos versions such as: "Kerberos 5 release 1.18-prerelease". 2018-12-21 11:59:04 +01:00
Armin Novak
4c3626340c Set minimum deployment target to 10.0 2018-12-03 17:06:35 +01:00