-
-
Notifications
You must be signed in to change notification settings - Fork 19
How to build FarNet
Prerequisites
- Microsoft Visual Studio 2015 with C++ tools installed.
- Far Manager in C:\Bin\Far\Win32 or C:\Bin\Far\x64.
- Invoke-Build tools in the path, at least Invoke-Build.ps1 and ib.cmd.
- PowerShell execution policy is RemoteSigned, Unrestricted, or Bypass.
Clone the FarNet repository or get the source archive at GitHub and unzip.
Generate meta files once before building in Visual Studio:
ib Meta <path>\.build.ps1
Or, if <path>
is the current directory:
ib Meta
Open FarNetAccord.sln in Visual Studio. After opening set FarNetMan as the startup project. Choose the configuration Debug or Release and the platform Win32 or x64. Do not use the platform Mixed which is set by default.
Now you can try to build the solution. There may be a known issue. On some machines you can get an error
... Cannot open include file: 'stdint.h' ... C:\Bin\Far\Win32\PluginSDK\Headers.c\plugin.hpp ...
If this is the case then search for the file stdint.h in various installed Visual Studio and SDK directories. Try to set found directories one by one as one of the environment variables FarNetInclude1 (to be used before standard includes) or FarNetInclude2 (to be used after standard includes).
This is very awkward and annoying but a better workaround is not found yet. Suggest one. The good news is that this has to be done once per a machine. Some examples on different machines:
- FarNetInclude1 is set to C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include
- FarNetInclude2 is set to C:\Program Files\Microsoft Visual Studio 10.0\VC\include
In other words, some version of this file is needed for compiling successfully.
The built plug-in, FarNet assemblies, and other files are automatically copied to C:\Bin\Far\Win32 or C:\Bin\Far\x64 depending on the current platform. These locations currently cannot be configured.
If you build by Visual Studio then the TargetFrameworkVersion is v4.5. Other versions, e.g. v4.0 and v3.5, are built by Invoke-Build as:
ib Build -TargetFrameworkVersion v3.5
For such builds you must have Visual Studio 2010 or 2008 because FarNetMan is a C++/CLR project and it requires older tools in order to build it for .NET v4.0 or v3.5.
FarNet
Modules
- CopyColor
- Drawer
- EditorKit
- FarLite
- FarMongo
- FolderChart
- FSharpFar
- GitKit
- JavaScriptFar
- JsonKit
- PowerShellFar
- RedisKit
- RightControl
- RightWords
- Vessel
Libraries
F# Libraries