118 Commits

Author SHA1 Message Date
Federico Bassini
99860ffc53 gbuild-to-ide fix the double .cxx in the .filters
double ".ccx" for each source files in the .filters in the
testVS2013Ide.
this patch fix that.

Change-Id: Ic06800c260800f72254038e30119db40fe048037
Reviewed-on: https://gerrit.libreoffice.org/33892
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2017-02-04 08:50:49 +00:00
Federico Bassini
9fe97c0d6c gbuild-to-ide: new function that generates a vxcproj on testIDE
this function generates a vcxproj, for the reverse engineering
i generate a vcxproj from VS2013 that:
-the compiler works good

i do the code that generates it
the code miss that the link to lib that i left commented

Change-Id: If98eb5645c9e1060a55701abf5b96db85eca6ce5
Reviewed-on: https://gerrit.libreoffice.org/33893
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2017-02-04 08:50:00 +00:00
jan Iversen
8944a4dc98 gbuild-to-ide added -DLIBO_INTERNAL_ONLY to CXXFLAGS
In order to compile correct this flag is needed and
it is not exported in the json files

Change-Id: Ib8f0b882f2d59ed467a9198c148263e2882c60b3
2017-02-02 20:29:05 +01:00
Federico Bassini
25a502050f gbuild-to-ide: second patch for vs2013 and testIde
the path in gbuildparse changed, so this patch re-adapt this
2 IDE integration

Change-Id: I5f7a679b8b12eac6f44030a33713ff19327b9d1a
Reviewed-on: https://gerrit.libreoffice.org/33815
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2017-02-02 07:04:05 +00:00
jan Iversen
9493bb3a26 gbuild-to-ide typo
Change-Id: I3b57086349d039087dc9395f7af63f8e8fbf1bab
2017-02-01 18:39:34 +01:00
jan Iversen
45de3417e3 gbuild-to-ide patch to allow faulty gbuildtojson
Sometimes gbuildtojson does not get rebuild, and thus
delivers unexpected json files (old keys)

Change-Id: Ib4bab170ed5a2ab5c112d19af144f2551e608278
2017-02-01 18:21:37 +01:00
Federico Bassini
6f08c43035 gbuild-to-ide: VSGenerator and testVs2013 with relative links
VisualStudio2013IntegrationGenerator  recently doesn't work
with the new relative paths in GbuilParser.
this patch does this, now it works fine with all relative paths.
what is missing it's in the .vcxproj:
<NMakeBuildCommandLine>
<NMakeCleanCommandLine>
<NMakeReBuildCommandLine>

these still work with absolute path but i start now on working this

Change-Id: I19610097edc11be67b4f7fd9f32b6683d334cc2d
Reviewed-on: https://gerrit.libreoffice.org/33735
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2017-02-01 07:23:08 +00:00
Federico Bassini
9f440258b6 gbuild-to-ide: testVS2013Ide add a function that create .filters file
this patch writes the .filters file, it creates 2 filters:
-headers: place, for each module, the header files contained in gbuilparser.modules[<module>][headers]
-sources: place, for each module, the cxx files contained in gbuildparser.modules[<module>][<target>]['CXXOBJECTS']

Change-Id: Iba98d788b72992624fb8aa09315a5647e275ffcc
Reviewed-on: https://gerrit.libreoffice.org/33721
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2017-01-31 10:36:28 +00:00
Miklos Vajna
bf7168bd09 gbuild-to-ide: fix VimIntegrationGenerator
Regression from commit 92c2c5f62d6e8962259e03424a40b6ac7ef32e7d
(gbuild-to-ide: moduleDict targets -> all paths replaced with relative,
2017-01-24), <https://clang.llvm.org/docs/JSONCompilationDatabase.html>
says about the "directory" key of one entry:

"All paths specified in the command or file fields must be either
absolute or relative to this directory."

So making the includes relative to the toplevel directory won't fly,
make them absolute.

Change-Id: I3f33c7a21880c1b245580b22996079ba08e3d806
Reviewed-on: https://gerrit.libreoffice.org/33694
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
2017-01-30 13:41:32 +00:00
jan Iversen
f41301c163 gbuild-to-ide, solved vim problem.
Updated xcode, WIP.

Solved problem with vim.
Remark the vim-ide-integration is not maintained, and cannot be expected
to work as the IDE gets more integrated.

Change-Id: I9d6fe6d2caef7162298814f1ab0d16c7aeb7d895
2017-01-30 12:10:29 +01:00
jan Iversen
05ce36d2e2 gbuild-to-ide xcode, added targets in menu
First step in removing make as builder.

