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
Armin Novak
e9296e1179
[client,sdl] fix architecture paths for WebView2
2024-06-05 14:54:27 +02:00
Armin Novak
cedc631b3e
[client,SDL] add windows WebView2 link
...
Add a CMake script to download and link WebView2 for SDL client
2024-06-05 13:52:10 +02:00
akallabeth
35859c81a1
[client,sdl] allow side by side and replacement
...
Allow SDL2 and SDL3 client to be installed side by side as well as an
option to only install one and name it accordingly
2024-05-16 18:27:44 +02:00
akallabeth
ac69cf346e
[cmake] add missing include
...
include(CMakeDependentOption) before use.
2024-05-16 16:51:55 +02:00
akallabeth
4b3ecfac47
[winpr,utils] fix cJSON detection
...
* pkg-config sets CJSON_FOUND, check for that instead of the paths, which
might be unset or set to <var>-NOTFOUND
* move detection to own file. find_package targets are meant to be used
in same directory or below, but we define the WinPR target one above,
so include it in parent
2024-05-16 13:27:22 +02:00
Ondrej Holy
15c78a27f2
[cmake] really use pkg_check_modules results for json-c
...
Although, the `pkg_check_modules` function is used when finding the
json-c library, the results are never used. Let's add the `HINTS` params
for the `find_path` and `find_library` functions.
2024-05-16 11:56:08 +02:00
Ondrej Holy
29bb435ecc
[cmake] add JSON library find modules
...
* Add module for cJSON
* Add module for json-c
2024-05-14 20:45:07 +02:00
Ondrej Holy
5f07ffda94
[cmake] fix typo in comment
2024-05-14 18:11:33 +02:00
مهدي شينون (Mehdi Chinoune)
d219ed7179
Don't setup MSVC Runtime on MinGW
2024-05-04 11:33:30 +02:00
Ondrej Holy
5a28b046d5
[winpr,ncrypt] bundle pkcs11.h and drop pkcs11-helper dependency
...
The ncrypt implementation currently relies on the pkcs11-helper library.
That is not available on RHEL for example. Let's bundle the standardized
header file from https://github.com/latchset/pkcs11-headers to avoid the
need for extra dependency.
Related: https://github.com/FreeRDP/FreeRDP/discussions/9982
2024-04-22 17:42:52 +02:00
akallabeth
5583fec47b
[cmake] move epoll detection to platform
2024-04-19 07:31:29 +02:00
akallabeth
f3b2aea781
[cmake] add fuzzer tests
...
tests imported from https://github.com/ergnoorr/fuzzrdp
reported by Evgeny Legerov of Kaspersky Lab.
2024-04-16 13:06: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
Armin Novak
330fe90b21
[cmake] Fix warning in FindOSS.cmake
2024-04-05 13:06:57 +02:00
akallabeth
00cd1c7130
[cmake] do not set NO_SONAME
...
if set the linker might insert full paths to dependencies
2024-04-04 21:51:09 +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
903172737a
[cmake] readd BSD related default include paths
2024-03-20 09:11:08 +01:00
akallabeth
09ff2966af
[cmake] unify BSD related configuration in PlatformDefaults.cmake
2024-03-20 09:11:08 +01:00
akallabeth
faf0c74029
[cmake] add posix requirements
2024-03-20 09:11:08 +01:00
akallabeth
92ed8b3916
[winpr,timezone] outside definition timezone file
...
allow defining the filepath of timezone file in buildsystem adjusting it
without a required code change.
2024-03-20 09:11:08 +01:00
akallabeth
f4b7c59915
[cmake] move platform defines to common include
...
* Move platform specific settings to a common CMake include
2024-03-20 09:11:08 +01:00
akallabeth
15cf6b26b1
[channesl,oss] fix OSS detection
...
* generate a include header depending on where the soundcard.h file was
found as that is in system paths that must not be added to the include
search paths.
* fix detection, the if/else was mixed up and completely broken.
2024-03-20 09:11:08 +01:00
akallabeth
44c86c8049
[cmake] fix RPATH configuration
...
* ConfigureRPATH must use option or cache variables (visibility scope)
* include CommonConfigOptions (and with it ConfigureRPATH) only after
all required variables have been defined
2024-03-12 08:53:51 +01:00
Armin Novak
62f974a5c2
[client,sdl] add shortcut config file
...
Allow keyboard shortcuts to be configured via config file.
2024-02-22 12:24:51 +01:00
akallabeth
e2e6d09256
[cmake] use DEFAULT_DEBUG_OPTION for all
2024-02-13 17:06:00 +01:00
akallabeth
b193f9ab59
[cmake] guard cmake_policy(CMP0091)
...
only set the policy to NEW if it is defined
2024-02-13 16:22:37 +01:00
akallabeth
f22d3065cb
[cmake] fix manpage generation dependencies
2024-01-29 09:34:59 +01:00
akallabeth
ebebc5b2a7
[cmake] set policy CMP0138 NEW
...
with CMake >= 3.24 use the parent project compiler settings for
check_ipo_supported as it might fail otherwise.
2024-01-29 08:46:29 +01:00
Armin Novak
f61d1fd66a
[cmake] fix clang-format detection
2024-01-25 10:36:52 +01:00
akallabeth
fc47a019df
[clang] unify tool detection
2024-01-25 09:40:10 +01:00
akallabeth
98daeb812e
[cmake] add clang-format versions
...
add new versions of clang-format to detection script
2024-01-25 09:40:10 +01:00
akallabeth
15d9e5e01a
[cmake] add clang-tidy support
2024-01-25 09:40:10 +01:00
akallabeth
f6a208f75e
[cmake] generate relative pkgconfig path
...
generate the relative pkgconfig path from the actual install locations.
fixes #9718
2024-01-05 14:19:34 +01:00
Armin Novak
0aa084d261
[cmake,lto] only check again if not detected
2023-12-22 16:21:30 +01:00
Armin Novak
a7decba8c2
[cmake] unify common options
2023-12-22 16:21:30 +01:00
Armin Novak
7d641a67b9
[doc,manpage] name manpages versioned
...
if WITH_BINARY_VERSIONING is activated also version the manpages to
match the binary names
2023-12-22 10:24:09 +01:00
Armin Novak
523e2fb359
[cmake] run xsltproc in verbose mode
2023-12-22 10:24:09 +01:00
Armin Novak
6a1a2eb661
[client,common] update manpage helper binary
...
improve formatting of docbook xml from argument description
2023-12-22 10:24:09 +01:00
Armin Novak
c2f4491644
[cmake] FindFeature use same case for _FOUND
2023-12-20 14:08:44 +01:00
Armin Novak
520e3a39e4
[cmake] fix case of library Pixman
2023-12-20 14:08:44 +01:00
Armin Novak
565582f625
[cmake] fix wayland find_package
...
honor case for variables
2023-12-20 14:08:44 +01:00
Armin Novak
a7eeb8e1ba
[cmake] simplify manpage generation
2023-12-20 09:21:31 +01:00
Armin Novak
4dc7399fbc
deactivate man pages on windows
2023-12-20 09:21:31 +01:00
Pascal Nowack
966ad9777e
cmake: Fix man page generation
...
Archlinux has used this patch for three years already to fix the man
page generation. Cherry-pick it to include the fix upstream too.
See also: https://bugs.archlinux.org/task/64814
Co-authored-by: David Runge <dvzrv@archlinux.org>
2023-12-20 09:21:31 +01:00
Armin Novak
c064d54cb1
[client,sdl] add manpage
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
Armin Novak
9e9ad3815d
fix typos in various places
2023-12-12 19:36:54 +01:00
Armin Novak
cb9678b3d4
[cmake] add option to allow in source builds
2023-12-12 19:36:54 +01:00
dev
dd56308bde
[client,mac] Simplify builder
...
* Build MacFreeRDP as normal application, let the bundling out of
building
* Add a bunding script allowing to create a MacFreeRDP with all
dependencies installed
2023-12-05 09:21:23 +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
Armin Novak
b77be28514
[cmake] add check for in source build remnants
...
CMake builds might expose faulty behaviour if remnants of in source
builds remain. Check for these and abort if detected
2023-11-28 16:25:11 +01:00
akallabeth
615fcc4370
[cmake] prevent in source builds
2023-11-28 12:14:55 +01:00
Armin Novak
e0e72f9c28
[cmake] use CMAKE_MSVC_RUNTIME_LIBRARY
...
* Increase required CMake version to 3.15 (windows only)
* Use
https://cmake.org/cmake/help/latest/prop_tgt/MSVC_RUNTIME_LIBRARY.html#prop_tgt:MSVC_RUNTIME_LIBRARY
to select windows runtime
2023-11-16 10:40:04 +01:00
Martin Fleisz
954f6d69cf
dvc: Add field for custom interface data
2023-11-15 14:53:55 +01:00
Martin Fleisz
1363462e7e
cmake: Revert warning compiler flag for MSVC
...
MSVC does not implemented /Wall very well as it floods the output with a
plethora of warnings from system headers.
This greatly reduces compile performance so this change reverts /Wall
back to /W3.
2023-11-15 14:53:55 +01:00
akallabeth
f4afd3922e
[cmake] readd NMake warning reset
2023-10-16 15:10:13 +02:00
Armin Novak
1761edf2f8
[cmake] add default compiler flags
2023-10-16 15:10:13 +02:00
akallabeth
33c1183fe1
[client,sdl] fixed tests and detection
...
* add a pkg-config fallback for SDL2_ttf, current ubuntu does not ship
the cmake config
* deactivated SDL dialog test cases, now compiles properly
2023-10-10 22:59:53 +02:00
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