diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2015-01-03 04:20:00 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2015-01-04 15:51:56 +0000 |
commit | 73ad13196a8b0c3a8b1c82504009b35ad153e4a5 (patch) | |
tree | 3a6acf82e86160698281f1ded6218dc7e253275f /libtmdb/.ycm_extra_conf.py | |
parent | Add missing includes highlighted when precompiled headers are disabled (diff) | |
download | p2pvr-73ad13196a8b0c3a8b1c82504009b35ad153e4a5.tar.bz2 p2pvr-73ad13196a8b0c3a8b1c82504009b35ad153e4a5.tar.xz p2pvr-73ad13196a8b0c3a8b1c82504009b35ad153e4a5.zip |
A single ycm config that gets its args from b2
Diffstat (limited to 'libtmdb/.ycm_extra_conf.py')
-rw-r--r-- | libtmdb/.ycm_extra_conf.py | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/libtmdb/.ycm_extra_conf.py b/libtmdb/.ycm_extra_conf.py deleted file mode 100644 index 2f379fc..0000000 --- a/libtmdb/.ycm_extra_conf.py +++ /dev/null @@ -1,114 +0,0 @@ -import os -import ycm_core - -flags = [ -'-Wall', -'-Wextra', -'-Werror', -'-Wc++98-compat', -'-Wno-long-long', -'-Wno-variadic-macros', -'-fexceptions', -'-DNDEBUG', -'-std=c++11', -'-x', -'c++', -'-I', -'.', -'-isystem', -'/usr/include/Ice', -'-isystem', -'/usr/include/slicer', -'-isystem', -'bin/gcc-4.8.3/debug/slicer-yes', -'-isystem', -'/usr/include', -'-isystem', -'/usr/include/glibmm-2.4', -] - -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', '.m', '.mm' ] - -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, - 'do_cache': True - } - |