Hi

And to add to Markus's response, it'd be great to have patches that improve 
things. So feel free to submit your fixes.

i think i have a small patch for vs 2013 ide integration - maybe someone can 
verify?

if one starts vs 2013 the first time after running "/opt/lo/bin/make 
vs2013-ide-integration"
vs complains about duplicate projects. altogether there are 2246 projects (lo 
5.0.1).

i had a look into "LibreOffice.sln" and found, that a lot of projects have 6 entries (e.g. "Library swui"). only the one with the "ProjectSection" node seems to be the valid one, but vs always includes only the first.

i checked output from
(LC_MESSAGES=C C:/cygwin/opt/lo/bin/make cmd="C:/cygwin/opt/lo/bin/make -npf Makefile.gbuild all" cmd || true)
and found 276 entries for "Library_swui", distributed over 6 different entries 
inside the 150 mb file.

# makefile (from 'D:/sources/core/sw/Library_swui.mk', line 20)
# makefile (from 'D:/sources/core/sw/Library_swui.mk', line 30)
# makefile (from 'D:/sources/core/sw/Library_swui.mk', line 41)
# makefile (from 'D:/sources/core/sw/Library_swui.mk', line 49)
# makefile (from 'D:/sources/core/sw/Library_swui.mk', line 77)
# makefile (from 'D:/sources/core/sw/Library_swui.mk', line 160)

now i checked "/bin/gbuild-to-ide":

"GbuildParser._parse_hash(self, line, state)" appends 2246 libname/exename, even if it's value is "None".
adding "if libname != None:" /  "if exename != None:" generates only 340 
project entries:

[...]
def _parse_hash(self, line, state):
        libmatch = GbuildParser.libpattern.match(line)
        if libmatch:
            libname = self.libnames.get(state.ilib, None)
            if libname != None:
                print('libname: %s' % libname, end='\n')
                self.libs.append(
                    GbuildLib(libmatch.group(2), libname, libmatch.group(1),
                              state.include, state.include_sys, state.defs, 
state.cxxobjects,
                              state.cxxflags, state.linked_libs))
                state = GbuildParserState()
                return state
        exematch = GbuildParser.exepattern.match(line)
        if exematch:
            exename = self.exenames.get(state.target, None)
            if exename != None:
                print('exename: %s' % exename, end='\n')
                self.exes.append(
                    GbuildExe(exematch.group(2), exename, exematch.group(1),
                              state.include, state.include_sys, state.defs, 
state.cxxobjects,
                              state.cxxflags, state.linked_libs))
                state = GbuildParserState()
                return state
[..]

vs now complains only about 3 duplicate exe projects (soffice_bin, unopkg_com, 
unopkg_bin).

but projects "sw", "swui", "sc" and others have now class view and code assist 
:-)


Regards
Oliver


_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to