Commit Graph

43 Commits

Author SHA1 Message Date
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 d7ebec5a65 [tidy] move loop variable declaration to loop 2024-02-22 12:31:50 +01:00
akallabeth 0ba995655d [clang-tidy] cppcoreguidelines-init-variables 2024-02-15 11:49:16 +01:00
akallabeth 207def5c56 [clang-tidy] readability-isolate-declaration 2024-02-15 11:49:16 +01:00
Armin Novak 9e9ad3815d fix typos in various places 2023-12-12 19:36:54 +01:00
Armin Novak dd9757d686 [server] add exerimental and unmaintained warnings 2023-08-21 15:42:10 +02:00
Kai Pastor 5ecc011c13 Export interface include directories 2023-08-01 11:12:46 +02:00
akallabeth b4e9c8b39f [build] removed complex libraries
* remove obsolete complex libraries helper
* fix static linking
2023-03-01 08:18:34 +01:00
Armin Novak 4d03d7c0bf Freerdp remove #ifdef HAVE_CONFIG_H 2022-03-03 11:26:48 +01:00
Armin Novak b2ad47a809 Reorganized FreeRDP headers 2022-03-03 11:26:48 +01: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
Biswapriyo Nath 37bbf9d218 CMake: Install DLLs in bin folder.
In Win32 platform, executables and runtime libraries need to be in one folder.
2021-05-25 09:41:44 +02:00
Armin Novak 72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +01:00
Armin Novak e319ec5bd3 Fixed missing return in server_rdpsnd_get_formats 2018-10-17 16:17:41 +02:00
Armin Novak 7e1589a3e4 Added default rdpsnd formats. 2018-09-26 12:49:52 +02:00
Armin Novak 2cf0662559 Unified format support for rdpsnd. 2018-09-26 12:49:52 +02:00
Armin Novak 40dae15cff Moved server-common to public header. 2018-09-26 12:49:09 +02:00
Armin Novak db2a0dbdc0 Unified format selection. 2018-09-26 12:49:09 +02:00
Armin Novak 5e14bb1b11 Mac fixes 2018-09-26 12:49:09 +02:00
Martin Fleisz c2eacd3b31 Build: Use correct pdb names when installing with symbols 2017-01-31 13:32:51 +01:00
Bernhard Miklautz bbb6bf6b43 Include major version number in library names
Currently it is not possible to cleanly install multiple major version
of FreeRDP concurrently as some of the development libraries (.so files)
files can conflict.

This change renames all libraries to include the major version number in
the library name to fix this limitation.

The list of changed libraries:

libwinpr-tools.so -> libwinpr-tools2.so
libwinpr.so -> libwinpr2.so
libfreerdp.so -> libfreerdp2.so
libfreerdp-client.so -> libfreerdp-client2.so
libfreerdp-shadow.so -> libfreerdp-shadow2.so
libfreerdp-server.so ->  libfreerdp-server2.so
libfreerdp-shadow-subsystem.so -> libfreerdp-shadow-subsystem2.so
libuwac.so -> libuwac0.so

As the library names have changed, projects that use FreeRDP will need to
update their dependencies. -
If pkg-config or cmake find modules are used, reconfiguration might be
sufficient.

Fixes #3460
2017-01-16 11:11:58 +01:00
Armin Novak c182be093d Removed module.def from build config. 2016-02-29 15:24:07 +01:00
Armin Novak 68c402ac58 Removed windows module.def files.
All symbols exported from libraries are declared
using *_API defines.
2016-02-29 15:18:47 +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
Armin Novak 6ed43cd6ec Updated pdb file locations.
Now supporting generators NMake and Visual Studio.
2015-12-15 12:08:35 +01:00
Armin Novak cb958ba9c6 Added pdb files to package target.
Fixed name collision with freerdp-shadow targets.
2015-12-15 12:07:21 +01:00
Bernhard Miklautz 3e0e0c868e Revert a bug introduced in PR #2134
FREERDP_CHANNELS_SERVER_SRCS need to be added to server/common that the
symbols get added and exported with libfreerdp-server.

Also remove duplicated version information.
2014-11-12 17:15:13 +01:00
Vic Lee 288097e271 Removed library prefix on Windows def files. 2014-11-03 12:39:27 +08:00
Martin Fleisz 0be28ba0f6 Merge pull request #1965 from akallabeth/dynamic-addin-naming
Dynamic channel library naming
2014-10-31 13:42:16 +01:00
Armin Novak 22c775988b Using global RC_VERSION_PATCH now. 2014-10-09 16:20:32 +02:00
Armin Novak 5364a834c4 Added windows version information to build. 2014-10-03 15:17:40 +02:00
Armin Novak 059374457d Removed library prefix override. 2014-09-17 11:27:11 +02:00
Armin Novak ad3255354d Added WITH_LIBRARY_VERSIONING, allowing to build shared libraries without
SOVERSION information. (required by Android)
2014-07-11 11:53:58 +02:00
Bernhard Miklautz b817e92e5e cmake: mark required libraries for export 2014-04-23 10:16:02 +02:00
Marc-André Moreau 37450da55d cmake: fix exporting of targets on pre-2.8.11 2013-10-29 14:47:40 -04:00
Marc-André Moreau 7edfe66274 freerdp: various missing link dependencies and symbol exports 2013-09-03 21:48:26 -04:00
Bernhard Miklautz 9a33dbe826 build: fixed library versioning
Split version numbers into:
FREERDP_API_VERSION - the version of the API which is major.minor
FREERDP_VERSION - version of a release consisting of major.minor.revision (e.g. 1.1.0)
FREERDP_VERSION_FULL - like FREERDP_VERSION but with an optional "build" suffix (e.g 1.1.0-dev)
2012-11-18 17:07:33 +01:00
Marc-André Moreau 210ba6ac8c channels: fix linking of libfreerdp-client and libfreerdp-server 2012-10-19 13:10:42 -04:00
Marc-André Moreau 63858bf722 cmake: improve NSIS packaging 2012-10-17 13:07:29 -04:00
Marc-André Moreau 5eb8ddd1bf wfreerdp-server: fix build on Windows 2012-10-16 13:31:16 -04:00
Marc-André Moreau b0f368b10e cmake: fix install path, add RPATH configuration 2012-10-14 12:58:09 -04:00
Marc-André Moreau 8cfb69623e libfreerdp-channels: add libfreerdp-client and libfreerdp-server libraries that bundle client/server static channels 2012-10-14 03:43:10 -04:00