http://wiki.amule.org/w/api.php?action=feedcontributions&user=Vollstrecker&feedformat=atomAMule Project FAQ - User contributions [en]2024-03-29T11:36:11ZUser contributionsMediaWiki 1.23.3http://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2020-03-06T11:34:32Z<p>Vollstrecker: Added instructions for zlib.</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] -> [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0-win32-x86.msi Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP -> [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library -> [http://www.zlib.net/zlib-1.2.11.tar.gz Download (1.2.11)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp and flex/bison into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
*Unpack zlib, rename the folder to zlib only (without version) and place it in the same directory as you libpng sources.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled<br />
I'll recommend anyway to always build both types'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*When using Visual Studio 2019<br />
**Open the properties of libpng, got to C/C++ -> All Options and change the warning-level to max /W3 on Debug and Release config<br />
**Repeat'the above for zlib<br />
*Build the libpng project of the solution.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== zlib ===<br />
*zlib ships an useable cmake-project.<br />
**Open the dir where you extracted the source and point your cmake-gui to that dir. Build dir can point to the same dir.<br />
**Configure the project<br />
**adjust the install paths to a new dir. Recommended one beside you aMule build-dir.<br />
**Generate and open the project.<br />
**Build the install target.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has).<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake\searchdirs.cmake<br />
**Turn on advanced view in cmake-gui (I prefer to enable grouped view, too). Now you can set the dirs to search (take the opened file as hint).<br />
**Uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) (official download-link is dead)<br />
*Microsoft Visual Studio 2013 (VC12) (official download-link is dead)<br />
*Microsoft Visual Studio 2015 (VC14) (official download-link is dead)</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-25T15:53:51Z<p>Vollstrecker: /* libpng */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] -> [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0-win32-x86.msi Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP -> [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library -> [http://www.zlib.net/zlib-1.2.11.tar.gz Download (1.2.11)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp and flex/bison into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
*Unpack zlib, rename the folder to zlib only (without version) and place it in the same directory as you libpng sources.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled<br />
I'll recommend anyway to always build both types'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*When using Visual Studio 2019<br />
**Open the properties of libpng, got to C/C++ -> All Options and change the warning-level to max /W3 on Debug and Release config<br />
**Repeat'the above for zlib<br />
*Build the libpng project of the solution.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has).<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake\searchdirs.cmake<br />
**Turn on advanced view in cmake-gui (I prefer to enable grouped view, too). Now you can set the dirs to search (take the opened file as hint).<br />
**Uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) (official download-link is dead)<br />
*Microsoft Visual Studio 2013 (VC12) (official download-link is dead)<br />
*Microsoft Visual Studio 2015 (VC14) (official download-link is dead)</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-25T15:51:32Z<p>Vollstrecker: /* cryptopp */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] -> [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0-win32-x86.msi Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP -> [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library -> [http://www.zlib.net/zlib-1.2.11.tar.gz Download (1.2.11)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp and flex/bison into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
*Unpack zlib, rename the folder to zlib only (without version) and place it in the same directory as you libpng sources.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled<br />
I'll recommend anyway to always build both types'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Build the libpng project of the solution.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has).<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake\searchdirs.cmake<br />
**Turn on advanced view in cmake-gui (I prefer to enable grouped view, too). Now you can set the dirs to search (take the opened file as hint).<br />
**Uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) (official download-link is dead)<br />
*Microsoft Visual Studio 2013 (VC12) (official download-link is dead)<br />
*Microsoft Visual Studio 2015 (VC14) (official download-link is dead)</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-20T22:46:07Z<p>Vollstrecker: /* Tested with */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] -> [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0-win32-x86.msi Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP -> [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library -> [http://www.zlib.net/zlib-1.2.11.tar.gz Download (1.2.11)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp and flex/bison into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
*Unpack zlib, rename the folder to zlib only (without version) and place it in the same directory as you libpng sources.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Build the libpng project of the solution.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has).<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake\searchdirs.cmake<br />
**Turn on advanced view in cmake-gui (I prefer to enable grouped view, too). Now you can set the dirs to search (take the opened file as hint).<br />
**Uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) (official download-link is dead)<br />
*Microsoft Visual Studio 2013 (VC12) (official download-link is dead)<br />
*Microsoft Visual Studio 2015 (VC14) (official download-link is dead)</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-19T13:25:07Z<p>Vollstrecker: /* libpng */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] -> [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0-win32-x86.msi Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP -> [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library -> [http://www.zlib.net/zlib-1.2.11.tar.gz Download (1.2.11)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp and flex/bison into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
*Unpack zlib, rename the folder to zlib only (without version) and place it in the same directory as you libpng sources.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Build the libpng project of the solution.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has).<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake\searchdirs.cmake<br />
**Turn on advanced view in cmake-gui (I prefer to enable grouped view, too). Now you can set the dirs to search (take the opened file as hint).<br />
**Uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-19T13:24:30Z<p>Vollstrecker: /* Unpacking the sources */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] -> [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0-win32-x86.msi Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP -> [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library -> [http://www.zlib.net/zlib-1.2.11.tar.gz Download (1.2.11)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp and flex/bison into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
*Unpack zlib, rename the folder to zlib only (without version) and place it in the same directory as you libpng sources.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Add "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has).<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake\searchdirs.cmake<br />
**Turn on advanced view in cmake-gui (I prefer to enable grouped view, too). Now you can set the dirs to search (take the opened file as hint).<br />
**Uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-19T12:33:33Z<p>Vollstrecker: /* Setting the paths needed */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] -> [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0-win32-x86.msi Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP -> [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library -> [http://www.zlib.net/zlib-1.2.11.tar.gz Download (1.2.11)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Add "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has).<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake\searchdirs.cmake<br />
**Turn on advanced view in cmake-gui (I prefer to enable grouped view, too). Now you can set the dirs to search (take the opened file as hint).<br />
**Uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-19T12:28:51Z<p>Vollstrecker: /* Preparing aMule */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] -> [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0-win32-x86.msi Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP -> [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library -> [http://www.zlib.net/zlib-1.2.11.tar.gz Download (1.2.11)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Add "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has).<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-19T12:06:35Z<p>Vollstrecker: /* libpng */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] -> [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0-win32-x86.msi Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP -> [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library -> [http://www.zlib.net/zlib-1.2.11.tar.gz Download (1.2.11)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Add "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-19T10:43:33Z<p>Vollstrecker: /* Requirements for compiling aMule for Windows using cmake */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] -> [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0-win32-x86.msi Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP -> [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library -> [http://www.zlib.net/zlib-1.2.11.tar.gz Download (1.2.11)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-19T10:40:35Z<p>Vollstrecker: /* Requirements for compiling aMule for Windows using cmake */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] - [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0-win32-x86.msi Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library [http://www.zlib.net/zlib-1.2.11.tar.gz Download (1.2.11)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-19T10:17:29Z<p>Vollstrecker: /* boost */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] - [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0.zip Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library [http://www.zlib.net/zlib-1.2.11.tar.gz Download (1.2.11)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-18T22:24:42Z<p>Vollstrecker: /* Requirements for compiling aMule for Windows using cmake */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] - [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0.zip Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library [http://www.zlib.net/zlib-1.2.11.tar.gz Download (1.2.11)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-18T22:23:32Z<p>Vollstrecker: /* Requirements for compiling aMule for Windows using cmake */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] - [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0.zip Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]] [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.zip Version 3.1.2])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-18T22:21:36Z<p>Vollstrecker: /* Requirements for compiling aMule for Windows using cmake */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] - [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0.zip Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [https://download.sourceforge.net/libpng/lpng1637.zip Download 1.6.37]<br />
*[[wxWidgets]][https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.zip Version 3.1.0])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-18T22:19:15Z<p>Vollstrecker: /* Requirements for compiling aMule for Windows using cmake */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] - [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0.zip Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-32-bit.exe Download (2.22.0)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)] (Starting with VS14 you need [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.zip Version 3.1.0])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-18T22:17:39Z<p>Vollstrecker: /* Requirements for compiling aMule for Windows using cmake */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] - [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0.zip Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp820.zip Download (8.2.0)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)] (Starting with VS14 you need [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.zip Version 3.1.0])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-18T22:16:04Z<p>Vollstrecker: /* Requirements for compiling aMule for Windows using cmake */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] - [https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0.zip Download (3.15.0 32-Bit)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://github.com/weidai11/cryptopp/archive/CRYPTOPP_5_6_5.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)] (Starting with VS14 you need [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.zip Version 3.1.0])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-18T21:08:07Z<p>Vollstrecker: /* Tested with */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://github.com/weidai11/cryptopp/archive/CRYPTOPP_5_6_5.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)] (Starting with VS14 you need [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.zip Version 3.1.0])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/en-us/download/details.aspx?id=23507 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2019-07-18T15:28:16Z<p>Vollstrecker: Download of boost updated</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.zip Download (1.7.0)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://github.com/weidai11/cryptopp/archive/CRYPTOPP_5_6_5.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)] (Starting with VS14 you need [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.zip Version 3.1.0])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/CMakeCMake2019-07-18T15:25:21Z<p>Vollstrecker: /* Install cmake for your system */</p>
<hr />
<div>= Overview =<br />
In late development phase of 2.3.1, Vollstrecker has again been pissed by our autotools-based build-system.<br />
After some time of tryouts, he decided to give cmake a chance. For more information about this system<br />
look [[http://www.cmake.org/cmake/project/about.html|here]].<br />
<br />
As 2.3.1 has been already in rc-phase, this has been delayed to a later time, which has come now.<br />
<br />
== Purpose ==<br />
The intentional idea behind this is to replace to autotools build-system and the additional project-files for other plattforms.<br />
<br />
= Preparation =<br />
== Install cmake for your system ==<br />
On Win or Mac, get your copy from [[http://www.cmake.org/cmake/resources/software.html#latest cmake download page]].<br />
Most linux distros have it already in their package management, so get it from there.<br />
<br />
== Get cmake enabled source ==<br />
Go to [[https://github.com/amule-project/amule/tree/cmake github]], here can get either complete tarballs, or just clone the source using git as usual.<br />
<br />
If you got the tarball, extract it and enter the created dir.<br />
<br />
= Usage =<br />
It's recommended to do an out of source-build (in-source <br />
works, too), so for the shortest test you just got to:<br />
<br />
mkdir build<br />
cd build<br />
cmake ../<br />
make<br />
(make install, DESTDIR= works)<br />
<br />
== Types of configuration ==<br />
=== GUI-Mode ===<br />
This is variant with which you can see the most informations. Just start the gui from your menu, or run cmake-gui from the dir you want<br />
to build in.<br />
<br />
Enter the path to source and/or build dir into the text-fields in the upper area of the dialog-window and then press configure. Here you can choose<br />
if you want cmake to create projects for your preferred IDE, or just makefiles. After the first run, you can en-/disable options like you want, if<br />
done press configure again, and it will present you what has changed based on your decisions, so you can adjust a bit more, like you want. If finally<br />
done, press generate.<br />
<br />
=== Interview mode ===<br />
Go to the dir you want to build in, and run:<br />
<br />
cmake -i &lt;path-to-source&gt;<br />
<br />
cmake will now configure the source, and will ask you the options it knows of.<br />
<br />
=== Commandline Arguments ===<br />
This one is most like the old configure-scripts. Just go to the dir you want to build in, and run:<br />
<br />
cmake &lt;path-to-source&gt;<br />
<br />
== Building ==<br />
After configuration, you can build the binaries, the way you always do, depending on the type of output you have chosen. So if you decided to create<br />
a project file for an IDE, open that one in there and start build-process.<br />
<br />
If you've chosen "Makefile" go to the dir you want to build in (actually you should already be there) and run:<br />
<br />
make<br />
<br />
== Installing ==<br />
Again, this depends on the output you've chosen. For "Makefile" you can do like usual:<br />
<br />
make install<br />
<br />
If you don't have superuser-priv's, or just don't want to install to a alternative location, you can use:<br />
<br />
make install DESTDIR=&lt;location&gt;<br />
<br />
This will install everything into &lt;location&gt; as top-level dir.<br />
<br />
= Options =<br />
Options are passed to the script with -D&lt;option=value&gt;. Options are meant to be named as near to the old options as possible, so<br />
-DPREFIX= sets prefix, but for the separate apps, It has been found more meaningful to call them BUILD, so -DBUILD_ALC=on (ON, on, TRUE,<br />
true, YES, yes and many more are good) is used to build alc, -DBUILD_MONOLITHIC=off excludes amule.<br />
<br />
== Options for "What is built" ==<br />
Here is a short summary of options you can choose from, to select what you want to build (defaults in brackets)<br />
<br />
*BUILD_ALC (OFF)<br />
compile aMuleLinkCreator GUI version<br />
<br />
*BUILD_ALCC (OFF)<br />
compile aMuleLinkCreator for console<br />
<br />
*BUILD_AMULECMD (OFF)<br />
compile aMule command line client<br />
<br />
*BUILD_EVERYTHING (OFF)<br />
compile all parts of aMule<br />
<br />
*BUILD_CAS (OFF)<br />
compile C aMule Statistics<br />
<br />
*BUILD_DAEMON (OFF)<br />
compile aMule daemon version<br />
<br />
*BUILD_ED2K (ON)<br />
compile aMule ed2k links handler<br />
<br />
*BUILD_FILEVIEW (OFF)<br />
compile aMule file viewer for console<br />
<br />
*BUILD_MONOLITHIC (ON)<br />
enable building of the monolithic aMule app<br />
<br />
*BUILD_PLASMAMULE (OFF)<br />
compile aMule plasma applet and engine<br />
<br />
*BUILD_REMOTEGUI (OFF)<br />
compile aMule remote GUI<br />
<br />
*BUILD_WEBSERVER (OFF)<br />
compile aMule WebServer<br />
<br />
*BUILD_WXCAS (OFF)<br />
compile aMule GUI Statistics<br />
<br />
*BUILD_XAS (OFF)<br />
install xas XChat2 plugin<br />
<br />
== Options for "How is it built" ==<br />
*ENABLE_DEBUG (ON)<br />
build debugging symbols into binaries<br />
Turning this off hasn't been tested, so most-likely it won't change anything.<br />
<br />
*ENABLE_IP2COUNTRY (OFF)<br />
compile with GeoIP IP2Country library<br />
<br />
*ENABLE_MMAP (OFF)<br />
enable using mapped memory if supported<br />
<br />
*ENABLE_NLS (ON)<br />
enable national language support<br />
<br />
*ENABLE_UPNP (ON)<br />
compile UPnP code<br />
<br />
= Advantages of cmake =<br />
*Not only denoised build (disable with make VERBOSE=1), it has colored <br />
build with progress in %.<br />
<br />
*Can create not just Makefiles, there are generators for real many IDEs <br />
out there, so you can create projects for xCode, Visual Studio, kdevelop <br />
or what you like to use.<br />
<br />
*Automatic caching, so reconfiguring with other options is much faster <br />
by default (k, it's needed to tweak some stuff, but it works)<br />
<br />
*One build-system for all platforms. (theoretically spkeaking)<br />
<br />
*No need of generating the build-system (so no autogen needed anymore, just checkout (for users that use the svn or an alternative repo out there) and start.<br />
<br />
= Temporary Disadvantages of cmake =<br />
By now, a change to config.h means, that almost everything is rebuilt. Many (almost all) compiler-defines have been moved from compiler-cmd to config.h. Next step would be, to split it to separate headers, but for now they are kept in one to let it still be buildable with autotools, so we can keep both systems in a transition to the new one (if accepted).<br />
<br />
<br />
= Testing status =<br />
By now it's tested on following systems:<br />
<br />
*Debian (all flavors worked)<br />
*Ubuntu (all flavors worked)<br />
*Windows (short test by Stu, needs some modifications to detect everything)</div>Vollstreckerhttp://wiki.amule.org/wiki/CMakeCMake2019-07-18T15:25:00Z<p>Vollstrecker: /* Get cmake enabled source */</p>
<hr />
<div>= Overview =<br />
In late development phase of 2.3.1, Vollstrecker has again been pissed by our autotools-based build-system.<br />
After some time of tryouts, he decided to give cmake a chance. For more information about this system<br />
look [[http://www.cmake.org/cmake/project/about.html|here]].<br />
<br />
As 2.3.1 has been already in rc-phase, this has been delayed to a later time, which has come now.<br />
<br />
== Purpose ==<br />
The intentional idea behind this is to replace to autotools build-system and the additional project-files for other plattforms.<br />
<br />
= Preparation =<br />
== Install cmake for your system ==<br />
On Win or Mac, get your copy from [[http://www.cmake.org/cmake/resources/software.html#latest|cmake download page]].<br />
Most linux distros have it already in their package management, so get it from there.<br />
<br />
== Get cmake enabled source ==<br />
Go to [[https://github.com/amule-project/amule/tree/cmake github]], here can get either complete tarballs, or just clone the source using git as usual.<br />
<br />
If you got the tarball, extract it and enter the created dir.<br />
<br />
= Usage =<br />
It's recommended to do an out of source-build (in-source <br />
works, too), so for the shortest test you just got to:<br />
<br />
mkdir build<br />
cd build<br />
cmake ../<br />
make<br />
(make install, DESTDIR= works)<br />
<br />
== Types of configuration ==<br />
=== GUI-Mode ===<br />
This is variant with which you can see the most informations. Just start the gui from your menu, or run cmake-gui from the dir you want<br />
to build in.<br />
<br />
Enter the path to source and/or build dir into the text-fields in the upper area of the dialog-window and then press configure. Here you can choose<br />
if you want cmake to create projects for your preferred IDE, or just makefiles. After the first run, you can en-/disable options like you want, if<br />
done press configure again, and it will present you what has changed based on your decisions, so you can adjust a bit more, like you want. If finally<br />
done, press generate.<br />
<br />
=== Interview mode ===<br />
Go to the dir you want to build in, and run:<br />
<br />
cmake -i &lt;path-to-source&gt;<br />
<br />
cmake will now configure the source, and will ask you the options it knows of.<br />
<br />
=== Commandline Arguments ===<br />
This one is most like the old configure-scripts. Just go to the dir you want to build in, and run:<br />
<br />
cmake &lt;path-to-source&gt;<br />
<br />
== Building ==<br />
After configuration, you can build the binaries, the way you always do, depending on the type of output you have chosen. So if you decided to create<br />
a project file for an IDE, open that one in there and start build-process.<br />
<br />
If you've chosen "Makefile" go to the dir you want to build in (actually you should already be there) and run:<br />
<br />
make<br />
<br />
== Installing ==<br />
Again, this depends on the output you've chosen. For "Makefile" you can do like usual:<br />
<br />
make install<br />
<br />
If you don't have superuser-priv's, or just don't want to install to a alternative location, you can use:<br />
<br />
make install DESTDIR=&lt;location&gt;<br />
<br />
This will install everything into &lt;location&gt; as top-level dir.<br />
<br />
= Options =<br />
Options are passed to the script with -D&lt;option=value&gt;. Options are meant to be named as near to the old options as possible, so<br />
-DPREFIX= sets prefix, but for the separate apps, It has been found more meaningful to call them BUILD, so -DBUILD_ALC=on (ON, on, TRUE,<br />
true, YES, yes and many more are good) is used to build alc, -DBUILD_MONOLITHIC=off excludes amule.<br />
<br />
== Options for "What is built" ==<br />
Here is a short summary of options you can choose from, to select what you want to build (defaults in brackets)<br />
<br />
*BUILD_ALC (OFF)<br />
compile aMuleLinkCreator GUI version<br />
<br />
*BUILD_ALCC (OFF)<br />
compile aMuleLinkCreator for console<br />
<br />
*BUILD_AMULECMD (OFF)<br />
compile aMule command line client<br />
<br />
*BUILD_EVERYTHING (OFF)<br />
compile all parts of aMule<br />
<br />
*BUILD_CAS (OFF)<br />
compile C aMule Statistics<br />
<br />
*BUILD_DAEMON (OFF)<br />
compile aMule daemon version<br />
<br />
*BUILD_ED2K (ON)<br />
compile aMule ed2k links handler<br />
<br />
*BUILD_FILEVIEW (OFF)<br />
compile aMule file viewer for console<br />
<br />
*BUILD_MONOLITHIC (ON)<br />
enable building of the monolithic aMule app<br />
<br />
*BUILD_PLASMAMULE (OFF)<br />
compile aMule plasma applet and engine<br />
<br />
*BUILD_REMOTEGUI (OFF)<br />
compile aMule remote GUI<br />
<br />
*BUILD_WEBSERVER (OFF)<br />
compile aMule WebServer<br />
<br />
*BUILD_WXCAS (OFF)<br />
compile aMule GUI Statistics<br />
<br />
*BUILD_XAS (OFF)<br />
install xas XChat2 plugin<br />
<br />
== Options for "How is it built" ==<br />
*ENABLE_DEBUG (ON)<br />
build debugging symbols into binaries<br />
Turning this off hasn't been tested, so most-likely it won't change anything.<br />
<br />
*ENABLE_IP2COUNTRY (OFF)<br />
compile with GeoIP IP2Country library<br />
<br />
*ENABLE_MMAP (OFF)<br />
enable using mapped memory if supported<br />
<br />
*ENABLE_NLS (ON)<br />
enable national language support<br />
<br />
*ENABLE_UPNP (ON)<br />
compile UPnP code<br />
<br />
= Advantages of cmake =<br />
*Not only denoised build (disable with make VERBOSE=1), it has colored <br />
build with progress in %.<br />
<br />
*Can create not just Makefiles, there are generators for real many IDEs <br />
out there, so you can create projects for xCode, Visual Studio, kdevelop <br />
or what you like to use.<br />
<br />
*Automatic caching, so reconfiguring with other options is much faster <br />
by default (k, it's needed to tweak some stuff, but it works)<br />
<br />
*One build-system for all platforms. (theoretically spkeaking)<br />
<br />
*No need of generating the build-system (so no autogen needed anymore, just checkout (for users that use the svn or an alternative repo out there) and start.<br />
<br />
= Temporary Disadvantages of cmake =<br />
By now, a change to config.h means, that almost everything is rebuilt. Many (almost all) compiler-defines have been moved from compiler-cmd to config.h. Next step would be, to split it to separate headers, but for now they are kept in one to let it still be buildable with autotools, so we can keep both systems in a transition to the new one (if accepted).<br />
<br />
<br />
= Testing status =<br />
By now it's tested on following systems:<br />
<br />
*Debian (all flavors worked)<br />
*Ubuntu (all flavors worked)<br />
*Windows (short test by Stu, needs some modifications to detect everything)</div>Vollstreckerhttp://wiki.amule.org/wiki/CMakeCMake2019-07-18T15:24:39Z<p>Vollstrecker: /* Get cmake enabled source */</p>
<hr />
<div>= Overview =<br />
In late development phase of 2.3.1, Vollstrecker has again been pissed by our autotools-based build-system.<br />
After some time of tryouts, he decided to give cmake a chance. For more information about this system<br />
look [[http://www.cmake.org/cmake/project/about.html|here]].<br />
<br />
As 2.3.1 has been already in rc-phase, this has been delayed to a later time, which has come now.<br />
<br />
== Purpose ==<br />
The intentional idea behind this is to replace to autotools build-system and the additional project-files for other plattforms.<br />
<br />
= Preparation =<br />
== Install cmake for your system ==<br />
On Win or Mac, get your copy from [[http://www.cmake.org/cmake/resources/software.html#latest|cmake download page]].<br />
Most linux distros have it already in their package management, so get it from there.<br />
<br />
== Get cmake enabled source ==<br />
Go to [[https://github.com/amule-project/amule/tree/cmake | github]], here can get either complete tarballs, or just clone the source using git as usual.<br />
<br />
If you got the tarball, extract it and enter the created dir.<br />
<br />
= Usage =<br />
It's recommended to do an out of source-build (in-source <br />
works, too), so for the shortest test you just got to:<br />
<br />
mkdir build<br />
cd build<br />
cmake ../<br />
make<br />
(make install, DESTDIR= works)<br />
<br />
== Types of configuration ==<br />
=== GUI-Mode ===<br />
This is variant with which you can see the most informations. Just start the gui from your menu, or run cmake-gui from the dir you want<br />
to build in.<br />
<br />
Enter the path to source and/or build dir into the text-fields in the upper area of the dialog-window and then press configure. Here you can choose<br />
if you want cmake to create projects for your preferred IDE, or just makefiles. After the first run, you can en-/disable options like you want, if<br />
done press configure again, and it will present you what has changed based on your decisions, so you can adjust a bit more, like you want. If finally<br />
done, press generate.<br />
<br />
=== Interview mode ===<br />
Go to the dir you want to build in, and run:<br />
<br />
cmake -i &lt;path-to-source&gt;<br />
<br />
cmake will now configure the source, and will ask you the options it knows of.<br />
<br />
=== Commandline Arguments ===<br />
This one is most like the old configure-scripts. Just go to the dir you want to build in, and run:<br />
<br />
cmake &lt;path-to-source&gt;<br />
<br />
== Building ==<br />
After configuration, you can build the binaries, the way you always do, depending on the type of output you have chosen. So if you decided to create<br />
a project file for an IDE, open that one in there and start build-process.<br />
<br />
If you've chosen "Makefile" go to the dir you want to build in (actually you should already be there) and run:<br />
<br />
make<br />
<br />
== Installing ==<br />
Again, this depends on the output you've chosen. For "Makefile" you can do like usual:<br />
<br />
make install<br />
<br />
If you don't have superuser-priv's, or just don't want to install to a alternative location, you can use:<br />
<br />
make install DESTDIR=&lt;location&gt;<br />
<br />
This will install everything into &lt;location&gt; as top-level dir.<br />
<br />
= Options =<br />
Options are passed to the script with -D&lt;option=value&gt;. Options are meant to be named as near to the old options as possible, so<br />
-DPREFIX= sets prefix, but for the separate apps, It has been found more meaningful to call them BUILD, so -DBUILD_ALC=on (ON, on, TRUE,<br />
true, YES, yes and many more are good) is used to build alc, -DBUILD_MONOLITHIC=off excludes amule.<br />
<br />
== Options for "What is built" ==<br />
Here is a short summary of options you can choose from, to select what you want to build (defaults in brackets)<br />
<br />
*BUILD_ALC (OFF)<br />
compile aMuleLinkCreator GUI version<br />
<br />
*BUILD_ALCC (OFF)<br />
compile aMuleLinkCreator for console<br />
<br />
*BUILD_AMULECMD (OFF)<br />
compile aMule command line client<br />
<br />
*BUILD_EVERYTHING (OFF)<br />
compile all parts of aMule<br />
<br />
*BUILD_CAS (OFF)<br />
compile C aMule Statistics<br />
<br />
*BUILD_DAEMON (OFF)<br />
compile aMule daemon version<br />
<br />
*BUILD_ED2K (ON)<br />
compile aMule ed2k links handler<br />
<br />
*BUILD_FILEVIEW (OFF)<br />
compile aMule file viewer for console<br />
<br />
*BUILD_MONOLITHIC (ON)<br />
enable building of the monolithic aMule app<br />
<br />
*BUILD_PLASMAMULE (OFF)<br />
compile aMule plasma applet and engine<br />
<br />
*BUILD_REMOTEGUI (OFF)<br />
compile aMule remote GUI<br />
<br />
*BUILD_WEBSERVER (OFF)<br />
compile aMule WebServer<br />
<br />
*BUILD_WXCAS (OFF)<br />
compile aMule GUI Statistics<br />
<br />
*BUILD_XAS (OFF)<br />
install xas XChat2 plugin<br />
<br />
== Options for "How is it built" ==<br />
*ENABLE_DEBUG (ON)<br />
build debugging symbols into binaries<br />
Turning this off hasn't been tested, so most-likely it won't change anything.<br />
<br />
*ENABLE_IP2COUNTRY (OFF)<br />
compile with GeoIP IP2Country library<br />
<br />
*ENABLE_MMAP (OFF)<br />
enable using mapped memory if supported<br />
<br />
*ENABLE_NLS (ON)<br />
enable national language support<br />
<br />
*ENABLE_UPNP (ON)<br />
compile UPnP code<br />
<br />
= Advantages of cmake =<br />
*Not only denoised build (disable with make VERBOSE=1), it has colored <br />
build with progress in %.<br />
<br />
*Can create not just Makefiles, there are generators for real many IDEs <br />
out there, so you can create projects for xCode, Visual Studio, kdevelop <br />
or what you like to use.<br />
<br />
*Automatic caching, so reconfiguring with other options is much faster <br />
by default (k, it's needed to tweak some stuff, but it works)<br />
<br />
*One build-system for all platforms. (theoretically spkeaking)<br />
<br />
*No need of generating the build-system (so no autogen needed anymore, just checkout (for users that use the svn or an alternative repo out there) and start.<br />
<br />
= Temporary Disadvantages of cmake =<br />
By now, a change to config.h means, that almost everything is rebuilt. Many (almost all) compiler-defines have been moved from compiler-cmd to config.h. Next step would be, to split it to separate headers, but for now they are kept in one to let it still be buildable with autotools, so we can keep both systems in a transition to the new one (if accepted).<br />
<br />
<br />
= Testing status =<br />
By now it's tested on following systems:<br />
<br />
*Debian (all flavors worked)<br />
*Ubuntu (all flavors worked)<br />
*Windows (short test by Stu, needs some modifications to detect everything)</div>Vollstreckerhttp://wiki.amule.org/wiki/CMakeCMake2019-07-18T15:24:12Z<p>Vollstrecker: Corrected link</p>
<hr />
<div>= Overview =<br />
In late development phase of 2.3.1, Vollstrecker has again been pissed by our autotools-based build-system.<br />
After some time of tryouts, he decided to give cmake a chance. For more information about this system<br />
look [[http://www.cmake.org/cmake/project/about.html|here]].<br />
<br />
As 2.3.1 has been already in rc-phase, this has been delayed to a later time, which has come now.<br />
<br />
== Purpose ==<br />
The intentional idea behind this is to replace to autotools build-system and the additional project-files for other plattforms.<br />
<br />
= Preparation =<br />
== Install cmake for your system ==<br />
On Win or Mac, get your copy from [[http://www.cmake.org/cmake/resources/software.html#latest|cmake download page]].<br />
Most linux distros have it already in their package management, so get it from there.<br />
<br />
== Get cmake enabled source ==<br />
Go to [[https://github.com/amule-project/amule/tree/cmake|github]], here can get either complete tarballs, or just clone the source using git as usual.<br />
<br />
If you got the tarball, extract it and enter the created dir.<br />
<br />
= Usage =<br />
It's recommended to do an out of source-build (in-source <br />
works, too), so for the shortest test you just got to:<br />
<br />
mkdir build<br />
cd build<br />
cmake ../<br />
make<br />
(make install, DESTDIR= works)<br />
<br />
== Types of configuration ==<br />
=== GUI-Mode ===<br />
This is variant with which you can see the most informations. Just start the gui from your menu, or run cmake-gui from the dir you want<br />
to build in.<br />
<br />
Enter the path to source and/or build dir into the text-fields in the upper area of the dialog-window and then press configure. Here you can choose<br />
if you want cmake to create projects for your preferred IDE, or just makefiles. After the first run, you can en-/disable options like you want, if<br />
done press configure again, and it will present you what has changed based on your decisions, so you can adjust a bit more, like you want. If finally<br />
done, press generate.<br />
<br />
=== Interview mode ===<br />
Go to the dir you want to build in, and run:<br />
<br />
cmake -i &lt;path-to-source&gt;<br />
<br />
cmake will now configure the source, and will ask you the options it knows of.<br />
<br />
=== Commandline Arguments ===<br />
This one is most like the old configure-scripts. Just go to the dir you want to build in, and run:<br />
<br />
cmake &lt;path-to-source&gt;<br />
<br />
== Building ==<br />
After configuration, you can build the binaries, the way you always do, depending on the type of output you have chosen. So if you decided to create<br />
a project file for an IDE, open that one in there and start build-process.<br />
<br />
If you've chosen "Makefile" go to the dir you want to build in (actually you should already be there) and run:<br />
<br />
make<br />
<br />
== Installing ==<br />
Again, this depends on the output you've chosen. For "Makefile" you can do like usual:<br />
<br />
make install<br />
<br />
If you don't have superuser-priv's, or just don't want to install to a alternative location, you can use:<br />
<br />
make install DESTDIR=&lt;location&gt;<br />
<br />
This will install everything into &lt;location&gt; as top-level dir.<br />
<br />
= Options =<br />
Options are passed to the script with -D&lt;option=value&gt;. Options are meant to be named as near to the old options as possible, so<br />
-DPREFIX= sets prefix, but for the separate apps, It has been found more meaningful to call them BUILD, so -DBUILD_ALC=on (ON, on, TRUE,<br />
true, YES, yes and many more are good) is used to build alc, -DBUILD_MONOLITHIC=off excludes amule.<br />
<br />
== Options for "What is built" ==<br />
Here is a short summary of options you can choose from, to select what you want to build (defaults in brackets)<br />
<br />
*BUILD_ALC (OFF)<br />
compile aMuleLinkCreator GUI version<br />
<br />
*BUILD_ALCC (OFF)<br />
compile aMuleLinkCreator for console<br />
<br />
*BUILD_AMULECMD (OFF)<br />
compile aMule command line client<br />
<br />
*BUILD_EVERYTHING (OFF)<br />
compile all parts of aMule<br />
<br />
*BUILD_CAS (OFF)<br />
compile C aMule Statistics<br />
<br />
*BUILD_DAEMON (OFF)<br />
compile aMule daemon version<br />
<br />
*BUILD_ED2K (ON)<br />
compile aMule ed2k links handler<br />
<br />
*BUILD_FILEVIEW (OFF)<br />
compile aMule file viewer for console<br />
<br />
*BUILD_MONOLITHIC (ON)<br />
enable building of the monolithic aMule app<br />
<br />
*BUILD_PLASMAMULE (OFF)<br />
compile aMule plasma applet and engine<br />
<br />
*BUILD_REMOTEGUI (OFF)<br />
compile aMule remote GUI<br />
<br />
*BUILD_WEBSERVER (OFF)<br />
compile aMule WebServer<br />
<br />
*BUILD_WXCAS (OFF)<br />
compile aMule GUI Statistics<br />
<br />
*BUILD_XAS (OFF)<br />
install xas XChat2 plugin<br />
<br />
== Options for "How is it built" ==<br />
*ENABLE_DEBUG (ON)<br />
build debugging symbols into binaries<br />
Turning this off hasn't been tested, so most-likely it won't change anything.<br />
<br />
*ENABLE_IP2COUNTRY (OFF)<br />
compile with GeoIP IP2Country library<br />
<br />
*ENABLE_MMAP (OFF)<br />
enable using mapped memory if supported<br />
<br />
*ENABLE_NLS (ON)<br />
enable national language support<br />
<br />
*ENABLE_UPNP (ON)<br />
compile UPnP code<br />
<br />
= Advantages of cmake =<br />
*Not only denoised build (disable with make VERBOSE=1), it has colored <br />
build with progress in %.<br />
<br />
*Can create not just Makefiles, there are generators for real many IDEs <br />
out there, so you can create projects for xCode, Visual Studio, kdevelop <br />
or what you like to use.<br />
<br />
*Automatic caching, so reconfiguring with other options is much faster <br />
by default (k, it's needed to tweak some stuff, but it works)<br />
<br />
*One build-system for all platforms. (theoretically spkeaking)<br />
<br />
*No need of generating the build-system (so no autogen needed anymore, just checkout (for users that use the svn or an alternative repo out there) and start.<br />
<br />
= Temporary Disadvantages of cmake =<br />
By now, a change to config.h means, that almost everything is rebuilt. Many (almost all) compiler-defines have been moved from compiler-cmd to config.h. Next step would be, to split it to separate headers, but for now they are kept in one to let it still be buildable with autotools, so we can keep both systems in a transition to the new one (if accepted).<br />
<br />
<br />
= Testing status =<br />
By now it's tested on following systems:<br />
<br />
*Debian (all flavors worked)<br />
*Ubuntu (all flavors worked)<br />
*Windows (short test by Stu, needs some modifications to detect everything)</div>Vollstreckerhttp://wiki.amule.org/wiki/CMakeCMake2019-07-18T15:22:46Z<p>Vollstrecker: Changed to github-repo.</p>
<hr />
<div>= Overview =<br />
In late development phase of 2.3.1, Vollstrecker has again been pissed by our autotools-based build-system.<br />
After some time of tryouts, he decided to give cmake a chance. For more information about this system<br />
look [[http://www.cmake.org/cmake/project/about.html|here]].<br />
<br />
As 2.3.1 has been already in rc-phase, this has been delayed to a later time, which has come now.<br />
<br />
== Purpose ==<br />
The intentional idea behind this is to replace to autotools build-system and the additional project-files for other plattforms.<br />
<br />
= Preparation =<br />
== Install cmake for your system ==<br />
On Win or Mac, get your copy from [[http://www.cmake.org/cmake/resources/software.html#latest|cmake download page]].<br />
Most linux distros have it already in their package management, so get it from there.<br />
<br />
== Get cmake enabled source ==<br />
Go to [[https://github.com/amule-project/amule/tree/cmake]], here can get either complete tarballs, or just clone the source using git as usual.<br />
<br />
If you got the tarball, extract it and enter the created dir.<br />
<br />
= Usage =<br />
It's recommended to do an out of source-build (in-source <br />
works, too), so for the shortest test you just got to:<br />
<br />
mkdir build<br />
cd build<br />
cmake ../<br />
make<br />
(make install, DESTDIR= works)<br />
<br />
== Types of configuration ==<br />
=== GUI-Mode ===<br />
This is variant with which you can see the most informations. Just start the gui from your menu, or run cmake-gui from the dir you want<br />
to build in.<br />
<br />
Enter the path to source and/or build dir into the text-fields in the upper area of the dialog-window and then press configure. Here you can choose<br />
if you want cmake to create projects for your preferred IDE, or just makefiles. After the first run, you can en-/disable options like you want, if<br />
done press configure again, and it will present you what has changed based on your decisions, so you can adjust a bit more, like you want. If finally<br />
done, press generate.<br />
<br />
=== Interview mode ===<br />
Go to the dir you want to build in, and run:<br />
<br />
cmake -i &lt;path-to-source&gt;<br />
<br />
cmake will now configure the source, and will ask you the options it knows of.<br />
<br />
=== Commandline Arguments ===<br />
This one is most like the old configure-scripts. Just go to the dir you want to build in, and run:<br />
<br />
cmake &lt;path-to-source&gt;<br />
<br />
== Building ==<br />
After configuration, you can build the binaries, the way you always do, depending on the type of output you have chosen. So if you decided to create<br />
a project file for an IDE, open that one in there and start build-process.<br />
<br />
If you've chosen "Makefile" go to the dir you want to build in (actually you should already be there) and run:<br />
<br />
make<br />
<br />
== Installing ==<br />
Again, this depends on the output you've chosen. For "Makefile" you can do like usual:<br />
<br />
make install<br />
<br />
If you don't have superuser-priv's, or just don't want to install to a alternative location, you can use:<br />
<br />
make install DESTDIR=&lt;location&gt;<br />
<br />
This will install everything into &lt;location&gt; as top-level dir.<br />
<br />
= Options =<br />
Options are passed to the script with -D&lt;option=value&gt;. Options are meant to be named as near to the old options as possible, so<br />
-DPREFIX= sets prefix, but for the separate apps, It has been found more meaningful to call them BUILD, so -DBUILD_ALC=on (ON, on, TRUE,<br />
true, YES, yes and many more are good) is used to build alc, -DBUILD_MONOLITHIC=off excludes amule.<br />
<br />
== Options for "What is built" ==<br />
Here is a short summary of options you can choose from, to select what you want to build (defaults in brackets)<br />
<br />
*BUILD_ALC (OFF)<br />
compile aMuleLinkCreator GUI version<br />
<br />
*BUILD_ALCC (OFF)<br />
compile aMuleLinkCreator for console<br />
<br />
*BUILD_AMULECMD (OFF)<br />
compile aMule command line client<br />
<br />
*BUILD_EVERYTHING (OFF)<br />
compile all parts of aMule<br />
<br />
*BUILD_CAS (OFF)<br />
compile C aMule Statistics<br />
<br />
*BUILD_DAEMON (OFF)<br />
compile aMule daemon version<br />
<br />
*BUILD_ED2K (ON)<br />
compile aMule ed2k links handler<br />
<br />
*BUILD_FILEVIEW (OFF)<br />
compile aMule file viewer for console<br />
<br />
*BUILD_MONOLITHIC (ON)<br />
enable building of the monolithic aMule app<br />
<br />
*BUILD_PLASMAMULE (OFF)<br />
compile aMule plasma applet and engine<br />
<br />
*BUILD_REMOTEGUI (OFF)<br />
compile aMule remote GUI<br />
<br />
*BUILD_WEBSERVER (OFF)<br />
compile aMule WebServer<br />
<br />
*BUILD_WXCAS (OFF)<br />
compile aMule GUI Statistics<br />
<br />
*BUILD_XAS (OFF)<br />
install xas XChat2 plugin<br />
<br />
== Options for "How is it built" ==<br />
*ENABLE_DEBUG (ON)<br />
build debugging symbols into binaries<br />
Turning this off hasn't been tested, so most-likely it won't change anything.<br />
<br />
*ENABLE_IP2COUNTRY (OFF)<br />
compile with GeoIP IP2Country library<br />
<br />
*ENABLE_MMAP (OFF)<br />
enable using mapped memory if supported<br />
<br />
*ENABLE_NLS (ON)<br />
enable national language support<br />
<br />
*ENABLE_UPNP (ON)<br />
compile UPnP code<br />
<br />
= Advantages of cmake =<br />
*Not only denoised build (disable with make VERBOSE=1), it has colored <br />
build with progress in %.<br />
<br />
*Can create not just Makefiles, there are generators for real many IDEs <br />
out there, so you can create projects for xCode, Visual Studio, kdevelop <br />
or what you like to use.<br />
<br />
*Automatic caching, so reconfiguring with other options is much faster <br />
by default (k, it's needed to tweak some stuff, but it works)<br />
<br />
*One build-system for all platforms. (theoretically spkeaking)<br />
<br />
*No need of generating the build-system (so no autogen needed anymore, just checkout (for users that use the svn or an alternative repo out there) and start.<br />
<br />
= Temporary Disadvantages of cmake =<br />
By now, a change to config.h means, that almost everything is rebuilt. Many (almost all) compiler-defines have been moved from compiler-cmd to config.h. Next step would be, to split it to separate headers, but for now they are kept in one to let it still be buildable with autotools, so we can keep both systems in a transition to the new one (if accepted).<br />
<br />
<br />
= Testing status =<br />
By now it's tested on following systems:<br />
<br />
*Debian (all flavors worked)<br />
*Ubuntu (all flavors worked)<br />
*Windows (short test by Stu, needs some modifications to detect everything)</div>Vollstreckerhttp://wiki.amule.org/wiki/CMakeCMake2019-07-18T15:20:48Z<p>Vollstrecker: Clarify that all build-projects are replaced.</p>
<hr />
<div>= Overview =<br />
In late development phase of 2.3.1, Vollstrecker has again been pissed by our autotools-based build-system.<br />
After some time of tryouts, he decided to give cmake a chance. For more information about this system<br />
look [[http://www.cmake.org/cmake/project/about.html|here]].<br />
<br />
As 2.3.1 has been already in rc-phase, this has been delayed to a later time, which has come now.<br />
<br />
== Purpose ==<br />
The intentional idea behind this is to replace to autotools build-system and the additional project-files for other plattforms.<br />
<br />
= Preparation =<br />
== Install cmake for your system ==<br />
On Win or Mac, get your copy from [[http://www.cmake.org/cmake/resources/software.html#latest|cmake download page]].<br />
Most linux distros have it already in their package management, so get it from there.<br />
<br />
== Get cmake enabled source ==<br />
Go to [[http://vollstreckernet.de/cmake/]], here can get either complete tarballs (named amule-cmake-&lt;svn-rev&gt;), or<br />
patches for the source (named cmake-&lt;date&gt;).<br />
<br />
If you got the tarball, extract it and enter the created dir.<br />
<br />
If you decided for the patch, go into an already existing source-dir (almost every version that compiles should be fine),<br />
in there run:<br />
<br />
patch -p1 &lt; &lt;downloaded-patch-file&gt;<br />
<br />
As development takes place in a git repo, svn-revision can't be detected properly, so you got to create a usable information<br />
by hand in the top-level dir of your amule source by running.<br />
<br />
echo "&lt;svn-rev&gt; &gt; .svn-revision<br />
<br />
= Usage =<br />
It's recommended to do an out of source-build (in-source <br />
works, too), so for the shortest test you just got to:<br />
<br />
mkdir build<br />
cd build<br />
cmake ../<br />
make<br />
(make install, DESTDIR= works)<br />
<br />
== Types of configuration ==<br />
=== GUI-Mode ===<br />
This is variant with which you can see the most informations. Just start the gui from your menu, or run cmake-gui from the dir you want<br />
to build in.<br />
<br />
Enter the path to source and/or build dir into the text-fields in the upper area of the dialog-window and then press configure. Here you can choose<br />
if you want cmake to create projects for your preferred IDE, or just makefiles. After the first run, you can en-/disable options like you want, if<br />
done press configure again, and it will present you what has changed based on your decisions, so you can adjust a bit more, like you want. If finally<br />
done, press generate.<br />
<br />
=== Interview mode ===<br />
Go to the dir you want to build in, and run:<br />
<br />
cmake -i &lt;path-to-source&gt;<br />
<br />
cmake will now configure the source, and will ask you the options it knows of.<br />
<br />
=== Commandline Arguments ===<br />
This one is most like the old configure-scripts. Just go to the dir you want to build in, and run:<br />
<br />
cmake &lt;path-to-source&gt;<br />
<br />
== Building ==<br />
After configuration, you can build the binaries, the way you always do, depending on the type of output you have chosen. So if you decided to create<br />
a project file for an IDE, open that one in there and start build-process.<br />
<br />
If you've chosen "Makefile" go to the dir you want to build in (actually you should already be there) and run:<br />
<br />
make<br />
<br />
== Installing ==<br />
Again, this depends on the output you've chosen. For "Makefile" you can do like usual:<br />
<br />
make install<br />
<br />
If you don't have superuser-priv's, or just don't want to install to a alternative location, you can use:<br />
<br />
make install DESTDIR=&lt;location&gt;<br />
<br />
This will install everything into &lt;location&gt; as top-level dir.<br />
<br />
= Options =<br />
Options are passed to the script with -D&lt;option=value&gt;. Options are meant to be named as near to the old options as possible, so<br />
-DPREFIX= sets prefix, but for the separate apps, It has been found more meaningful to call them BUILD, so -DBUILD_ALC=on (ON, on, TRUE,<br />
true, YES, yes and many more are good) is used to build alc, -DBUILD_MONOLITHIC=off excludes amule.<br />
<br />
== Options for "What is built" ==<br />
Here is a short summary of options you can choose from, to select what you want to build (defaults in brackets)<br />
<br />
*BUILD_ALC (OFF)<br />
compile aMuleLinkCreator GUI version<br />
<br />
*BUILD_ALCC (OFF)<br />
compile aMuleLinkCreator for console<br />
<br />
*BUILD_AMULECMD (OFF)<br />
compile aMule command line client<br />
<br />
*BUILD_EVERYTHING (OFF)<br />
compile all parts of aMule<br />
<br />
*BUILD_CAS (OFF)<br />
compile C aMule Statistics<br />
<br />
*BUILD_DAEMON (OFF)<br />
compile aMule daemon version<br />
<br />
*BUILD_ED2K (ON)<br />
compile aMule ed2k links handler<br />
<br />
*BUILD_FILEVIEW (OFF)<br />
compile aMule file viewer for console<br />
<br />
*BUILD_MONOLITHIC (ON)<br />
enable building of the monolithic aMule app<br />
<br />
*BUILD_PLASMAMULE (OFF)<br />
compile aMule plasma applet and engine<br />
<br />
*BUILD_REMOTEGUI (OFF)<br />
compile aMule remote GUI<br />
<br />
*BUILD_WEBSERVER (OFF)<br />
compile aMule WebServer<br />
<br />
*BUILD_WXCAS (OFF)<br />
compile aMule GUI Statistics<br />
<br />
*BUILD_XAS (OFF)<br />
install xas XChat2 plugin<br />
<br />
== Options for "How is it built" ==<br />
*ENABLE_DEBUG (ON)<br />
build debugging symbols into binaries<br />
Turning this off hasn't been tested, so most-likely it won't change anything.<br />
<br />
*ENABLE_IP2COUNTRY (OFF)<br />
compile with GeoIP IP2Country library<br />
<br />
*ENABLE_MMAP (OFF)<br />
enable using mapped memory if supported<br />
<br />
*ENABLE_NLS (ON)<br />
enable national language support<br />
<br />
*ENABLE_UPNP (ON)<br />
compile UPnP code<br />
<br />
= Advantages of cmake =<br />
*Not only denoised build (disable with make VERBOSE=1), it has colored <br />
build with progress in %.<br />
<br />
*Can create not just Makefiles, there are generators for real many IDEs <br />
out there, so you can create projects for xCode, Visual Studio, kdevelop <br />
or what you like to use.<br />
<br />
*Automatic caching, so reconfiguring with other options is much faster <br />
by default (k, it's needed to tweak some stuff, but it works)<br />
<br />
*One build-system for all platforms. (theoretically spkeaking)<br />
<br />
*No need of generating the build-system (so no autogen needed anymore, just checkout (for users that use the svn or an alternative repo out there) and start.<br />
<br />
= Temporary Disadvantages of cmake =<br />
By now, a change to config.h means, that almost everything is rebuilt. Many (almost all) compiler-defines have been moved from compiler-cmd to config.h. Next step would be, to split it to separate headers, but for now they are kept in one to let it still be buildable with autotools, so we can keep both systems in a transition to the new one (if accepted).<br />
<br />
<br />
= Testing status =<br />
By now it's tested on following systems:<br />
<br />
*Debian (all flavors worked)<br />
*Ubuntu (all flavors worked)<br />
*Windows (short test by Stu, needs some modifications to detect everything)</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-12T11:26:35Z<p>Vollstrecker: /* cryptopp */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://github.com/weidai11/cryptopp/archive/CRYPTOPP_5_6_5.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)] (Starting with VS14 you need [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.zip Version 3.1.0])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-12T11:12:35Z<p>Vollstrecker: /* Preparing the libraries needed to build with MinGW based systems */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://github.com/weidai11/cryptopp/archive/CRYPTOPP_5_6_5.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)] (Starting with VS14 you need [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.zip Version 3.1.0])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Uncomment line 33<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
<code>ADD_LIBRARY (libGeoIP<br />
GeoIP.c<br />
GeoIP_deprecated.c<br />
GeoIPCity.c;regionName.c<br />
timeZone.c<br />
)<br />
<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP<br />
PRIVATE PACKAGE_VERSION="1.6.3"<br />
)''</code><br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-11T09:57:51Z<p>Vollstrecker: /* Preparing the libraries needed to build with MinGW based systems */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://github.com/weidai11/cryptopp/archive/CRYPTOPP_5_6_5.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)] (Starting with VS14 you need [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.zip Version 3.1.0])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*The version from github has a CMakeLists.txt, so just open and configure it.<br />
*Open the file <cryptoppDir>/config.h<br />
*Uncomment line 33<br />
*Compile with the tools you generated a Makefile for.<br />
<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
''ADD_LIBRARY (libGeoIP GeoIP.c GeoIP_deprecated.c GeoIPCity.c regionName.c timeZone.c)<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP PRIVATE PACKAGE_VERSION="1.6.3")''<br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-10T22:44:25Z<p>Vollstrecker: /* Requirements for compiling aMule for Windows using cmake */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://github.com/weidai11/cryptopp/archive/CRYPTOPP_5_6_5.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)] (Starting with VS14 you need [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.zip Version 3.1.0])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*Delete the downloaded source and get [http://prdownloads.sourceforge.net/cryptopp/cryptopp530win32win64.zip a precompiled version]<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
''ADD_LIBRARY (libGeoIP GeoIP.c GeoIP_deprecated.c GeoIPCity.c regionName.c timeZone.c)<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP PRIVATE PACKAGE_VERSION="1.6.3")''<br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-10T22:43:27Z<p>Vollstrecker: </p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)] (Starting with VS14 you need [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.zip Version 3.1.0])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed to build with visual studio ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
== Preparing the libraries needed to build with MinGW based systems ==<br />
<br />
=== boost ===<br />
*Open an cmdline<br />
*switch to <boostDir><br />
*Run bootstrap gcc<br />
*Run .\b2 install --toolset=gcc<br />
<br />
=== cryptopp ===<br />
*Delete the downloaded source and get [http://prdownloads.sourceforge.net/cryptopp/cryptopp530win32win64.zip a precompiled version]<br />
=== libGeoIP ===<br />
*Open an editor and create a new file with this content:<br />
''ADD_LIBRARY (libGeoIP GeoIP.c GeoIP_deprecated.c GeoIPCity.c regionName.c timeZone.c)<br />
TARGET_COMPILE_DEFINITIONS (libGeoIP PRIVATE PACKAGE_VERSION="1.6.3")''<br />
*Save this file in geoipDir/LibGeoIP/ with name CMakeLists.txt<br />
*Open cmake-gui, configure it<br />
*Open use to compile, with anything you generated build-files for.<br />
<br />
=== libpng ===<br />
*Thankfully libpng comes with an CMakeLists.txt, so you can just use cmake to compile everything.<br />
<br />
=== wxWidgets ===<br />
*Open an cmdline<br />
*switch to <wxDir>/build/msw<br />
*Run mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
*Run mingw32-make -f makefile.gcc UNICODE=1 SHARED=1 CXXFLAGS=-std=gnu++11<br />
<br />
== Preparing aMule ==<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-07T12:52:11Z<p>Vollstrecker: /* Tested with */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)] (Starting with VS14 you need [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.zip Version 3.1.0])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== flex/bison ===<br />
*Just extract the archive<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== zlib ===<br />
*Just extract the archive<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]<br />
*Microsoft Visual Studio 2015 (VC14) Update 3 [https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-07T08:50:27Z<p>Vollstrecker: /* Requirements for compiling aMule for Windows using cmake */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)] (Starting with VS14 you need [https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.zip Version 3.1.0])<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== flex/bison ===<br />
*Just extract the archive<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== zlib ===<br />
*Just extract the archive<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-06T09:36:02Z<p>Vollstrecker: /* Preparing the libraries needed */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed ==<br />
<br />
=== boost ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== flex/bison ===<br />
*Just extract the archive<br />
<br />
=== libGeoIP ===<br />
*Open a Visual Studio Command Prompt from your startmenu<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== zlib ===<br />
*Just extract the archive<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-06T08:07:54Z<p>Vollstrecker: /* Preparing the libraries needed */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed ==<br />
<br />
=== boost ===<br />
*Open Visual Studio<br />
*Goto Tools->Visual Studio Command Prompt<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== flex/bison ===<br />
*Just extract the archive<br />
<br />
=== libGeoIP ===<br />
*Open Visual Studio<br />
*Goto Tools->Visual Studio Command Prompt<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== zlib ===<br />
*Just extract the archive<br />
<br />
=== libpng ===<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-05T15:48:14Z<p>Vollstrecker: /* Preparing the libraries needed */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed ==<br />
<br />
=== boost ===<br />
*Open Visual Studio<br />
*Goto Tools->Visual Studio Command Prompt<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open Visual Studio<br />
*Goto Tools->Visual Studio Command Prompt<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== libpng ===<br />
*First prepare zlib, as it's needed for this one<br />
*Open die vstudio project<br />
*Rightclick on libpng and open the properties<br />
*Open C/C++ -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/include" in "Additional Include Directories"<br />
*Open Linker -> General<br />
*Change "$(ZLibSrcDir)" to "$(ZLibSrcDir)/lib" in "Additional Library Directories"<br />
*Open Linker -> Input<br />
*Change "zlib.lib" to "zdll.lib" in "Additional Dependencies"<br />
*Build the libpng project of the solution and nevermind the failing zlib project.<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-05T15:40:53Z<p>Vollstrecker: /* Requirements for compiling aMule for Windows using cmake */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[http://www.libpng.org/pub/png/libpng.html libpng] -> [http://prdownloads.sourceforge.net/libpng/lpng1626.zip?download Download 1.6.26]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed ==<br />
<br />
=== boost ===<br />
*Open Visual Studio<br />
*Goto Tools->Visual Studio Command Prompt<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open Visual Studio<br />
*Goto Tools->Visual Studio Command Prompt<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-05T13:37:33Z<p>Vollstrecker: /* = boost */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed ==<br />
<br />
=== boost ===<br />
*Open Visual Studio<br />
*Goto Tools->Visual Studio Command Prompt<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open Visual Studio<br />
*Goto Tools->Visual Studio Command Prompt<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-05T13:36:42Z<p>Vollstrecker: /* Preparing the libraries needed */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed ==<br />
<br />
=== boost ==<br />
*Open Visual Studio<br />
*Goto Tools->Visual Studio Command Prompt<br />
*cd into the dir, where you extracted the source<br />
*run bootstrap<br />
*run .\b2 install<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open Visual Studio<br />
*Goto Tools->Visual Studio Command Prompt<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-05T13:35:10Z<p>Vollstrecker: /* Requirements for compiling aMule for Windows using cmake */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://www.boost.org boost] headers and system-lib -> [https://sourceforge.net/projects/boost/files/latest/download?source=files Download (1.6.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed ==<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open Visual Studio<br />
*Goto Tools->Visual Studio Command Prompt<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-04T14:58:19Z<p>Vollstrecker: /* Requirements for compiling aMule for Windows using cmake */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*libGeoIP [https://github.com/maxmind/geoip-api-c Download or git clone]<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed ==<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open Visual Studio<br />
*Goto Tools->Visual Studio Command Prompt<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-04T14:56:42Z<p>Vollstrecker: libGeoIP</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the libraries needed ==<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== libGeoIP ===<br />
*Open Visual Studio<br />
*Goto Tools->Visual Studio Command Prompt<br />
*cd into the dir, where you extracted the source<br />
*run nmake /f Makefile.vc<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-04T10:29:36Z<p>Vollstrecker: /* Tested with */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the library projects ==<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
*Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
*Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
*Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-04T10:29:03Z<p>Vollstrecker: /* Tested with */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the library projects ==<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]<br />
Microsoft Visual Studio 2012 (VC11) Update 5 [https://www.microsoft.com/de-de/download/details.aspx?id=48708 Download]<br />
Microsoft Visual Studio 2013 (VC12) Update 4 [https://www.microsoft.com/de-de/download/details.aspx?id=44914 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-03T17:16:00Z<p>Vollstrecker: /* Tested with */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the library projects ==<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
Microsoft Visual C++ 2010 (VC10) [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-03T17:12:12Z<p>Vollstrecker: /* cryptopp */</p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the library projects ==<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build.<br />
'''This is important, as cryptlib.h will be generated and compile will only work with the same config.<br />
This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the cryptlib project in the solution<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
Microsoft Visual C++ 2010 [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-03T17:10:02Z<p>Vollstrecker: </p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the library projects ==<br />
<br />
=== cryptopp ===<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build. '''This is important, as cryptlib.h will be generated and compile will only work with the same<br />
config. This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the solution,<br />
<br />
=== wxWidgets ===<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
=== aMule ===<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
Microsoft Visual C++ 2010 [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-03T17:09:01Z<p>Vollstrecker: </p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the library projects ==<br />
<br />
cryptopp:<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build. '''This is important, as cryptlib.h will be generated and compile will only work with the same<br />
config. This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the solution,<br />
<br />
wxWidgets:<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
aMule:<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison) after enabling advanced opton.<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
Microsoft Visual C++ 2010 [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-03T17:07:48Z<p>Vollstrecker: </p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the library projects ==<br />
<br />
cryptopp:<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build. '''This is important, as cryptlib.h will be generated and compile will only work with the same<br />
config. This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the solution,<br />
<br />
wxWidgets:<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
aMule:<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison)<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.<br />
<br />
== Tested with ==<br />
Microsoft Visual C++ 2010 [https://www.microsoft.com/de-de/download/details.aspx?id=8328 Download]</div>Vollstreckerhttp://wiki.amule.org/wiki/HowTo_compile_with_cmakeHowTo compile with cmake2016-12-02T20:19:34Z<p>Vollstrecker: </p>
<hr />
<div>== Requirements for compiling [[aMule]] for Windows using cmake ==<br />
<br />
You will need the following packages:<br />
<br />
*An IDE that is supported by cmake, to generate code for it.<br />
*[[wxWidgets]] library -> [https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.zip Download (3.0.2)]<br />
*[http://www.cryptopp.com/ Crypto++] library -> [https://www.cryptopp.com/cryptopp565.zip Download (5.6.5)]<br />
*flex and bison -> [https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download download precompiled bundle here].<br />
*[http://www.zlib.org zlib] compression library [http://zlib.net/zlib128-dll.zip Download (1.2.8)]<br />
*[https://git-scm.org git for windows] -> [https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/Git-2.10.2-32-bit.exe Download (2.10.2)]<br />
*[https://cmake.org cmake] - [https://cmake.org/files/v3.7/cmake-3.7.0-win32-x86.msi Download 3.7.0 32-Bit]<br />
<br />
== Unpacking the sources ==<br />
<br />
*Create a root folder. You can name it whatever you want. In this example it is called "aMule".<br />
*Unpack wx, cryptopp flex/bison and zlib into that folder. (Just to find them again. In fact it doesn't matter where put them.<br />
<br />
== Preparing the library projects ==<br />
<br />
cryptopp:<br />
*If you use VisualStudio, open one of the projects you find in the source-dir. For others instructions will go here, when tested.<br />
*Select Release or Debug build. '''This is important, as cryptlib.h will be generated and compile will only work with the same<br />
config. This also means, if you've built cryptopp with Debug option, you can build aMule only with Debug enabled'''<br />
*Right click on '''cryptlib''' goto Properties C/C++ -> Code Generation and set the Runtime-Library to /MD (/MDd for Debug)<br />
*Build the solution,<br />
<br />
wxWidgets:<br />
*Just open the project that suits your IDE and build the whole solution.<br />
<br />
aMule:<br />
*Start GIT-GUI (or git-bash or anything you like) from your start-menu (or whatever your current installation has.<br />
*Point the repo to https://github.com/amule-project/amule.git and clone it to whereever you want.<br />
*Checkout branch cmake.<br />
<br />
== Creating the solution ==<br />
*Open cmake-gui<br />
*Point the source-code directory to where you cloned the repo<br />
*Point the build directory to wherever you want<br />
*Hit configure and select the generator for the IDE you want to use and click finish.<br />
*Now you can select all the options you want, and hit configure again.<br />
*Hit generate<br />
<br />
=== Setting the paths needed ===<br />
If (and it will be the case if you didn't move anything you downloaded or compiled into system directories) not everything needed is found.<br />
<br />
*For the libraries: Open a Texteditor, open <your-amule-folder>\cmake/searchdirs.cmake and uncomment the needed lines, and point it to where the stuff was created.<br />
*For the binaries (flex/bison) you can select the files directly in cmake (i.e BISON_EXECUTABLE for bison)<br />
*Hit configure again<br />
*Hit generate<br />
<br />
==Compiling==<br />
*Open the created project files in the build directory you've set.<br />
*Choose Debug/Release etc. like you selected for cryptopp before.<br />
*Start compilation.</div>Vollstrecker