Lines Matching +full:ninja +full:- +full:build
1 ## libultrahdr CMake Build Instructions
3 [](https://in…
11 - [CMake](http://www.cmake.org) v3.15 or later
12 - C++ compiler, supporting at least C++17.
13 - libultrahdr uses jpeg compression format to store sdr image and gainmap quotient.
17 at the time of configure. That is, `cmake -DUHDR_BUILD_DEPS=1` will clone jpeg codec
18 from [link](https://github.com/libjpeg-turbo/libjpeg-turbo.git) and include it in
19 the build process. This is however not recommended.
21 If jpeg is included in the build process then,
22 - C compiler
23 - For building x86/x86_64 SIMD optimizations, [NASM](http://www.nasm.us) or
32 To set these options and parameters, use `-D<Parameter_name>=<value>`.
35 `cmake -DOPTION_ONE=1 -DOPTION_TWO=0 ...` <br>
36 before running `cmake --build ...`<br>
38 For example, to build unit tests in a new subdirectory called 'build', run:
41 cmake -G "Unix Makefiles" -S. -Bbuild -DUHDR_BUILD_TESTS=1 ../
43 and then build with:
46 cmake --build build
52 |:-------------|:--------------|:-----|
55 | `UHDR_BUILD_EXAMPLES` | ON | Build sample application. This application demonstrates how to use […
56 | `UHDR_BUILD_TESTS` | OFF | Build Unit Tests. Mostly for Devs. During development, different modul…
57 …Build Benchmark Tests. These are for profiling libuhdr encode/decode API. Resources used by benchm…
58 | `UHDR_BUILD_FUZZERS` | OFF | Build Fuzz Test Applications. Mostly for Devs. <ul><li> Fuzz applica…
59 | `UHDR_BUILD_DEPS` | OFF | Clone and Build project dependencies and not use pre-installed packages…
60 | `UHDR_BUILD_JAVA` | OFF | Build JNI wrapper, Java front-end classes and Java sample application. |
61 | `UHDR_ENABLE_LOGS` | OFF | Build with verbose logging. |
63 | `UHDR_ENABLE_INTRINSICS` | ON | Build with SIMD acceleration. Sections of libuhdr are accelerated…
64 | `UHDR_ENABLE_GLES` | OFF | Build with GPU acceleration. |
65 | `UHDR_ENABLE_WERROR` | OFF | Enable -Werror when building. |
66 …on 8192x8192. For different resolution needs use this option. For example, `-DUHDR_MAX_DIMENSION=4…
68 | `UHDR_WRITE_ISO` | ON | Enable writing gainmap metadata in ISO 21496-1 format. |
69 …Build library with sanitize options. Values set to this parameter are passed to directly to compil…
70 | `UHDR_BUILD_PACKAGING` | OFF | Build distribution packages using CPack. |
75 …ninja. Consequently, ninja is added to the list of prerequisite packages. This need not be the cas…
77 ### Build Steps
93 sudo apt install cmake pkg-config libjpeg-dev ninja-build
99 cmake -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DUHDR_BUILD_TESTS=1 ../
100 ninja
106 **libuhdr.so.{version}** - Shared library for the libuhdr API <br>
107 **libuhdr.so** - Symlink to shared library <br>
108 **libuhdr.a** - Static link library for the libuhdr API <br>
109 **libuhdr.pc** - libuhdr pkg-config file <br>
110 **ultrahdr_app** - sample application <br>
111 **ultrahdr_unit_test** - unit tests <br>
116 sudo ninja install
119 … headers, pkg-config, and shared libraries. By default the headers are put in `/usr/local/include/…
124 sudo ninja uninstall
132 brew install cmake pkg-config jpeg ninja
138 cmake -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DUHDR_BUILD_TESTS=1 ../
139 ninja
145 **libuhdr.{version}.dylib** - Shared library for the libuhdr API <br>
146 **libuhdr.dylib** - Symlink to shared library <br>
147 **libuhdr.a** - Static link library for the libuhdr API <br>
148 **libuhdr.pc** - libuhdr pkg-config file <br>
149 **ultrahdr_app** - sample application <br>
150 **ultrahdr_unit_test** - unit tests <br>
155 sudo ninja install
158 … headers, pkg-config, and shared libraries. By default the headers are put in `/usr/local/include/…
163 sudo ninja uninstall
166 ### Windows Platform - MSYS2 Env
171 pacman -S mingw-w64-ucrt-x86_64-libjpeg-turbo mingw-w64-ucrt-x86_64-ninja
177 cmake -G Ninja -DUHDR_BUILD_TESTS=1 ../
178 ninja
184 **libuhdr.dll** - Shared library for the libuhdr API <br>
185 **libuhdr.dll.a** - Import library for the libuhdr API <br>
186 **libuhdr.a** - Static link library for the libuhdr API <br>
187 **libuhdr.pc** - libuhdr pkg-config file <br>
188 **ultrahdr_app** - sample application <br>
189 **ultrahdr_unit_test** - unit tests <br>
191 ### Windows Platform - MSVC Env
198 cmake -G "Visual Studio 16 2019" -DUHDR_BUILD_DEPS=1 -DUHDR_BUILD_TESTS=1 ../
199 cmake --build ./ --config=Release
200 ctest -C Release
208 cmake -G "NMake Makefiles" -DUHDR_BUILD_DEPS=1 -DUHDR_BUILD_TESTS=1 ../
209 cmake --build ./
215 **uhdr.dll** - Shared library for the libuhdr API <br>
216 **uhdr.lib** - Import library for the libuhdr API <br>
217 **uhdr-static.lib** - Static link library for the libuhdr API <br>
218 **ultrahdr_app** - sample application <br>
219 **ultrahdr_unit_test** - unit tests <br>
221 ### Cross-Compilation - Build System Linux
223 #### Target - Linux Platform - Armv7 Arch
228 sudo apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
234 cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/arm-linux-gnueabihf.cmake -DUHDR_BUILD_DE…
235 ninja
238 #### Target - Linux Platform - Armv8 Arch
243 sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
249 cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64-linux-gnu.cmake -DUHDR_BUILD_DEPS…
250 ninja
253 #### Target - Linux Platform - RISC-V Arch (64 bit)
258 sudo apt install gcc-riscv64-linux-gnu g++-riscv64-linux-gnu
264 cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/riscv64-linux-gnu.cmake -DUHDR_BUILD_DEPS…
265 ninja
270 **libuhdr.so.{version}** - Shared library for the libuhdr API <br>
271 **libuhdr.so** - Symlink to shared library <br>
272 **libuhdr.a** - Static link library for the libuhdr API <br>
273 **ultrahdr_app** - sample application <br>
274 **ultrahdr_unit_test** - unit tests <br>
276 #### Target - Linux Platform - RISC-V Arch (32 bit)
281 # Download from https://github.com/riscv-collab/riscv-gnu-toolchain/releases
282 sudo ln -s {your_dir}/riscv/bin/riscv32-unknown-linux-gnu-g++ /usr/bin/riscv32-linux-gnu-g++
283 sudo ln -s {your_dir}/riscv/bin/riscv32-unknown-linux-gnu-gcc /usr/bin/riscv32-linux-gnu-gcc
289 cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/riscv32-linux-gnu.cmake -DUHDR_BUILD_DEPS…
290 ninja
295 **libuhdr.so.{version}** - Shared library for the libuhdr API <br>
296 **libuhdr.so** - Symlink to shared library <br>
297 **libuhdr.a** - Static link library for the libuhdr API <br>
298 **ultrahdr_app** - sample application <br>
299 **ultrahdr_unit_test** - unit tests <br>
301 #### Target - Linux Platform - LOONG Arch (64 bit)
306 sudo apt install gcc-loongarch64-linux-gnu g++-loongarch64-linux-gnu
312 cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/loong64-linux-gnu.cmake -DUHDR_BUILD_DEPS…
313 ninja
316 #### Target - Android Platform
321 wget https://dl.google.com/android/repository/android-ndk-r26d-linux.zip
322 unzip android-ndk-r26d-linux.zip
325 Choose target architecture with -DANDROID_ABI={armeabi-v7a, arm64-v8a, x86, x86_64}
329 …-G Ninja -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/android.cmake -DUHDR_ANDROID_NDK_PATH=/opt/and…
330 ninja
335 **libuhdr.so** - Shared library for the libuhdr API <br>
336 **libuhdr.a** - Static link library for the libuhdr API <br>
337 **ultrahdr_app** - sample application <br>
338 **ultrahdr_unit_test** - unit tests <br>
340 #### Target - Wasm
342 …scripten.org/docs/getting_started/downloads.html#installation-instructions-using-the-emsdk-recomme…
346 emcmake cmake -G Ninja ../
347 ninja
352 **ultrahdr_app.wasm** - wasm module <br>
353 **ultrahdr_app.js** - sample application <br>