diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 65 |
1 files changed, 55 insertions, 10 deletions
@@ -23,33 +23,34 @@ For this libjpeg-turbo is used. This is cloned from <https://github.com/libjpeg-turbo/libjpeg-turbo.git> and included in the build process. -### Requirements +Requirements +-------------- - [CMake](http://www.cmake.org) v3.13 or later - [NASM](http://www.nasm.us) or [Yasm](http://yasm.tortall.net) - (If libjpeg-turbo is building on x86 or x86-64 with SIMD extensions) + (If libjpeg-turbo needs to be built with SIMD extensions) * If using NASM, 2.13 or later is required. * If using Yasm, 1.2.0 or later is required. * If building on macOS, NASM or Yasm can be obtained from [MacPorts](http://www.macports.org/) or [Homebrew](http://brew.sh/). +- Compilers with support for C++17 + Should work with GCC v7 (or later) and Clang 5 (or later) on Linux and Mac Platforms. -### Building Lib and Samples +Should work with Microsoft Visual C++ 2019 (or later) on Windows Platforms. -To build libultrahdr and sample application: +Build Procedure +--------------- - mkdir {build_directory} - cd {build_directory} - cmake ../ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ - make +To build libultrahdr, examples, unit tests: -To build unit tests: +### Un*x (including Linux, Mac) mkdir {build_directory} cd {build_directory} - cmake ../ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DUHDR_BUILD_TESTS=1 + cmake -G "Unix Makefiles" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DUHDR_BUILD_TESTS=1 ../ make ctest @@ -61,6 +62,50 @@ This will generate the following files under *{build_directory}*: **ultrahdr_unit_test**<br> Unit tests +### Visual C++ (IDE) + + mkdir {build_directory} + cd {build_directory} + cmake -G "Visual Studio 16 2019" -DUHDR_BUILD_TESTS=1 ../ + cmake --build ./ --config=Release + ctest -C Release + +This will generate the following files under *{build_directory/Release}*: + +**ultrahdr.lib**<br> Static link library for the ultrahdr API + +**ultrahdr_app.exe**<br> Sample application demonstrating ultrahdr API + +**ultrahdr_unit_test.exe**<br> Unit tests + +### MinGW + +NOTE: This assumes that you are building on a Windows machine using the MSYS +environment. + + mkdir {build_directory} + cd {build_directory} + cmake -G "MSYS Makefiles" -DUHDR_BUILD_TESTS=1 ../ + cmake --build ./ + ctest + + mkdir {build_directory} + cd {build_directory} + cmake -G "MinGW Makefiles" -DUHDR_BUILD_TESTS=1 ../ + cmake --build ./ + ctest + +This will generate the following files under *{build_directory}*: + +**libultrahdr.a**<br> Static link library for the ultrahdr API + +**ultrahdr_app.exe**<br> Sample application demonstrating ultrahdr API + +**ultrahdr_unit_test.exe**<br> Unit tests + + +NOTE: To not build unit tests, skip passing -DUHDR_BUILD_TESTS=1 + ### Building Fuzzers Refer to [README.md](fuzzer/README.md) for complete instructions. |