Commit Graph

153 Commits

Author SHA1 Message Date
akallabeth
0ae7c4b52d
[cmake] refactor configuration
* Split common stuff to reusable files
* Disable INTERPROCEDURAL_OPTIMIZATION for SDL2/3 resource targets
2025-02-11 11:33:34 +01:00
akallabeth
046413a8c3
[cmake] fix formatting 2025-01-31 12:29:37 +01:00
akallabeth
65feb9ecd1
[cmake,tests] add BUILD_TESTING_NO_H264
allow disabling H264 unit tests for package builds. Some distributions
do not ship full implementations for the package builders
2025-01-30 12:32:59 +01:00
oleg0421
7b4a903f66 MS-RDPECAM: VAAPI h264 encoding 2025-01-14 04:32:12 -08:00
akallabeth
61c049b2e6
[primitives,benchmark] add benchmark tool for primitives 2025-01-10 10:17:13 +01:00
akallabeth
b4976163cd
[CMake,simd] unify WITH_SSE2, WITH_AVX2, WITH_NEON
* Add new CMake option WITH_SIMD to enable best available instruction
  type
* Unify simd related defines in single header
2024-12-03 11:54:36 +01:00
akallabeth
faae38120c
[cmake,format] reformat all cmake files 2024-11-27 20:41:48 +01:00
Armin Novak
527db6783b
[cmake] split tests
* Keep BUILD_TESTING, but only run tests compatible with API (for
  packaging)
* Add BUILD_TESTING_INTERNAL for all tests including internal function
  tests that modify API to be run on our CI
2024-10-24 09:45:44 +02:00
Armin Novak
0df01bcf8d
[cmake] Allow disabling AVX2 extensions 2024-10-02 15:14:29 +02:00
Armin Novak
44b07721ec
[client,X11] fix ActionScript
* Unify script calls
* Update documentation
* Fix home directory
2024-07-25 09:42:03 +02:00
akallabeth
26e570e9fe
[cmake] unify clang detection
* Move Clang detection to own CMake file
* Check for Clang and AppleClang
* Use CMAKE_COMPILER_IS_CLANG to check for Clang in code
2024-06-25 09:09:50 +02:00
akallabeth
7aa72a7507
[core,settings] unify configuration paths
* Add new function freerdp_settings_get_config_path to get current
  user configuration directory
* Add CMake option WITH_FULL_CONFIG_PATH (default OFF): If defined, use
  <appdata>/Vendor/Product as config directory, otherwise use
  <appdata>/vendor (lowercase, only if vendor equal to product)
2024-06-06 11:31:22 +02:00
akallabeth
0a0df77c39 [build,ipp] drop support for IPP
Intel Performance Primitives do not have a test setup in FreeRDP and
most likely no longer compile.
2024-04-16 12:44:38 +02:00
akallabeth
678ff144ab [cmake] unify windows resource file generation
* use a macro to add resource files for executables and shared libraries
* use that macro to declare targets
* use that macro to set library/binary versioning
* use that macro to set target output name
* use a macro to create manpages and names
2024-03-20 11:17:18 +01:00
akallabeth
e2e6d09256 [cmake] use DEFAULT_DEBUG_OPTION for all 2024-02-13 17:06:00 +01:00
Armin Novak
4dc7399fbc deactivate man pages on windows 2023-12-20 09:21:31 +01:00
Armin Novak
ab9462151e [cmake] deactivate WITH_SSE and WITH_NEON by default
the SIMDI extensions are hard to reliably detect, so deactivate by
default and let the distributor enable them.
2023-12-20 09:03:58 +01:00
r-a-sattarov
dcefd4f861 E2K: added initial support of MCST Elbrus 2000 CPU architecture
Ref: https://en.wikipedia.org/wiki/Elbrus_(computer)
2023-12-04 11:51:46 +01:00
akallabeth
822ba31c31 [bsd] clean up bsd related detections 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
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
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
Armin Novak
3c160ff8b1 [build] remove unused option WITH_DEBUG_X11_CLIPRDR 2023-02-23 20:28:15 +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
Sergey Bronnikov
249b4f80d0 Fix building fuzzers with disabled OSS_FUZZ 2022-11-30 20:06:21 +01: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
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
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
Armin Novak
4f0a6c8ee3 Disable media foundation backend by default 2021-12-14 12:37:02 +01:00
akallabeth
1c7e3933a4
Fixed CMake options, define in library that use them. (#7141) 2021-07-01 16:19:12 +02:00
akallabeth
b453d5e40e Fixed rdtk, uwac and winpr standalone builds 2021-06-22 08:54:18 +02: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
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
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
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
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