You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# currently gcc is not supported due to problems cross-compiling a unikernel
16
-
# (i.e., building a 32bit unikernel (only supported for now) on a 64bit system)
17
-
message(FATAL_ERROR"Building IncludeOS with gcc is not currently supported. Please clean-up build directory and configure for clang through CC and CXX environmental variables.")
18
-
endif(CMAKE_COMPILER_IS_GNUCC)
28
+
# C++ version
29
+
set(CMAKE_CXX_STANDARD 14)
19
30
20
31
# create OS version string from git describe (used in CXX flags)
21
32
execute_process(COMMANDgitdescribe--dirty
22
33
WORKING_DIRECTORY${INCLUDEOS_ROOT}
23
34
OUTPUT_VARIABLEOS_VERSION)
24
35
string(STRIP${OS_VERSION} OS_VERSION)
25
36
37
+
option(cpu_feat_vanilla"Restrict use of CPU features to vanilla"ON)
38
+
if(cpu_feat_vanilla)
39
+
include("cmake/vanilla.cmake")
40
+
set(DEFAULT_SETTINGS_CMAKE "vanilla.cmake") # for service cmake
41
+
set(DEFAULT_VM "vm.vanilla.json") # vmrunner
42
+
else()
43
+
include("cmake/cpu_feat.cmake")
44
+
set(DEFAULT_SETTINGS_CMAKE "cpu_feat.cmake") # for service cmake
45
+
set(DEFAULT_VM "vm.cpu_feat.json") # vmrunner
46
+
endif(cpu_feat_vanilla)
47
+
48
+
option(single_threaded"Compile without SMP support"ON)
49
+
26
50
# create random hex string as stack protector canary
| Dev |[](https://jenkins.includeos.org/job/shield_dev_bundle/)|[](https://jenkins.includeos.org/job/shield_dev_integration_tests/)|
29
29
30
30
### Key features
31
31
32
32
***Extreme memory footprint**: A minimal bootable image, including bootloader, operating system components and a complete C++ standard library is currently 707K when optimized for size.
33
-
***KVMand VirtualBox support** with full virtualization, using [x86 hardware virtualization](https://en.wikipedia.org/wiki/X86_virtualization), available on any modern x86 CPUs). In principle IncludeOS should run on any x86 hardware platform, even on a physical x86 computer, given appropriate drivers. Officially, we develop for- and test on [Linux KVM](http://www.linux-kvm.org/page/Main_Page), which power the [OpenStack IaaS cloud](https://www.openstack.org/), and [VirtualBox](https://www.virtualbox.org), which means that you can run your IncludeOS service on both Linux, Microsoft Windows and macOS.
33
+
***KVM, VirtualBox and VMWare support** with full virtualization, using [x86 hardware virtualization](https://en.wikipedia.org/wiki/X86_virtualization), available on any modern x86 CPUs). In principle IncludeOS should run on any x86 hardware platform, even on a physical x86 computer, given appropriate drivers. Officially, we develop for- and test on [Linux KVM](http://www.linux-kvm.org/page/Main_Page), which power the [OpenStack IaaS cloud](https://www.openstack.org/), and [VirtualBox](https://www.virtualbox.org), which means that you can run your IncludeOS service on both Linux, Microsoft Windows and macOS.
34
34
***C++11/14 support**
35
35
* Full C++11/14 language support with [clang](http://clang.llvm.org) v3.8 and later.
36
36
* Standard C++ library (STL) [libc++](http://libcxx.llvm.org) from [LLVM](http://llvm.org/).
0 commit comments