nicolas-raoul/CmisSync — pull request #185 by felfert (2013-06-09 20:37:11+00:00)
Title: Enable build on Linux with Mono

Hi,

This is the first of 3 pull requests. With this one, CmisSync builds and does not crash. However most of the Functionality in Setup.cs is missing or outdated. In order to build on linux, you currently need a pre-built DotCMIS.dll directly in Extras/

New build-instructions for Linux (will update Linux/README.md later):

After checkout,

1. Copy pre-built DotCMIS.dll into Extras/ (this temporary step will change)

2. run ```make -f Makefile.am``` in the toplevel dir. (autogen.sh is obsolete and was therefore removed).
3. run ```./configure```
4. run ```make```
5. run ```make install```

Or, Steps 2-5 in one call:

```make -f Makefile.am && ./configure && make install```

Windows stuff affected:

- The old CmisSync.Lib/Defines.cs is now named CmisSync.Lib/StaticDefines.cs. In the .csproj, you should add a pre-build step which copies this file to CmisSync.Lib/Defines.cs. (I'm not very familiar with VS, but I think this should be possible in the "Build Events" property tab.)

- Possibly some path issues due to renaming (i did my best to make all necessary adjustments and it should work - but you better check in advance)

- The password crypto stuff has changed (obviously, on non-Windows platforms the windows "Protection" stuff is not available so I replaced it by a plain AES256 - which is available on all platforms - using a hardcoded key - of course this is not really secure but just intended for obfuscation.) - going to add real security (using some "Master" password) later.

Next pull request will be the move of CmisSync/Windows/Properties to CmisSync/Properties.

After that, I'll continue to add the missing functionality in Linux/Setup.cs which - when done - will result in the third pull request.