-
Notifications
You must be signed in to change notification settings - Fork 3
/
.ycm_extra_conf.py
45 lines (34 loc) · 1.14 KB
/
.ycm_extra_conf.py
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
"""This module provides compilation flags used by ycm to enable
semantic code completion."""
import os
import sys
DIR_OF_THIS_SCRIPT = os.path.abspath(os.path.dirname( __file__ ))
INCLUDE = 'src src/util include libs/gl3w libs/imgui libs/nlohmann'
FLAGS = ['`pkg-config --cflags glfw3`', '-Wall', '-Wextra']
LIBS = [
'-lGL',
'`pkg-config --static --libs glfw3`',
'-lboost_system',
'-lboost_filesystem',
'-lboost_regex',
'-lboost_program_options',
'-lfreeimage']
# for debugging
log = None
def FlagsForFile(filename, **kwargs):
includes = []
for item in INCLUDE.split(' '):
includes.append('-I' + os.path.join(DIR_OF_THIS_SCRIPT, item))
if log is not None:
orig_stdout = sys.stdout
with open(log, 'w') as f:
sys.stdout = f
print(kwargs)
print(kwargs['client_data'])
for item in kwargs['client_data']:
print(item, kwargs['client_data'][item])
print(filename)
print(includes)
sys.stdout = orig_stdout
ctype = []
return { 'flags': FLAGS + ctype + includes + LIBS }