Skip to content

joaopapereira/cppSemaphore

Repository files navigation

Semaphores library.
=========

https://github.com/joaopapereira/cppSempahore.git

Overview
=========
Library in C++ to implement posix semaphores class

This library implements posix semaphores for linux environment.
In the library two distinct class that implement a semaphore
and a specialization of it that is a binary semaphore.

Requirements for End Users
=========

For this library the git submodule that is setted in the folder
modules is needed so the following commands must be issued:

  git submodule update

and then the location of installation of the library needed is done
using the following commands:

  cd modules
  INSTALL_INC_DIR=`pwd`/../include INSTALL_LIB_DIR=`pwd`/../lib cmake .
  make install
  
And the library can be found in lib folder in the top level.
After this you may want to remove the not needed folder to do that
use the following command :
  make distclean

Building the library
=========
Semaphore comes with a CMake build script (CMakeLists.txt) that can
be used on a wide range of platforms ("C" stands for cross-platofrm.).
If you don't have CMake installed already, you can download it for
free from http://www.cmake.org/.

CMake works by generating native makefiles or build projects that can
be used in the compiler environment of your choice.  The typical
workflow starts with:

  mkdir mybuild       # Create a directory to hold the build output.
  cd mybuild
  cmake ${SEMAPHORE_DIR}  # Generate native build scripts.

If you want to build 's samples, you should replace the
last command with

  cmake -Dsemaphore_build_samples=ON ${SEMAPHORE_DIR}

If you are on a *nix system, you should now see a Makefile in the
current directory.  Just type 'make' to build logger.


If you want to build 's library with debug, you should replace the
command with

  cmake -Dcompile_with_debug=ON ${SEMAPHORE_DIR}

About

Semaphores class with binary semaphores and none binary semaphores. Use as logging class the cppLogger class

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages