libjxl

FORK: libjxl patches used on blog
git clone https://git.neptards.moe/blog/libjxl.git
Log | Files | Refs | Submodules | README | LICENSE

developing_in_debian.md (1681B)


      1 # Developing in Debian
      2 
      3 These instructions assume an up-to-date Debian/Ubuntu system.
      4 For other platforms, please instead use the following:
      5 
      6 * [Cross Compiling for Windows with Crossroad](developing_with_crossroad.md).
      7 
      8 ## Minimum build dependencies
      9 
     10 Apart from the dependencies in `third_party`, some of the tools use external
     11 dependencies that need to be installed on your system first:
     12 
     13 ```bash
     14 sudo apt install cmake clang doxygen g++ extra-cmake-modules \
     15   libgif-dev libjpeg-dev ninja-build libgoogle-perftools-dev
     16 ```
     17 
     18 Make sure your default `clang` compiler is at least version 6 by running
     19 
     20 ```bash
     21 clang --version
     22 ```
     23 
     24 If it still shows an old version despite having, for example, `clang-7` installed, you need
     25 to update the default `clang` compiler. On Debian-based systems run:
     26 
     27 ```bash
     28 sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-7 100
     29 sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-7 100
     30 ```
     31 
     32 Optionally, to compile some of the extra tool support and tests you can install
     33 the following packages:
     34 
     35 ```bash
     36 sudo apt install qt6-base-dev libwebp-dev libgimp2.0-dev libopenexr-dev \
     37   libgtest-dev libgmock-dev libbenchmark-dev libbenchmark-tools
     38 ```
     39 
     40 For the lint/coverage commands, you will also need additional packages:
     41 
     42 ```bash
     43 sudo apt install clang-format clang-tidy curl parallel gcovr
     44 ```
     45 
     46 ## Building
     47 
     48 The `libjxl` project uses CMake to build. We provide a script that simplifies the
     49 invocation. To build and test the project, run
     50 
     51 ```bash
     52 ./ci.sh opt
     53 ```
     54 
     55 This writes binaries to `build/tools` and runs unit tests. More information
     56 on [build modes and testing](building_and_testing.md) is available.