blob: bf25047f4524c01f8c843a9773ec20a6012dc361 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<!-- Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -->
# Create C++ dev environment on CentOS using VirtualBox and Vagrant
## Prerequisites
* [Install VirtualBox](https://www.virtualbox.org/wiki/Downloads)
* [Install Vagrant](https://www.vagrantup.com/downloads.html)
## Create dev environment
#### 1. Change working directory to <vespa-source>/vagrant
cd <vespa-source>/vagrant
#### 2. Install Vagrant VirtualBox Guest Additions plugin
This is required for mounting shared folders and get mouse pointer integration and seamless windows in the virtual CentOS desktop.
vagrant plugin install vagrant-vbguest
#### 3. Start and provision the environment
vagrant up
#### 4. Connect to machine via SSH
SSH agent forwarding is enabled to ensure easy interaction with GitHub inside the machine.
vagrant ssh
#### 5. Checkout vespa source inside virtual machine
This is needed in order to compile and run tests fast on the local file system inside the virtual machine.
git clone git@github.com:vespa-engine/vespa.git
## Build C++ modules
Please follow the build instructions described [here](../README.md#build-c-modules).
Skip these steps if doing development with CLion.
## Build and Develop using CLion
CLion is installed as part of the environment and is recommended for C++ development.
#### 1. Bootstrap C++ building
Go to <vespa-source> directory and execute:
./bootstrap-cpp.sh . .
#### 2. Start CLion
Open a terminal inside the virtual CentOS desktop and run:
clion
#### 3. Open the Vespa Project
Go to *File* -> *Open* and choose <vespa-source>>/CMakeLists.txt.
#### 4. Set compiler threads
Go to *File* -> *Settings* -> *Build, Execution, Deployment* -> *CMake*.
Under *Build Options* specify "-j 4" and click *Apply*.
#### 5. Build all modules
Choose target **all_modules** from the set of build targets and click build.
|