Change-Id: I445627df5610a7d0b8bfbabddb66f1273e021b1a
2017-01-29 17:10:36 +01:00
jan Iversen
78c48c998b gbuild-to-ide xcode added include files and sorted source list
Added source files so they are sorted (earlier was sorted pr target)
include files added.

Change-Id: Id9581e2c4d6b123eb13ecc7ce2586fe52cb3ab4f
2017-01-29 11:29:09 +01:00
jan Iversen
bcaba2ca36 gbuild-to-ide source code is relative to module
Last central change, before rewrapping xcode.

Change-Id: If9b3d668fa59fe32a7a89a17ea56a6852b260a2b
2017-01-28 13:33:00 +01:00
jan Iversen
53d3755972 gbuild-to-ide, add pr module sources
Additional to having sources pr target (needed
for generarition), each module also has a sources key
where all the module source files are sorted, this allows
to present the user with a sorted list of sources.

Change-Id: I8fd8249c88dc55f47199b7998faeb721d74f982f
2017-01-28 10:03:22 +01:00
jan Iversen
03bbd573ca gbuild-to-ide, centralized adding extension.
Instead of each generator handling extensions it is
not done centrally.

Change-Id: I2cf1a499269a26c1c402577b3e8e508d578f9c6e
2017-01-28 09:34:57 +01:00
jan Iversen
dcd86466c6 gbuildtojson support for yacc files.
added support for add_grammars macro

Change-Id: I17955bd1534d9f43e1953691d985a18ee8241d38
2017-01-26 14:35:43 +01:00
jan Iversen
1fb65a66f1 gbuildtojson, added support for lex files
added add_scanner macro

Finalized the move around in gbuild-to-ide, to signal
which generators are actively supported.

Change-Id: I11699cd4380d49efc3b541abb7780b5136162433
2017-01-26 14:25:49 +01:00
jan Iversen
fc68a26770 gbuild-to-ide finalized split of maintained code
Added "testIde-ide-integration" to allow test of new vs2013 generator.

Change-Id: Ia7d286f06e287ce97faa0a262ee4f93172d4ed28
2017-01-26 10:39:44 +01:00
Federico Bassini
92c2c5f62d gbuild-to-ide: moduleDict targets -> all paths replaced with relative
in moduleDict[<module>][<target>] all absolute paths are replaced
with a relative path:
-include/libs relative to core(contained in json) directory
-json objects, makefile, relative to <module> directory

Change-Id: I5dd64942c2a4d6fc2f01037ee7417de91c41906a
Reviewed-on: https://gerrit.libreoffice.org/33506
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2017-01-25 07:15:23 +00:00
Federico Bassini
c3580d08a6 gbuild-to-ide: replacement of the code
this patch do 2 things:
1a) create class testide, a duplicate of
VisualStudioIntegrationGeneration to work on it without touch the
real one
1b) place xcodeintegrationgenerator under testide, and under this
last one all of generators that work yet

Change-Id: Ib678134678ed19de9dcd9d1f47e8e7c16ae59f74
Reviewed-on: https://gerrit.libreoffice.org/33495
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2017-01-24 19:39:03 +00:00
Miklos Vajna
a983ad7cf9 gbuild-to-ide: restore exec bit
Lost in commit 115797f070888cbad93656dda8fa01ec6c98a3f5 (beginning of
support for CodeLite in gbuild-to-ide, 2017-01-19), probably
accidentally.

Change-Id: I641ba0b5e2960ff9b98403bd6379608f3e452c9c
2017-01-23 20:23:05 +01:00
Noel Grandin
38f9082771 didn't mean to commit that part
Change-Id: Ica8384b374e0d680704cba17a9d4c9f30ae08bf5
2017-01-23 09:12:38 +02:00
Noel Grandin
115797f070 beginning of support for CodeLite in gbuild-to-ide
Change-Id: I5640ad193f2766400554012383d6c910f2160378
Reviewed-on: https://gerrit.libreoffice.org/33396
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-23 06:02:28 +00:00
jan Iversen
ad98ba87cb gbuild-to-ide, final cleanup in parser.
Now the json file can be expanded with new keys, without
the need to touch parser.

Change-Id: I8182e8030e206e302258bd156d7392ff5c98f3d4
2017-01-22 08:56:18 +01:00
jan Iversen
9da87ef8d9 gbuild-to-ide clean replaced GbuildLinkTarget with dict
The class GbuildLinkTarget was removed and replaced by a dict.
This is first step in avoiding typing the json key names multiple times

Change-Id: I3a2006979929c5d21549693e51eb47df7233400d
2017-01-21 20:16:40 +01:00
Federico Bassini
1585415e78 gbuild-to-ide.py - change directory for .sln,.vcxproj,.filters
this change the directory of all files .sln, . vcxproj,.filters to windows folder

