Changes

Development/Building MatterControl

3,042 bytes added, 02:10, 4 December 2015
Created page with "== Dependencies == *Git *Nuget *.NET Framework or Mono (Usually installed with IDEs) *Development Environment (MonoDevelop, Visual Studio, Xamarin Studio, etc...) == Quick S..."
== Dependencies ==

*Git
*Nuget
*.NET Framework or Mono (Usually installed with IDEs)
*Development Environment (MonoDevelop, Visual Studio, Xamarin Studio, etc...)

== Quick Summary ==
<pre>
~ $ git clone --recursive https://github.com/MatterHackers/MatterControl.git
~ $ cd MatterControl
~/MatterControl (master) $ nuget restore MatterControl.sln
~/MatterControl (master *) $ xbuild MatterControl.sln
~/MatterControl (master) $ mono ./bin/Debug/MatterControl.exe
</pre>

== Detailed Instructions ==

#Create a new folder for the MatterControl source
#:<code>mkdir MatterDevelop</code>
#Change to the new directory
#:<code>cd MatterDevelop</code>
#Checkout the latest source code:
#:<code>git clone --recursive https://github.com/MatterHackers/MatterControl.git</code>
#Install MonoDevelop.
#:<code>sudo apt-get install monodevelop</code>
#Add Mono SSL Support - Copy in Mozilla Root certificates to enable NuGet and MatterControl SSL requests
#:<code>mozroots --import --sync</code>
#Restore NuGet packages - On MonoDevelop 4.0 or older you can install [NuGet Addin](https://github.com/mrward/monodevelop-nuget-addin). If you are on Mint, also install libmono-cairo2.0-cil. Alternatively you can run the command line NuGet application to restore the project packages:
#:<code>nuget restore MatterControl/MatterControl.sln</code>
#Optionally switch to a target branch
#:<code>git -C MatterControl/ checkout master</code>
#:<code>git -C MatterControl/ submodule update --init --recursive</code>
#:As a single command line statement:
#:<code>targetBranch=master && git -C MatterControl/ checkout $targetBranch && git -C MatterControl/ submodule update --init --recursive</code>
#Build MatterControl
#:<code>mdtool build -c:Release MatterControl/MatterControl.sln</code> '''or'''
#:<code>xbuild MatterCControl/MatterControl.sln</code>
#After MatterControl has been built in MonoDevelop it is recommended that you run the application via command line or via a shell script to invoke mono.
#:<code>mono MatterControl/bin/Release/MatterControl.exe</code>
#:If you'd like to log errors for troubleshooting
#:<code>mono MatterControl/bin/Release/MatterControl.exe > log.txt</code>
#:If you want detailed error logging and tracing
#:<code>MONO_LOG_LEVEL=debug mono MatterControl/bin/Release/MatterControl.exe > log.txt</code>
#In order for MatterControl to access the serial ports, you will need to give your user the appropriate permissions. On Debian based distros, add yourself to the dialout group. On Arch, add yourself the the uucp and lock groups instead.
#:<code>gpasswd -a $USER dialout</code>

== Serial Helper ==

#Change to the SerialHelper directory
#:<code>cd MatterControl/Submodules/agg-sharp/SerialPortCommunication/SerialHelper</code>
#Run the build script
#:<code>./build.sh</code>
#If your receive errors you may need to install libc6-dev-i386 for x86 compilation
#:<code>sudo apt-get install libc6-dev-i386</code>


'''Note:''' Single command lines statements assume the use of the Bash shell
[[Category:Development]]]