mirror of
https://github.com/rizinorg/cutter.git
synced 2024-12-19 19:36:11 +00:00
Update Cutter compilation documentation (#2238)
* add linux dependencies to the list * make a common git clone section
This commit is contained in:
parent
d26e48f3f5
commit
061636d714
@ -7,6 +7,26 @@ Building
|
|||||||
that we provide pre-compiled binaries for Windows, Linux and macOS on
|
that we provide pre-compiled binaries for Windows, Linux and macOS on
|
||||||
our `release page. <https://github.com/radareorg/cutter/releases/latest>`_
|
our `release page. <https://github.com/radareorg/cutter/releases/latest>`_
|
||||||
|
|
||||||
|
Getting the Source
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Make sure you've ``git`` installed in your system (`Installation guide <https://git-scm.com/book/en/v2/Getting-Started-Installing-Git>`_) and do the following:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
git clone --recurse-submodules https://github.com/radareorg/cutter
|
||||||
|
|
||||||
|
This will clone the Cutter source and it's dependencies(radare2, etc.)
|
||||||
|
under **cutter** and you should see the following dir structure:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
cutter/-|
|
||||||
|
|-docs/ # Cutter Documentation
|
||||||
|
|-radare2/ # radare2 submodule
|
||||||
|
|-src/ # Cutter Source Code
|
||||||
|
|
||||||
|
Following sections assume that **cutter** is your working dir. (if not, do ``cd cutter``)
|
||||||
|
|
||||||
Building on Linux
|
Building on Linux
|
||||||
-----------------
|
-----------------
|
||||||
@ -17,7 +37,6 @@ Requirements
|
|||||||
On Linux, you will need:
|
On Linux, you will need:
|
||||||
|
|
||||||
* build-essential
|
* build-essential
|
||||||
* git
|
|
||||||
* cmake
|
* cmake
|
||||||
* meson
|
* meson
|
||||||
* libzip-dev
|
* libzip-dev
|
||||||
@ -25,35 +44,37 @@ On Linux, you will need:
|
|||||||
* qt5
|
* qt5
|
||||||
* qt5-svg
|
* qt5-svg
|
||||||
* pkgconf
|
* pkgconf
|
||||||
|
* curl*
|
||||||
|
* python-setuptools*
|
||||||
|
* KSyntaxHighlighter**
|
||||||
|
* graphviz**
|
||||||
|
|
||||||
On Debian-based Linux distributions, all of these packages can be installed with this single command:
|
`*` Recommended while building with ``make``/``Cmake``.
|
||||||
|
|
||||||
|
`**` Optional. If present, these add extra features to Cutter. See `CMake Building Options`_.
|
||||||
|
|
||||||
|
On Debian-based Linux distributions, all of these essential packages can be installed with this single command:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
sudo apt install git build-essential cmake meson libzip-dev zlib1g-dev qt5-default libqt5svg5-dev qttools5-dev qttools5-dev-tools
|
sudo apt install build-essential cmake meson libzip-dev zlib1g-dev qt5-default libqt5svg5-dev qttools5-dev qttools5-dev-tools
|
||||||
|
|
||||||
On Arch-based Linux distributions, build-essential should be replaced by base-devel:
|
.. note::
|
||||||
|
For Ubuntu 18.04 and lower, ``meson`` should be installed with ``pip install --upgrade --user meson``.
|
||||||
|
|
||||||
|
On Arch-based Linux distributions:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
sudo pacman -Syu git base-devel cmake meson qt5-base qt5-svg qt5-tools
|
sudo pacman -Syu base-devel cmake meson qt5-base qt5-svg qt5-tools
|
||||||
|
|
||||||
Building steps
|
Building steps
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The official way to build Cutter on Linux is by using CMake.
|
The recommended way to build Cutter on Linux is by using CMake. Simply invoke CMake to build Cutter and its dependency radare2.
|
||||||
First, clone the repository with its dependencies:
|
|
||||||
|
|
||||||
.. code-block:: sh
|
|
||||||
|
|
||||||
git clone --recurse-submodules https://github.com/radareorg/cutter
|
|
||||||
|
|
||||||
|
|
||||||
Then invoke CMake to build Cutter and its dependency radare2.
|
|
||||||
|
|
||||||
.. code:: sh
|
.. code:: sh
|
||||||
|
|
||||||
cd cutter
|
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
cmake -DCUTTER_USE_BUNDLED_RADARE2=ON ../src
|
cmake -DCUTTER_USE_BUNDLED_RADARE2=ON ../src
|
||||||
cmake --build .
|
cmake --build .
|
||||||
@ -62,7 +83,6 @@ If your operating system has a newer version of CMake (> v3.12) you can use this
|
|||||||
|
|
||||||
.. code:: sh
|
.. code:: sh
|
||||||
|
|
||||||
cd cutter
|
|
||||||
cmake -S src -B build -DCUTTER_USE_BUNDLED_RADARE2=ON
|
cmake -S src -B build -DCUTTER_USE_BUNDLED_RADARE2=ON
|
||||||
cmake --build build
|
cmake --build build
|
||||||
|
|
||||||
@ -74,7 +94,7 @@ If your operating system has a newer version of CMake (> v3.12) you can use this
|
|||||||
please look at the full list of `CMake Building Options`_.
|
please look at the full list of `CMake Building Options`_.
|
||||||
|
|
||||||
|
|
||||||
After the build process is complete, you should have the Cutter executable in the `build` folder.
|
After the build process is complete, you should have the ``Cutter`` executable in the **build** dir.
|
||||||
You can now execute Cutter like this:
|
You can now execute Cutter like this:
|
||||||
|
|
||||||
.. code:: sh
|
.. code:: sh
|
||||||
@ -88,8 +108,8 @@ Building on Windows
|
|||||||
Requirements
|
Requirements
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
Cutter works on Windows starting from Windows 7 up to Windows 10.
|
Cutter works on Windows 7 or newer.
|
||||||
To compile Cutter it is necessary to have installed:
|
To compile Cutter it is necessary to have the following installed:
|
||||||
|
|
||||||
* A version of Visual Studio (2015, 2017 and 2019 are supported)
|
* A version of Visual Studio (2015, 2017 and 2019 are supported)
|
||||||
* CMake
|
* CMake
|
||||||
@ -100,7 +120,7 @@ Default way
|
|||||||
|
|
||||||
To build Cutter on Windows machines using CMake,
|
To build Cutter on Windows machines using CMake,
|
||||||
you will have to make sure that the executables are available
|
you will have to make sure that the executables are available
|
||||||
in your `%PATH%` environment variable.
|
in your ``%PATH%`` environment variable.
|
||||||
|
|
||||||
Note that the paths below may vary depending on your version of Qt and Visual Studio.
|
Note that the paths below may vary depending on your version of Qt and Visual Studio.
|
||||||
|
|
||||||
@ -131,7 +151,7 @@ Additional requirements:
|
|||||||
|
|
||||||
Download and unpack
|
Download and unpack
|
||||||
`Ninja <https://github.com/ninja-build/ninja/releases>`__ to the Cutter
|
`Ninja <https://github.com/ninja-build/ninja/releases>`__ to the Cutter
|
||||||
source root directory.
|
source root directory (ie. **cutter** - working dir).
|
||||||
|
|
||||||
Note that in the below steps, the paths may vary depending on your version of Qt and Visual Studio.
|
Note that in the below steps, the paths may vary depending on your version of Qt and Visual Studio.
|
||||||
|
|
||||||
@ -175,14 +195,14 @@ QtCreator will then allow you to directly edit the source code and build the pro
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
For the `.pro` file to be compiled successfully, it is required
|
On **Windows**, for the ``.pro`` file to be compiled successfully, it is required
|
||||||
to run `prepare_r2.bat` beforehand.
|
to run ``prepare_r2.bat`` beforehand.
|
||||||
|
|
||||||
Compiling on Linux / macOS
|
Compiling on Linux / macOS
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The easiest way, but not the one we recommend, is to simply run ``./build.sh`` from the root directory,
|
The easiest way, but not the one we recommend, is to simply run ``./build.sh`` from the root directory,
|
||||||
and let the magic happen. The script will use qmake to build Cutter.
|
and let the magic happen. The script will use ``qmake`` to build Cutter.
|
||||||
The ``build.sh`` script is meant to be deprecated and will be deleted in the future.
|
The ``build.sh`` script is meant to be deprecated and will be deleted in the future.
|
||||||
|
|
||||||
If you want to manually use qmake, follow these steps:
|
If you want to manually use qmake, follow these steps:
|
||||||
|
Loading…
Reference in New Issue
Block a user