i change only a variable VisualStudioIntegrationGenerator.solution_path from './' to './windows'.
i investigate in the .vcxproj, .filters, .sln if there are references to change but i don't find anything (all the files written in this files are an absolute path) and i test 'make vs2013-ide-integration'...
the files are exactly generated, i test in a windows machine and visual studio work perfectly...

Change-Id: I111c39173b95a6888c8d39058b1db4da7a9be206
Reviewed-on: https://gerrit.libreoffice.org/33301
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2017-01-20 09:54:39 +00:00
Federico Bassini
239e877d51 gbuil-to-ide.py functions improvment
this patch improve the functions:
-find_all_headers -> make _allheaders a dict: _allheaders['<modulename>'] contains the list of all headers for that module
-headers_of(modulename) -> it return the list of headers for that module, or a empty list for module that not have headers

Change-Id: I7e4e2bf063ccf6fd2e3e5155b58d2be2412480ba
Reviewed-on: https://gerrit.libreoffice.org/33255
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2017-01-18 16:36:55 +00:00
jan Iversen
6cd57bc27e gbuild-to-ide prepare for missing file types.
Expanded the parser to understand the new json keys.

Change-Id: I8ff91a9113a7b539a1d85e8ea936555825260ba0
2017-01-17 19:50:03 +01:00
Federico Bassini
e81be49e24 gbuild-to-ide - all headers add to moduleDict for each module
i added a key 'headers' in the moduleDict that contains a list of all the headers files (.hxx, .h, .hpp) fot that module...

moduleDict['<module>']['headers']= list of all the <module>'s headers files

i run "make debug-ide-integration" found 3 error:
i added also a if statement to skip 'include' module for eclipse and kdevelop...(2 error)
the 3° error leave untouched; it is at the line 495 'os.mkdir', the error say(for UnoControls module) Unocontrols/.kdev exist yet!

Update:
i have change the code as jan suggests!
i do 2 function:
-find_all_headers(): that call only one a subprocess and it founds all the  headers file contents in core folder and save it in a list
-headers_of(modulename): it return a list of the headers only for the modulename parameter, it called in the assignment moduleDict[module]['headers']=...

this only create a process once! it's more faster :)

Change-Id: If05ce4104bcdd178c0c6a6f589fa0720d493dad6
Reviewed-on: https://gerrit.libreoffice.org/33208
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2017-01-17 18:10:22 +00:00
jan Iversen
1fb2947aea post_GbuildToJson.mk, extended with extra file types
Extended the call to gbuildtojson, with extra file types.
Some filetypes still need data collection, this
is noted in the file as todo.

Change-Id: I3e832f82656236d42d1d7b59bf3ac2925c5b1568
2017-01-16 19:01:18 +01:00
jan Iversen
b7e6f68858 gbuild-to-ide, temporary fix
added test if key is in json file,
this is needed at least temporary.

Change-Id: I6fca2dff7fd198ac6b324869146c14de5f38b414
2017-01-16 18:29:52 +01:00
jan Iversen
dd7539262d gbuildtojson prepare for new filetypes.
gbuild-to-ide now contains a dict with json name -> file extension
post_GbuildToJson.ml contains a todo list (missing files, new arguments)
gbuildtojson.cxx made resistent (no extra argument list to maintain)

Change-Id: I7f346f606ed5fba0a1eaffdd38454b484cecfcf5
2017-01-16 18:25:29 +01:00
jan Iversen
d602f40488 gbuild-to-ide, typo
create_include_pathks --> create_include_paths

Change-Id: I23a88e4c3685306beecc34df72fe6691fde042ca
2017-01-16 15:21:18 +01:00
jan Iversen
c5555c1698 gbuild-to-ide xcode-ide-integration
change target to use "make" for now.
this patch enables debug/build in xcode.

Change-Id: I1bac15beb77af35d7348eab9e645a1bf3522c2c8
2017-01-16 14:01:57 +01:00
Federico Bassini
de409aeed2 gbuildparser in gbuild-to-ide - added headers of the include module
this is the version of gbuild-to-ide that implement a capture 1 of the project "keeping contributors"
it adds all the headers files (.hxx,.h,.hpp) content in the folder include in moduleDict['include']['headers']
there is an error in the VisualStudioIntegrationGeneration.emit() because there is a for that work only with the modules[<module_name>]['targets']
whatever i'll do a comment in the code(i added a if statement!)with the error description that generate this error to not forget!

Change-Id: I7cd6a15482d99406573dbd9bd095987772377cff
Reviewed-on: https://gerrit.libreoffice.org/33162
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2017-01-16 11:46:53 +00:00
jan Iversen
f963c33ddc gbuild-to-ide, prepare for more file types.
The structure how to capture new file types is in place,
now search need to start in post_Gbuildtojson for missing/wrong macros.

Change-Id: I9f97a6181c24d2cffbb004ee660c9cfbf5d0a099
2017-01-14 15:59:17 +01:00
jan Iversen
2a4b291d3b gbuild-to-ide GbuildParser cleaned
Removed target_by_path.
All targets listing is now via
.modules[*]['targets']

Eclipse & Kdevelop classes updated.

Change-Id: I71ec088cf2e77777eeb51ec68517c22bff9ddf44
2017-01-14 12:55:33 +01:00
jan Iversen
9cb3b064e5 gbuild-to-ide cleanup GbuildParser
Removed .files replaced by
.modules[*]['targets']

Affected generators updated.

Change-Id: I4bf4cb5a23ba0b48b11adb1795c0a4f9dfbb0d3a
2017-01-14 10:02:28 +01:00
jan Iversen
b6e6d2d31d gbuild-to-ide added control of platforms.
The debug generator is extended to build IDE for all platforms,
these IDE will of course not be useable, but it gives a security
that the script does not break.

Removed target_by_location from GbuildParser, to simplify that
class.

Change-Id: Ie41ca3d156321041958213333b2d73c57ba918f9
2017-01-14 09:30:37 +01:00
jan Iversen
057c526b88 gbuild-to-ide simplifications.
Simplified GbuildLinkTarget, removed functions.

Prepare to clean GbuildParser

Change-Id: I67bb3ba0279f615cb6c361818ade6fe629dca60c
2017-01-13 13:20:02 +01:00
Edmund Wong
a6931e8d00 No need for a separate variable. Just get the value directly from the dictionary.
Change-Id: Ic8a707ac78cf5ad3e225131ae23f1f1277f3ae7c
Reviewed-on: https://gerrit.libreoffice.org/31991
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2017-01-12 07:15:50 +00:00
jan Iversen
e4b6c3b2f9 gbuild-to-ide, solved vs2013 generation problem.
mikekaganski reported a problem with the vs2013 class, due to the
latest changes. Problem solved:

.name() -> .name

Change-Id: Idb3e063bee93041dd010ed0c0b5bb71ac7efcd57
2017-01-10 18:06:20 +01:00
jan Iversen
bc5bd4a029 gbuild xcode-ide-integration code cleaning
Cleaned some function to ease readability

Prepare to add header files to solution.

Change-Id: I7d9c5ea18cf74147d0639b6a8dcbf11bd9ad7bc8
2017-01-05 12:13:31 +01:00
jan Iversen
1b4746f58c gbuild-to-ide Problem with multiple targets.
2 statement changed indention and caused problems

Change-Id: I67c1d51fcb9efa447085f8839c450c9741905f08
2017-01-05 09:41:20 +01:00
jan Iversen
c919e31944 gbuild-to-ide general update
Changed target_by_location to an OrderedDict,
this makes the modules sorted in the single solutions.

Change-Id: I55096638c08610f761844ab66fcaadf6c00ff2c8
2017-01-05 09:41:20 +01:00
jan Iversen
dd885c6a2c gbuild-to-ide xcode update
The xcode generator, now generates 1 solution.
libreoffice.vcxproj
The project contains all targets and all source
files (as delivered by gbuildtojson).

Lots of work still outstanding.

Change-Id: Ibe233dba395aa2f342d865e56053f292f708efa3
2017-01-05 09:41:19 +01:00
jan Iversen
87d0251a9e gbuild-to-ide xcode update
Update to isolate module, and have groups for:
   Sources
   Headers
   Targets
   Other files

Change-Id: Id2c48b0e3dae7c943c122e767d391d324e936619
2017-01-04 13:25:35 +01:00
jan Iversen
a4e9943d81 gbuild-to-ide xcode generator moved proj files
All .xcodeproj files are now located in <core>/osx
to prepare for combining into 1 .xcodeproj for all of LO

Change-Id: I649389ba2b94355ebaf6b5413bdb5dfae8c04764
2017-01-02 19:34:29 +01:00
jan Iversen
f61f34c900 gbuild-to-ide update to xcode generator
The generator now generates the same groups as xcode, with
relative paths.

This patch has been tested with l10ntools/pocheck.

Next step is "sal" and actually compile

Change-Id: I02c202434a346918e9ec725bd20e4713fc6fa73e
2017-01-02 17:18:22 +01:00
jan Iversen
f42751f534 gbuild-to-ide, fixed typo and changed xcode generator
target_name used - instead of _ which caused solutions to have a new name

xcode generator changed to use fixed id for the major groups, in
order to facilitate debugging of the solutions.

Change-Id: I444c74f37dc471625fa3f28240678f9968d1e710
2017-01-02 09:37:14 +01:00