-
-
Notifications
You must be signed in to change notification settings - Fork 19
How to build FarNet
Prerequisites
- Microsoft Visual Studio Community 2013.
- 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 and set the project 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 v4.0
Note that for such builds you may need Visual Studio 2010 and even Visual Studio 2008 installed because FarNetMan is the C++/CLR project and Visual Studio 2013 uses earlier versions in order to build it.
FarNet
Modules
- CopyColor
- Drawer
- EditorKit
- FarLite
- FarMongo
- FolderChart
- FSharpFar
- GitKit
- JavaScriptFar
- JsonKit
- PowerShellFar
- RedisKit
- RightControl
- RightWords
- Vessel
Libraries
F# Libraries