| | |
| | | $<TARGET_OBJECTS:base> |
| | | ) |
| | | |
| | | if(CODE_COVERAGE AND UNIX) |
| | | if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13) |
| | | target_link_options(licensecc_static PUBLIC --coverage) |
| | | endif() |
| | | list(APPEND EXTERNAL_LIBS gcov) |
| | | endif(CODE_COVERAGE AND UNIX) |
| | | |
| | | define_property(TARGET PROPERTY WITH_OPENSSL BRIEF_DOCS "need openssl to compile" FULL_DOCS "ff") |
| | | IF(UNIX OR OPENSSL_FOUND) |
| | |
| | | return string(reinterpret_cast<const char *>(cpui), 12); |
| | | } |
| | | } // namespace os |
| | | ======= |
| | | using namespace std; |
| | | |
| | | CpuInfo::CpuInfo() {} |
| | | |
| | | CpuInfo::~CpuInfo() {} |
| | | /** |
| | | * Detect Virtual machine using hypervisor bit. |
| | | * @return true if the cpu hypervisor bit is set to 1 |
| | | */ |
| | | bool CpuInfo::is_hypervisor_set() const { |
| | | int cpui[4] = {0}; |
| | | __cpuid(cpui, 0x1); |
| | | |
| | | return ((cpui[2] >> 31) & 1); |
| | | } |
| | | |
| | | uint32_t CpuInfo::model() const { |
| | | int cpui[4] = {0}; |
| | | __cpuid(cpui, 0x1); |
| | | // ax bits 0-3 stepping,4-7 model,8-11 family id,12-13 processor type |
| | | // 14-15 reserved, 16-19 extended model, 20-27 extended family, 27-31 reserved |
| | | // bx bits 0-7 brand index |
| | | return (cpui[0] & 0x3FFF) | (cpui[0] & 0x3FF8000) >> 2 | (cpui[1] & 0xff) << 24; |
| | | } |
| | | |
| | | string CpuInfo::vendor() const { |
| | | // hypervisor flag false, try to get the vendor name, see if it's a virtual cpu |
| | | int cpui[4] = {0}; |
| | | __cpuid(cpui, 0x0); |
| | | return string(reinterpret_cast<const char *>(cpui), 12); |
| | | } |
| | | |
| | | >>>>>>> branch 'feature/pc_identifiers' of https://github.com/open-license-manager/open-license-manager.git |
| | | } /* namespace license */ |
| | |
| | | BOOST_AUTO_TEST_CASE(test_read_license_data) { |
| | | const vector<string> extraArgs; |
| | | const fs::path licLocation = fs::path(generate_license("standard_license1", extraArgs)); |
| | | string license_data; |
| | | // load the license string |
| | | fs::load_string_file(licLocation, license_data); |
| | | const string licLocationStr = licLocation.string(); |
| | | string license_data = get_file_contents(licLocationStr.c_str(), 65536); |
| | | LicenseInfo license; |
| | | LicenseLocation location = {LICENSE_PLAIN_DATA}; |
| | | std::copy(license_data.begin(), license_data.end(), location.licenseData); |