Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wavesoft/libcernvm
A cross-platform library for starting, controlling and interfacing with Virtual Machines, mainly targeting desktop computers.
https://github.com/wavesoft/libcernvm
Last synced: 2 months ago
JSON representation
A cross-platform library for starting, controlling and interfacing with Virtual Machines, mainly targeting desktop computers.
- Host: GitHub
- URL: https://github.com/wavesoft/libcernvm
- Owner: wavesoft
- License: gpl-3.0
- Created: 2014-03-27T09:43:50.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2016-06-14T08:26:48.000Z (over 8 years ago)
- Last Synced: 2023-03-13T20:41:03.521Z (almost 2 years ago)
- Language: C++
- Size: 921 KB
- Stars: 1
- Watchers: 2
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- License: LICENSE
Awesome Lists containing this project
README
libCernVM
=========A cross-platform library for starting, controlling and interfacing with Virtual Machines, mainly targeting desktop computers. It started as a browser plugin, using the NPAPI interface, but since it's getting deprecated, the logic was forked into an individual project, so it can be interfaced with newer implementations.
__libCernVM__ takes care of three major interactions:
* *Ensuring* that a hypervisor is installed in the host's computer and is in functional state.
* *Abstracting* the interface with the hypervisor, ensuring integrity and security on the operations.
* *Interfacing* with the running VM instance.For more documentation, check on the Wiki Pages.
Building
========The library can be built with CMake. There is an extensive CMake configuration that allows all the dependant libraries to be built along. To include libcernvm in your project you will have to do the following:
```CMake
# CernVM Library requries CMake 2.8
cmake_minimum_required (VERSION 2.8)...
# Include CernVM Library project
set( CERNVM_LIBSRC "/path/to/libcernvm" )# Include the CernVM Sub-Project
add_subdirectory( ${CERNVM_LIBSRC} libcernvm )
include_directories( ${CERNVM_INCLUDE_DIRS} )...
# Link CernVM libraries to your project
target_link_libraries ( ${PROJECT_NAME} ${CERNVM_LIBRARIES} )```
Build Parameters
----------------The CernVM library supports the following CMake options:
Crash reporting and debug logging:
* **-DLOGGING=ON** : Enable verbose logging of each action taken in the project.
* **-DCRASH_REPORTING** : Enable sending crash reports for debugging when an unhandled exception occurs.Linking and building options:
* **-DSYSTEM_ZLIB=ON** : Use shared, system-provided z-lib library instead of linking it statically.
* **-DSYSTEM_JSONCPP=ON** : Use shared, system-provided JsonCPP library instead of linking it statically.
* **-DSYSTEM_OPENSSL=ON** : Use shared, system-provided OpenSSL library instead of linking it statically.
* **-DSYSTEM_CURL=ON** : Use shared, system-provided CURL library instead of linking it statically.
* **-DSYSTEM_BOOST=ON** : Use shared, system-provided BOOST library instead of linking it statically.
* **-DUSE_SYSTEM_LIBS=ON** : Use all libraries provided from systemCopyright
=========CVMWebAPI is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
CVMWebAPI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with CVMWebAPI. If not, see http://www.gnu.org/licenses/.
Developed by Ioannis Charalampidis, 2013-2014