| | |
| | | ####################################### |
| | | C++ software protection with Licensecc |
| | | ####################################### |
| | | Copy protect, restrict the usage of your C++ software with a license file using this library. |
| | | |
| | | Welcome to licensecc's documentation. |
| | | |c11|_ |License|_ |unstable|_ |BuildStatus|_ |CodacyBadge|_ |codecov|_ |forum|_ |
| | | |
| | | .. |c11| image:: https://img.shields.io/badge/c%2B%2B-11-blue.svg |
| | | .. _c11: https://en.wikipedia.org/wiki/C%2B%2B#Standardization |
| | | .. |unstable| image:: http://badges.github.io/stability-badges/dist/unstable.svg |
| | | .. _unstable: http://github.com/badges/stability-badges |
| | | .. |License| image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg |
| | | .. _License: ttps://opensource.org/licenses/BSD-3-Clause |
| | | .. |BuildStatus| image:: https://travis-ci.org/open-license-manager/open-license-manager.svg?branch=develop |
| | | .. _BuildStatus: https://travis-ci.org/open-license-manager/open-license-manager |
| | | .. |CodacyBadge| image:: https://api.codacy.com/project/badge/Grade/62d6e1bb22d648bd85b6f3bc344a545a |
| | | .. _CodacyBadge: https://www.codacy.com/manual/gcontini/open-license-manager?utm_source=github.com&utm_medium=referral&utm_content=open-license-manager/open-license-manager&utm_campaign=Badge_Grade |
| | | .. |codecov| image:: https://codecov.io/gh/open-license-manager/open-license-manager/branch/develop/graph/badge.svg |
| | | .. _codecov: https://codecov.io/gh/open-license-manager/open-license-manager |
| | | .. |issues| image:: https://img.shields.io/github/issues/open-license-manager/open-license-manager |
| | | .. _issues: http://github.com/open-license-manager/open-license-manager/issues |
| | | .. |forum| image:: https://img.shields.io/badge/forum-licensecc-blue.svg?style=flat |
| | | .. _forum: https://groups.google.com/d/forum/licensecc |
| | | |
| | | 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 source license management system that helps to keep your |
| | | software closed :smirk: . Among the other features the most notable one is: if it runs on a "real hardware" |
| | | it can generate a signature of that hardware and report if the signature doesn't match, because for instance |
| | | the software has been copied to another pc. |
| | | |
| | | A comprehensive :ref:`list of features <analysis/features:Features>`, and their status is available in the project wiki. |
| | | |
| | | License (BSD) |
| | | ************** |
| | | 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`_ licensing schema, that allows modification and inclusion in GPL and commercial software. |
| | | |
| | | .. _BSD 3 clauses: https://opensource.org/licenses/BSD-3-Clause |
| | | |
| | | Project Structure |
| | | ******************* |
| | | The software is made by 3 main sub-components: |
| | | |
| | | * ``licensecc`` : the C++ library with a C api (the part you have to integrate in your software) with minimal (or no) external dependencies. This is the project you're currently looking at. |
| | | * ``lccinspector`` : a license debugger to be sent to the final customer to diagnose licensing problems or for calculating the pc hash before issuing the license. |
| | | * ``lccgen`` : a license generator (github project `lcc-license-generator`_ ) to initialize the library and generate the licenses. |
| | | |
| | | .. _lcc-license-generator: https://github.com/open-license-manager/lcc-license-generator |
| | | |
| | | How to build |
| | | **************** |
| | | Below an overview of the basic build procedure, provided as an example but if you really want to try we suggest you to refer to the detailed section |
| | | for your operating system: :ref:`Linux <development/Build-the-library:Build - Linux>` or :ref:`Windows <development/Build-the-library-windows:Build - Windows>`. |
| | | |
| | | Prerequisites |
| | | =================== |
| | | |
| | | * Operating system : Linux(Ubuntu, CentOS), Windows |
| | | * compilers : GCC (Linux) MINGW (Linux cross compile for Windows), MINGW or MSVC (Windows) |
| | | * tools : Cmake(>3.6), git, make/ninja(linux) |
| | | * libraries : If target is Linux Openssl is required. Windows depends only on system libraries. Boost is necessary to build license generator and to run the tests but it's NOT a dependency of the final `licensecc` library. |
| | | |
| | | For a complete list of dependencies and supported environments see the :ref:`development/Dependencies:Dependencies` section. |
| | | Clone the project. It has submodules, don't forget the `--recursive` option. |
| | | |
| | | .. code-block:: console |
| | | |
| | | git clone --recursive https://github.com/open-license-manager/open-license-manager.git |
| | | cd open-license-manager/ |
| | | cd build |
| | | |
| | | Build on Linux |
| | | =================== |
| | | |
| | | .. code-block:: console |
| | | |
| | | cmake .. -DCMAKE_INSTALL_PREFIX=../install |
| | | make |
| | | make install |
| | | |
| | | Build on Windows (with MSVC 2015) |
| | | ================================== |
| | | |
| | | .. code-block:: console |
| | | |
| | | cmake .. -G "Visual Studio 14 2015 Win64" -DBOOST_ROOT="{Folder where boost is}" -DCMAKE_INSTALL_PREFIX=../install |
| | | cmake --build . --target install --config Release |
| | | |
| | | Cross compile with MINGW on Linux |
| | | ===================================== |
| | | |
| | | .. code-block:: console |
| | | |
| | | x86_64-w64-mingw32.static-cmake .. -DCMAKE_INSTALL_PREFIX=../install |
| | | make |
| | | make install |
| | | |
| | | How to test |
| | | **************** |
| | | |
| | | On Linux: |
| | | |
| | | .. code-block:: console |
| | | |
| | | make test |
| | | |
| | | On Windows (MSVC): |
| | | |
| | | .. code-block:: console |
| | | |
| | | ctest -C Release |
| | | |
| | | How to use |
| | | ************** |
| | | The `examples`_ repository shows various ways to integrate `licensecc` into your project. |
| | | |
| | | .. _examples: https://github.com/open-license-manager/examples |
| | | |
| | | How to contribute |
| | | ******************** |
| | | |
| | | .. TIP:: |
| | | The easiest way you can solve your problems or ask help is through the `forums`_ (hosted on Google) |
| | | |
| | | Otherwise you can open an issue in the `issue system`_. Have a look to the `contribution guidelines`_ before reporting. |
| | | |
| | | We use `GitFlow`_ (or at least a subset of it). Remember to install the gitflow git plugin and use ``develop`` as default branch for your pull requests. |
| | | |
| | | .. _forums: https://groups.google.com/forum/#!forum/licensecc |
| | | .. _issue system: https://github.com/open-license-manager/open-license-manager/issues |
| | | .. _contribution guidelines: https://github.com/open-license-manager/open-license-manager/blob/develop/CONTRIBUTING.md |
| | | .. _GitFlow: https://datasift.github.io/gitflow/IntroducingGitFlow.html |
| | | |
| | | * :ref:`genindex` |
| | | * :ref:`modindex` |
| | |
| | | |
| | | |
| | | .. toctree:: |
| | | :glob: |
| | | :maxdepth: 2 |
| | | :hidden: |
| | | :caption: API: |
| | | |
| | | api/* |
| | | api/public_api |
| | | api/extend |
| | | |
| | | .. toctree:: |
| | | :glob: |