From 8d405b265285c368df2e9cf1c14acee7532e0ee7 Mon Sep 17 00:00:00 2001 From: nancy.liao <huihui.liao@greentest.com.cn> Date: ćšć, 29 5æ 2025 18:14:38 +0800 Subject: [PATCH] Merge branch 'develop' of http://139.9.88.116:3000/r/module/open-license-manager into develop --- doc/development/Build-the-library.md | 52 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 38 insertions(+), 14 deletions(-) diff --git a/doc/development/Build-the-library.md b/doc/development/Build-the-library.md index 00f8854..4e0861b 100644 --- a/doc/development/Build-the-library.md +++ b/doc/development/Build-the-library.md @@ -1,10 +1,12 @@ # Build - Linux ## Install prerequisites -Below the prerequisites for compiling open-license-manager. For developing it we use Eclipse. Recent CDT works smoothly with CMake. Remember to install the Ninja package as build system and Cmake Gui for a good eclipse integration. +Below the prerequisites for compiling `licensecc`. For developing it we use Eclipse. +Recent CDT works smoothly with CMake. Remember to install the Ninja package as build system and Cmake Gui for a good eclipse integration. ### Ubuntu -Supported Ubuntu distributions are 18.04 (Bionic Beaver) and 16.04 (Xenial) though it should be possible to build on any recent Ubuntu version. +Supported Ubuntu distributions are 20.04 (Focal Fossa), 18.04 (Bionic Beaver) and 16.04 (Xenial). +It should be possible to build on any recent Debian-derivate distribution. Install prerequisites: @@ -22,19 +24,19 @@ ### CentOS 7 -CentOS 7 ships with gcc 4.8 that isn't working for a bug on regular expression. It's necessary to update to gcc 4.9 or later. +CentOS 7 ships with gcc 4.8 that isn't compiling for a bug on regular expression. It's necessary to update to gcc 4.9 or later. Install prerequisites: ```console -yum -y update && yum -y install wget boost boost-devel boost-static openssl openssl-devel glibc-static centos-release-scl-rh -yum -y install devtoolset-7-toolchain devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-valgrind-devel +yum -y update && yum -y install install centos-release-scl +yum -y install wget boost boost-devel boost-static openssl openssl-devel openssl-static +yum -y install glibc-static devtoolset-7-toolchain devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-valgrind-devel -scl enable devtoolset-7 bash export CC=/opt/rh/devtoolset-7/root/usr/bin/gcc export CXX=/opt/rh/devtoolset-7/root/usr/bin/g++ ``` -Centos 7 ships with CMake 2.8.11 that's not supported anymore. You need to compile and install a newer (>3.6) version of CMake. +Centos 7 ships with CMake 2.8.11 that's not supported. You need to compile and install a newer (>3.6) version of CMake. ```console wget https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz @@ -46,7 +48,8 @@ cmake --version #(check it's 3.11.0) ``` -If you don't want to install all these prerequisites you can also build the library in a docker container. Check for the corresponding section in the `.travis.yml` file at the base of the project. +If you don't want to install all these prerequisites in your machine you can also build the library in a docker container. +Check for the corresponding Centos 7 section in the `.travis.yml` file at the base of the project. ### CentOS 8 Install prerequisites: @@ -67,16 +70,15 @@ ``` ### Other linux -Open License Manager should compile on any recent (2019) linux distribution. Being CentOS 7 the older distribution we keep compatibilty with. +Licensecc should compile on any recent (2020) linux distribution. Being CentOS 7 the older distribution we keep compatibilty with. Minimum prerequisites * gcc => 4.9, cmake => 3.6 * zlib, openssl => 1.0.2 -* Boost => 1.53 (If you want to compile your own boost version remember to use the flag `runtime-link=static`) +* Boost => 1.57 (If you want to compile your own boost version remember to use the flag `runtime-link=static`) Optional prerequisites: -* Dbus (if you want to enable dbus generated identifiers) -* Doxygen +* Doxygen, Sphynx for documentation ## Download and compile @@ -84,13 +86,13 @@ This project has a submodule (the license generator). Remember to add the option `--recursive` to clone it. ```console -git clone --recursive https://github.com/open-license-manager/open-license-manager.git +git clone --recursive https://github.com/open-license-manager/licensecc.git ``` ### Configure: ```console -cd open-license-manager/build +cd licensecc/build cmake .. -DCMAKE_INSTALL_PREFIX=../install ``` @@ -153,3 +155,25 @@ cmake -DCMAKE_TOOLCHAIN_FILE=../modules/toolchain-ubuntu-mingw64.cmake -DOPENSSL_ROOT_DIR=$CUR_PATH/openssl-OpenSSL_1_1_1d/dist -DCMAKE_FIND_DEBUG_MODE=ON -DOPENSSL_USE_STATIC_LIBS=ON -DBOOST_ROOT=$CUR_PATH/boost_1_71_0/dist .. ``` + +###Build documentation + +Setup the python virtual environment: + +``` +python3 -m venv .venv + +. .venv/bin/activate +pip install wheel +pip install -r requirements.txt + +``` + +Build the docs: + +``` +. .venv/bin/activate +cd build +cmake .. +make documentation +``` \ No newline at end of file -- Gitblit v1.9.1