Gabriele Contini
2019-09-10 82f9d834ad772b2f16b6524f679d14d8a7afe881
README.md
@@ -1,12 +1,20 @@
# Open License Manager
![Build Status](https://travis-ci.org/open-license-manager/open-license-manager.png "Build Status")
[![Build Status](https://travis-ci.org/open-license-manager/open-license-manager.svg?branch=master)](https://travis-ci.org/open-license-manager/open-license-manager)
[![experimental](http://badges.github.io/stability-badges/dist/experimental.svg)](http://github.com/badges/stability-badges)
A lincense manager written in C/C++ for Windows and Linux environments.
A copy protection, licensing software written in C/C++ for Windows and Linux.
It allows to protect the software you develop from unauthorized copies,
limit the usage in time, to a specific set of machines, or prevent the usage in 
virtualized environments. It is an Open License Manager that helps to keep your 
software closed ;-)
software closed :smirk: . A comprehensive [list of features](https://github.com/open-license-manager/open-license-manager/wiki/features), and their status is available in the project wiki.
## License
The project is donated to the community. It comes with a very large freedom of use for everyone, and it will always be.
It uses a [BSD 3 clauses](https://opensource.org/licenses/BSD-3-Clause) licensing schema, that allows the inclusion in commercial software.
## Project Structure
The software is made by 2 main sub-components:
 * a C library with no (or minimal) external dependencies (the part you have to integrate in your software).
@@ -15,45 +23,76 @@
these modules are planned....
 * a license [backoffice](../../issues/7) in php (in order to handle multiple licenses).
 * a license debugger to be sent to the final customer when there are licensing problems. 
 * a [log decriptor](../../issues/8) in order to decrypt logs generated by the license system.
 * a [log descriptor](../../issues/8) in order to decrypt logs generated by the license system.
You can notice 2 more sub-projects:
 * bootstrap: allows to generate private keys and modify the library on the fly after the downloading.
 * testing  : runs the tests (and publish the results on cdash)
Licensing
=====================
The project comes out with a very large freedom of use for everyone (and it will always be).
It uses a BSD 3 clauses licensing schema.
Elsewhere on Internet
=====================
 * Wiki main page:
 * Install and build :
 * Project web site :
How to build
============
Below an overview of the basic build procedure, you can find detailed instructions for each [supported environment](https://github.com/open-license-manager/open-license-manager/wiki/Build-the-library) in the wiki.
## prerequisites
 * compilsers: GCC (Linux), MINGW or MSVC (Windows)
 * tools/libs: cmake, boost, openssl (Linux/MINGW).
```
git clone https://github.com/open-license-manager/open-license-manager.git
cd open-license-manager/
mkdir build
cd build
# on Linux :
```
## on Linux
```
cmake .. -DCMAKE_INSTALL_PREFIX=../install
make
make install
```
# on Windows with MSVC
## on Windows (with MSVC 2015)
```
cmake .. -G "Visual Studio 14 2015 Win64" -DBOOST_ROOT="{Folder where boost is}" -DCMAKE_INSTALL_PREFIX=../install
cmake --build . --target install --config Release
```
cmake .. -G "Visual Studio 10 2010 Win64" -DCMAKE_INSTALL_PREFIX=../install
cmake --build . --target install
# cross compile with MINGW on Linux
## cross compile with MINGW on Linux
```
x86_64-w64-mingw32.static-cmake .. -DCMAKE_INSTALL_PREFIX=../install
make
make install
```
How to test
===========
## on Linux
```
make test
```
## on Windows (MSVC)
```
ctest -C Release
```
How to use
==========
This simple example shows how to integrate open-licence-manager into your project
```
$ cd example
$ cmake .
$ make
$ ./example
license ERROR :
    license file not found
the pc signature is :
    Jaaa-aaaa-MG9F-ZhBB
$ ../install/bin/license_generator example -s Jaaa-aaaa-MG9F-ZhBB -o example.lic
$ ./example
licence OK
```