Commit Graph

494 Commits

Author SHA1 Message Date
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