Currently not working are rename and setting of read only attribute and file times.
In addition it also adds the ability to staticly link plugins into the binary, so you get one big exe and need no dlls. I have only tested this on windows (only disk plugin so far).
I use the following options for cmake for static binary:
cmake -DWITH_MONOLITHIC_BUILD=ON -DMSVC_RUNTIME=static -DBUILD_SHARED_LIBS=OFF -DWITH_RDPDR=ON -DOPENSSL_INCLUDE_DIR=\opensslpath\inc32 -DOPENSSL_LIBRARIES="\opensslpath\out32.dbg\ssleay32.lib;d:\path\out32.dbg\libeay32.lib" -G "Visual Studio 9 2008" .
Important notice: Openssl need to be compiled with the same static runtime. Currently missing is a switch to link different openssl libraries for debug and release builds.
CMake allows to define variables (e.g. -D) even if they are not defined as options.
If a build feature requires a cmake version > 2.6 build might fail
therefore a check is required.
Check for WITH_MONOLITHIC_BUILD requirements added (prevents issue #724)
On Gentoo Linux, CMAKE_INSTALL_LIBDIR is passed as an absolute path,
which caused plugins to be installed in /usr/usr/lib/freerdp.
The new logic better emulates the behavior of the real GNUInstallDirs module.
Now --version prints something like "This is FreeRDP version 1.0.1 (git
1.0.1-710-g90ec2)". Having a git commit id helps to identify builds and eases
debuggin.
The downside is that GetGitRevisionDescription retriggers a cmake
re-configuration after each git commit. But thats the only way to get correct
version informations without having git hooks or similar.
GetGitRevisionDescription is based on Ryan Pavlik cmake Modules.
Due to Multi-arch requirement, we need to be able to assign the
extensions path by prefix. This patch adds the support to change
the default extensions path base on prefix.
Signed-off-by: Ying-Chun Liu (PaulLiu) <paul.liu@canonical.com>