Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
Actor Framework
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cpp-libs
Actor Framework
Commits
bf12adc5
Commit
bf12adc5
authored
Sep 16, 2016
by
Dominik Charousset
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update toolchain files
parent
8e13f34b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
136 additions
and
4 deletions
+136
-4
.clang-format
.clang-format
+9
-4
.gitignore
.gitignore
+1
-0
.ycm_extra_conf.py
.ycm_extra_conf.py
+126
-0
No files found.
.clang-format
View file @
bf12adc5
...
@@ -9,7 +9,7 @@ AllowShortFunctionsOnASingleLine: false
...
@@ -9,7 +9,7 @@ AllowShortFunctionsOnASingleLine: false
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: true
AlwaysBreakTemplateDeclarations: true
BinPackParameters: true
BinPackParameters: true
BreakBeforeBinaryOperators:
true
BreakBeforeBinaryOperators:
NonAssignment
BreakBeforeBraces: Attach
BreakBeforeBraces: Attach
BreakBeforeTernaryOperators: false
BreakBeforeTernaryOperators: false
ColumnLimit: 80
ColumnLimit: 80
...
@@ -18,13 +18,18 @@ ConstructorInitializerIndentWidth: 4
...
@@ -18,13 +18,18 @@ ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 2
ContinuationIndentWidth: 2
Cpp11BracedListStyle: true
Cpp11BracedListStyle: true
IndentCaseLabels: true
IndentCaseLabels: true
IndentFunctionDeclarationAfterType: false
IndentWidth: 2
IndentWidth: 2
MaxEmptyLinesToKeep: 1
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
NamespaceIndentation: None
PointerBindsToType: true
# Force pointers to the type
DerivePointerAlignment: false
PointerAlignment: Left
# Put space after = and after control statements
SpaceBeforeAssignmentOperators: true
SpaceBeforeAssignmentOperators: true
SpaceAfterControlStatementKeyword: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInAngles: false
...
...
.gitignore
View file @
bf12adc5
...
@@ -12,3 +12,4 @@ manual
...
@@ -12,3 +12,4 @@ manual
*.swp
*.swp
bii/*
bii/*
libcaf_core/caf/detail/build_config.hpp
libcaf_core/caf/detail/build_config.hpp
.ycm_extra_conf.pyc
.ycm_extra_conf.py
0 → 100644
View file @
bf12adc5
import
os
import
ycm_core
# compilation flags
flags
=
[
'-Wall'
,
'-Wextra'
,
'-Werror'
,
'-Wno-long-long'
,
'-Wno-variadic-macros'
,
'-fexceptions'
,
'-DNDEBUG'
,
'-DUSE_CLANG_COMPLETER'
,
'-std=c++11'
,
'-x'
,
'c++'
,
'-isystem'
,
'-isystem'
,
# This path will only work on OS X, but extra paths that don't exist are not
# harmful
'/System/Library/Frameworks/Python.framework/Headers'
,
'-isystem'
,
'-isystem'
,
'../llvm/tools/clang/include'
,
'-I'
,
#'.',
'-I'
,
'./ClangCompleter'
,
'-isystem'
,
'-I./libcaf_core/'
,
'-I./libcaf_io/'
,
]
# Set this to the absolute path to the folder (NOT the file!) containing the
# compile_commands.json file to use that instead of 'flags'. See here for
# more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html
#
# You can get CMake to generate this file for you by adding:
# set( CMAKE_EXPORT_COMPILE_COMMANDS 1 )
# to your CMakeLists.txt file.
#
# Most projects will NOT need to set this to anything; you can just change the
# 'flags' list of compilation flags. Notice that YCM itself uses that approach.
compilation_database_folder
=
''
if
os
.
path
.
exists
(
compilation_database_folder
):
database
=
ycm_core
.
CompilationDatabase
(
compilation_database_folder
)
else
:
database
=
None
SOURCE_EXTENSIONS
=
[
'.cpp'
,
'.cxx'
,
'.cc'
,
'.c'
]
def
DirectoryOfThisScript
():
return
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
)
)
def
MakeRelativePathsInFlagsAbsolute
(
flags
,
working_directory
):
if
not
working_directory
:
return
list
(
flags
)
new_flags
=
[]
make_next_absolute
=
False
path_flags
=
[
'-isystem'
,
'-I'
,
'-iquote'
,
'--sysroot='
]
for
flag
in
flags
:
new_flag
=
flag
if
make_next_absolute
:
make_next_absolute
=
False
if
not
flag
.
startswith
(
'/'
):
new_flag
=
os
.
path
.
join
(
working_directory
,
flag
)
for
path_flag
in
path_flags
:
if
flag
==
path_flag
:
make_next_absolute
=
True
break
if
flag
.
startswith
(
path_flag
):
path
=
flag
[
len
(
path_flag
):
]
new_flag
=
path_flag
+
os
.
path
.
join
(
working_directory
,
path
)
break
if
new_flag
:
new_flags
.
append
(
new_flag
)
return
new_flags
def
IsHeaderFile
(
filename
):
extension
=
os
.
path
.
splitext
(
filename
)[
1
]
return
extension
in
[
'.h'
,
'.hxx'
,
'.hpp'
,
'.hh'
]
def
GetCompilationInfoForFile
(
filename
):
# The compilation_commands.json file generated by CMake does not have entries
# for header files. So we do our best by asking the db for flags for a
# corresponding source file, if any. If one exists, the flags for that file
# should be good enough.
if
IsHeaderFile
(
filename
):
basename
=
os
.
path
.
splitext
(
filename
)[
0
]
for
extension
in
SOURCE_EXTENSIONS
:
replacement_file
=
basename
+
extension
if
os
.
path
.
exists
(
replacement_file
):
compilation_info
=
database
.
GetCompilationInfoForFile
(
replacement_file
)
if
compilation_info
.
compiler_flags_
:
return
compilation_info
return
None
return
database
.
GetCompilationInfoForFile
(
filename
)
def
FlagsForFile
(
filename
,
**
kwargs
):
if
database
:
# Bear in mind that compilation_info.compiler_flags_ does NOT return a
# python list, but a "list-like" StringVec object
compilation_info
=
GetCompilationInfoForFile
(
filename
)
if
not
compilation_info
:
return
None
final_flags
=
MakeRelativePathsInFlagsAbsolute
(
compilation_info
.
compiler_flags_
,
compilation_info
.
compiler_working_dir_
)
else
:
relative_to
=
DirectoryOfThisScript
()
final_flags
=
MakeRelativePathsInFlagsAbsolute
(
flags
,
relative_to
)
return
{
'flags'
:
final_flags
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment