Various synchronization primitives for multithreaded applications in C++11.
C++ CMake
Latest commit 41ac9c7 Jul 7, 2016 @preshing committed on GitHub Merge pull request #9 from Zapeth/master
Fix BitField postfix in/decrement operators

README.md

Various synchronization primitives for multithreaded applications in C++11.

Used in the blog post, Semaphores are Surprisingly Versatile.

Code is released under the zlib license. See the LICENSE file.

How to Build the Tests

First, you must generate the projects using CMake. Open a command prompt in the tests/basetests folder and do the following.

mkdir build
cd build
cmake .. 

cmake takes an optional -G argument to specify which project generator to use. For example, the following command will use the Visual Studio 2013 generator. A complete list of available generators can be found by running cmake with no arguments.

cmake -G "Visual Studio 12 2013" ..

On a Unix-like OS, to generate a makefile that builds the release configuration:

cmake -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" ..

To generate projects for iOS devices, use the following.

cmake -DCMAKE_TOOLCHAIN_FILE=../../cmake/iOS.cmake -G "Xcode" ..

To build the project, simply use the generated project files as you would normally. On some platforms, you can use CMake to perform the build step, too. For example, on Windows, you can use the command:

cmake --build . --config Release