From 7c2489cc3dc798484e11a449fd0e305210de901b Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周六, 14 12月 2019 20:12:41 +0800 Subject: [PATCH] fix codacy warnings --- README.md | 99 +++++++++++++++++++++++-------------------------- 1 files changed, 47 insertions(+), 52 deletions(-) diff --git a/README.md b/README.md index b18f2c7..2d6475f 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,13 @@ # Open License Manager -[](https://travis-ci.org/open-license-manager/open-license-manager) -[](http://github.com/badges/stability-badges) -A copy protection, licensing software written in C/C++ for Windows and Linux. +A copy protection, licensing software written in C++ for Windows and Linux (with a simple C api for use in C projects). + +[](https://en.wikipedia.org/wiki/C%2B%2B#Standardization) +[](http://github.com/badges/stability-badges) +[](https://opensource.org/licenses/BSD-3-Clause) +[](https://travis-ci.org/open-license-manager/open-license-manager) +[](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) +[](http://github.com/open-license-manager/open-license-manager/issues) 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 @@ -11,88 +16,78 @@ ## 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. - +It uses a [BSD 3 clauses](https://opensource.org/licenses/BSD-3-Clause) licensing schema, that allows free modification and 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). - * a license generator written in C++ (allows you to generate a license). +- a C++ library with a nice C api, `licensecc` with minimal (or no) external dependencies (the part you have to integrate in your software) that is the project you're currently in. +- a license generator lcc-license-generator `lcc` for customizing the library and generate the licenses. -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 descriptor](../../issues/8) in order to decrypt logs generated by the license system. +The following 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 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) +# How to build +Below an overview of the basic build procedure, you can find detailed instructions for [linux](https://github.com/open-license-manager/open-license-manager/wiki/Build-the-library) or [windows](https://github.com/open-license-manager/open-license-manager/wiki/Build-the-library-windows) in the wiki. -How to build -============ +## 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) +- libs : 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. -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. +For a complete list of dependencies and supported environments see [the wiki](https://github.com/open-license-manager/open-license-manager/wiki/Dependencies) -## prerequisites - * compilsers: GCC (Linux), MINGW or MSVC (Windows) - * tools/libs: cmake, boost, openssl (Linux/MINGW). +Clone the project. It has submodules, don't forget the `--recursive` option. -``` -git clone https://github.com/open-license-manager/open-license-manager.git +```console +git clone --recursive https://github.com/open-license-manager/open-license-manager.git cd open-license-manager/ -mkdir build cd build ``` -## on Linux -``` +## build on Linux + +```console cmake .. -DCMAKE_INSTALL_PREFIX=../install make make install ``` -## on Windows (with MSVC 2015) -``` -cmake .. -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX=../install +## build on Windows (with MSVC 2015) + +```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 -``` + +```console x86_64-w64-mingw32.static-cmake .. -DCMAKE_INSTALL_PREFIX=../install make make install ``` -How to test -=========== +## How to test -## on Linux -``` +### on Linux + +```console make test ``` -## on Windows (MSVC) -``` +### on Windows (MSVC) + +```console ctest -C Release ``` -How to use -========== +## How to use -This simple example shows how to integrate open-licence-manager into your project +The [examples](https://github.com/open-license-manager/examples) repository that shows various ways 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 -``` +## How to contribute +The project is not dead but we take our time to answer. The best interaction you can have with us is through the issue system. Have a look to the [contribution guidelines](CONTRIBUTING.md) +We use [GitFlow](https://datasift.github.io/gitflow/IntroducingGitFlow.html) (or at least a subset of it). Remember to install the gitflow git plugin and use `develop` as default branch for your pull requests. -- Gitblit v1.9.1