Open SadE54 opened 2 years ago
I have this problem too, can anyone answer?
same here ! Project is still live ?
[edited because formatting was garbled by github]
I am not sure about the latest version but here are my notes when I evaluated open-license-manager. I don't guarantee that it will work for you because I did not follow recent developments and I don't know the internal details of open-license-manager.
The documentation of open-license-manager https://open-license-manager.github.io/licensecc/usage/issue-licenses.html suggests to have the executable lcc in your path and organize the project as follows:
projects
└── DEFAULT #(your project name)
├── include
│ └── licensecc
│ └── DEFAULT
│ ├── licensecc_properties.h
│ └── public_key.h
├── licenses
│ └── test.lic
└── private_key.rsa
Here, DEFAULT is the project name and would be replaced by MYPROJECT, for example.
The idea is that each project has its settings and licenses. In addition to DEFAULT (which is used for internal tests of open-license-manager), a new project can be added by reconfiguring cmake with the following additional variable -DLCC_PROJECT_NAME=xxx.
When I did so for MYPROJECT , I ended up with the following directory structure:
.
├── DEFAULT
│ ├── include
│ │ └── licensecc
│ │ └── DEFAULT
│ │ ├── licensecc_properties.h
│ │ └── public_key.h
│ └── private_key.rsa
└── MYPROJECT
├── include
│ └── licensecc
│ └── MYPROJECT
│ ├── licensecc_properties.h
│ └── public_key.h
└── private_key.rsa
Also, lccgen can be used to generate the project (in fact this is how the cmake configuration does it). When I tested this, the same directory structure was generated, but for some reason the file licensecc_properties.h is not created.
From the above structure we see that the build process generated both the public and the private key, by using openssl.
For a start, it can be sufficient to remove the public and private key when rebuilding the project, and this will regenerate both keys.
After compiling the library (cmake --build . --target install --config Release), the structure of the install directory is as follows:
.
├── bin
│ ├── lccgen
│ └── MYPROJECT
│ └── lccinspector
├── include
│ └── licensecc
│ ├── datatypes.h
│ ├── licensecc.h
│ └── MYPROJECT
│ ├── licensecc_properties.h
│ └── public_key.h
└── lib
├── cmake
│ ├── lccgen
│ │ ├── lccgen-config.cmake
│ │ ├── license_generator.cmake
│ │ └── license_generator-release.cmake
│ └── licensecc
│ ├── licensecc-config.cmake
│ └── licensecc-config-version.cmake
└── licensecc
└── MYPROJECT
├── cmake
│ ├── licensecc.cmake
│ └── licensecc-release.cmake
└── liblicensecc_static.a
There is a global lccgen executable, which is common for all projects, and then a lccinspector specific for each project. I suppose that this is because the hardware identifier strategy is specific for each project, and other variables as well.
Also, the include directory from each project's directory is copied as to the installation include directory, and a static library is generated for each project. Finally, some .cmake files are added for each project, probably to facilitate integration if you know how to use it.
This video may help https://youtu.be/BHb-p-4aaZE?si=_UehJQVSmzQA6fwl
I'm trying to use licgen to create a new project , but I'm not sure how to use it If I'm first trying that: lccgen project init -n POM nothing is happening (no text , even with verbose option)
Do I have to provide a rsa private key (link to .rsa files ? or the keys content in the command line ?)
lccgen project init --primary-key pom_private_key.rsa --public-key pom_public_key.rsa --project-name POM
return nothing :-/