aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md65
1 files changed, 55 insertions, 10 deletions
diff --git a/README.md b/README.md
index 07290f0..b7bc27b 100644
--- a/README.md
+++ b/README.md
@@ -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.