118 Commits

Author SHA1 Message Date
jan Iversen
ae4f8ac9a1 gbuild-to-ide performance optimize parser
Change-Id: I93c81e027269830af7d6b2c9df2f1b0f0194880e
2017-01-01 18:26:37 +01:00
jan Iversen
2823fd4698 gbuild-to-ide parser simplification.
Added build_type to objects instead of having 3 sets.

Modified the generators to use build_type

Change-Id: Ic884522eb6d2c41e7b838f62a0d0800dc4e02c8a
2017-01-01 11:46:17 +01:00
jan Iversen
d3c44886c5 Update json parser in gbuild-to-ide
Simplified parser and added the missing json elements:
ASMOBJECTS
CFLAGS
CFLAGSAPPEND
CXXFLAGS
CXXFLAGSAPPEND
CXXOBJECTS
DEFS
GENCOBJECTS
GENCXXOBJECTS
ILIBTARGET
INCLUDE
LINKED_LIBS
LINKED_STATIC_LIBS
LINKTARGET
MAKEFILE
OBJCFLAGS
OBJCFLAGSAPPEND
OBJCOBJECTS
OBJCXXFLAGS
OBJCXXFLAGSAPPEND
OBJCXXOBJECTS
YACCOBJECTS

This patch should not affect the different generators

Change-Id: I74795880d7d34868d61ef73859bda0aedc8b2e28
2017-01-01 10:32:51 +01:00
Matúš Kukan
d8a9d48389 Workaround strange sw test makefiles
Include ooxmlexport_setup.mk only once in Module_sw.mk,
so that gbuildtojson can properly set last included
makefile for test jsons.

Change-Id: Ie8ed3296ae97cf4a33d652599673f389b224993e
Reviewed-on: https://gerrit.libreoffice.org/32502
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Matúš Kukan <matus@libreoffice.org>
2016-12-30 07:16:03 +00:00
jan Iversen
13d9f5cfc3 update to make cppunit load in xcode
cppunit was unknown product type, assigned it

Change-Id: I39a08f52cd07c06fc77fc4ac6dc4ecfb167a86ae
2016-12-25 21:37:40 +01:00
jan Iversen
535a677c1d update to prepare for multiple modules.
module filter name changes from source
to module name.

Change-Id: I979b3ca7f86bad70d0812207b3eccbed20499a08
2016-12-25 19:16:34 +01:00
jan Iversen
850e89adad update to make xcode load on sierra.
This update enables xcode 10.12 to open most projects

This is a pure expansion/correction of the current xcode-ide-integration.

When opening there are currently warnings.

Change-Id: Ibd0cebe1713dd74b2747aff039f094367a340a5f
2016-12-25 18:26:07 +01:00
jan Iversen
37907576d8 First attempt to make xcode project work again.
There are still a problem with references, but committing this part, since
it is controlled, and before conflicting with other changes.

Change-Id: I6a7551bfbb44edc5876e5432ca04bfd595cb3fab
2016-12-23 13:46:01 +01:00
Edmund Wong
15aa0fbb70 Move get options to a separate function.
Change-Id: I014f49b8239b0165ab696398b5ef0a2af5e0ae8c
Reviewed-on: https://gerrit.libreoffice.org/31990
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2016-12-15 08:54:37 +00:00
Matúš Kukan
ee3f793a2d tdf#70414: Fix VisualStudio ide integration
'LINKTARGET' is not really helpful as target name.
Use name based on makefile's name and hope something like
b81ac16e65b311d6e43c05c22c65d2040c9d7e04 is not needed anymore.
And if there are still some inconsistencies, we should fix makefile's name.

Also, don't use target.name because it's not unique.
There can be e.g. both Library_smoketest and CppunitTest_smoketest.

Change-Id: I541a1e41f80446e875e1bb2bfa89786e356e0e74
Reviewed-on: https://gerrit.libreoffice.org/32027
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2016-12-15 07:54:15 +00:00
Markus Mohrhard
d575e3a14b fix copy&paste error in ide-integration script
Change-Id: I4e52851b41e3d5ec4fe4ae5277928bceac3c8283
2016-12-09 22:58:39 +01:00
Markus Mohrhard
a2cfcfead5 add cppunit tests to vim-ide-integration
Change-Id: I5a03ff6d6e740d8032030d1590837610f39acd5e
Reviewed-on: https://gerrit.libreoffice.org/31273
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-11-28 11:44:22 +00:00
Markus Mohrhard
51ecdd4a2a integrate the cppunit tests into gbuild-to-ide
Change-Id: I0259b2a47175e6aac2eb801ac489fadeac562949
Reviewed-on: https://gerrit.libreoffice.org/31272
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-11-28 11:43:57 +00:00
Markus Mohrhard
f567ee1995 also strip the first -D
Change-Id: Ifc95720b47e1adaadbca879d5b8f22ada658fd3a
Reviewed-on: https://gerrit.libreoffice.org/31275
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-11-27 21:58:44 +00:00
Markus Mohrhard
86524159c6 better way to split def patterns
Change-Id: I8c7ab7e980d2ba01214c1dd15c81a309d0d2c80c
Reviewed-on: https://gerrit.libreoffice.org/31274
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-11-27 21:57:20 +00:00
Bjoern Michaelsen
78547c3374 switch gbuild-to-ide to use gbuildtojson
Change-Id: Ic3ac11683a44e946e844e18a7670fa7baf46110a
Reviewed-on: https://gerrit.libreoffice.org/31175
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Reviewed-by: Luke Benes <lukebenes@hotmail.com>
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2016-11-27 14:44:04 +00:00
Michael Stahl
999499ab25 gbuild-to-ide: MSVC 2012 no longer supported, replace with 2015
Of course not tested in any way but with any luck the project file
format hasn't changed and it will "just work".

Change-Id: I81c5043259feeabd69ef31ea7ef160901ac7ebdc
2016-09-14 17:04:27 +02:00
Armin Le Grand
ce6cbf86a5 screenshots: add new global make target
Up to now the screenshot creation was added/dependent of
target slowcheck. Since quite some modules have added screenshot
creations now, I added an own target 'screenshot' to allow to keep
current slowcheck and screenshot creation separated

Change-Id: I80a49a0db607edf8e0405672d570f624d29912e7
2016-08-18 02:39:15 +02:00
Otto Kekäläinen
428e23f4f7 Fix some spelling errors in comments and strings
Change-Id: Iecd6b5e13d6be14651f77d8e37f01117ba15a11e
Reviewed-on: https://gerrit.libreoffice.org/26883
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
2016-07-04 06:11:36 +00:00
Markus Mohrhard
f06c50870c Wall is a good idea for the vim ide integration
Change-Id: Ifb3c602335097ec1e837b60c236683382cfde3e1
2016-06-18 17:02:17 +02:00
Markus Mohrhard
aa458c31a5 don't export the same lib multiple times
Change-Id: I4201246b2a1692c6edffa962de49d032fd825b70
2016-04-14 12:26:05 +02:00
Miklos Vajna
363444aa6e vim-ide-integration: clang does not always like gnu++1y that much
And gives the error:

include/c++/4.8/cstdio:120:11: error: no member named 'gets' in the global namespace

when it's build against libstdc++.

Commit 9e6221f114ba4422caa79f38ee0a20fb8a8931cd (clang does not like gnu++11
that much, use c++11 instead, 2014-09-06) added support for invoking clang for
IDE purposes even in a tree configured for gcc. Extend this in case configure
sets -std=gnu++1y for gcc as well.

Change-Id: Ib767ef8f30bd6eb9ac825a1521184041f1269d93
Reviewed-on: https://gerrit.libreoffice.org/23983
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
2016-04-11 08:50:49 +00:00
Miklos Vajna
df15d17fa5 gbuild-to-ide: fix missing include in clang json database
This wasn't noticeable in modules that use '#include "..."' for files in
the same directory, but does make a difference e.g. in sw.

With this, the include list in the database matches what gbuild in fact
uses.

Change-Id: I564c70d069fae41ea67ae7e57a188e99fa2ef861
2016-03-29 09:09:50 +02:00
Gulsah Kose
fe37d93a11 tdf#84628 Added per module's macro definitions to eclipsesettingfile.xml
Change-Id: Ic9a7b5d95052917ba8c5fb0f696e4ccf91f0bda4
Signed-off-by: Gulsah Kose <gulsah.1004@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/20336
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
2015-12-30 22:07:55 +00:00
jan iversen
02b411818b gbuild-to-ide split state machine
Catching the needed information and the state machine is split.
gbuild-to-ide only finds 27 of 93 exe, due to the state machine
sequence:
     CXXOBJECTS for exe1
     CXXOBJECTS for exe2
     Recipe to execute for exe2
     Recipe to execute for exe1
only identifies exe2 and leaves exe1 without a project.

Solution is to have an array of state one for all pending exe.

This patch only contains the split

Change-Id: I2539f10a9850d956a85b6993b26561b1970575df
Reviewed-on: https://gerrit.libreoffice.org/20254
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2015-12-01 10:45:29 +00:00
Maxim Monastirsky
7b7b3ffb5b gbuild-to-ide: Add defines to Qt Creator projects
The defines we use to build are needed to correctly
parse the code, and find some types like OUString.

Change-Id: I3b3aaa51c4637beed113738503c8ab1a967c9149
2015-11-29 18:07:41 +02:00
Gulsah Kose
bc7a490af9 tdf#84628 Generated eclipse setting file for per module.
This patch generated a setting file for per module. When imported the
eclipsesettingfile.xml, underlined include lines are clearing up.
Setting file includes included file paths for per module and provides
correct build. .project file generator deleted because eclipse
is creating .project file and overriding it.

This adds a new property to the parser that stores each module.

Change-Id: Ia10bb37c7c3fdb444a5b79ddf502b962e8ee5736
Signed-off-by: Gulsah Kose <gulsah.1004@gmail.com>
2015-11-27 22:06:49 +01:00
Peter Foley
83ef294ddd Avoid creating duplicates in the Visual Studio IDE integration
When running make vs2013-ide-integration on windows, the manifest
targets cause duplicate library/executable entries to be output in
the Visual Studio solution files, causing errors.

Change-Id: I6b0ce38a3ba84f7f54741e4974264e2c4c7b201a
Reviewed-on: https://gerrit.libreoffice.org/18719
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
2015-09-20 06:44:21 +00:00
Peter Foley
2d48830dcb minor pep8 formatting improvments to gbuild-to-ide
Change-Id: Ifa060f4ab6ebe7b525a991cc54564e9584d032f7
Reviewed-on: https://gerrit.libreoffice.org/18720
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
2015-09-20 06:43:48 +00:00
Markus Mohrhard
ab1c21cd26 make it clear that the script completed correctly
Change-Id: Ia1ec09db50800b3ba981d7efee5a031c3a3ae6ec
2015-09-14 19:41:25 +02:00
Markus Mohrhard
0253f6e597 we need to use a set tocheck uniqueness of paths for gbuild-to-ide script
Change-Id: Ic74655c18296e0b69b3f66a7a9ccea8e4c405dbf
2015-09-14 19:30:35 +02:00
Markus Mohrhard
f50eb63631 Revert "exclude unnamed Library/Executable from ide integration"
This reverts commit 93cd7b78c29c11ccc87c19c845c6617acb834630.

We need to generate project files for unnamed projects as they seem to
correspond to libraries. If that causes problems for the msvc
integration (which seems strange) then we need to handle these problems
in the MSVC generator and not in the parser.

It also includes:

Revert "Clean trailing whitespace"

This reverts commit 7d92b27aff3b4d1c59aef9866003f4d001c0fc25.
2015-08-31 23:07:26 +02:00
Maxim Monastirsky
7d92b27aff Clean trailing whitespace
Change-Id: I3b4adb5ac75b9761ae058834e3e64779a07851c9
2015-08-23 09:29:08 +03:00
brinzing
93cd7b78c2 exclude unnamed Library/Executable from ide integration
unnamed (None) Library/Executable will prevent correct
vs 2013 ide integration

Change-Id: Ia00c02609a83b5f891995e54fd3f365cd63cb7a4
Reviewed-on: https://gerrit.libreoffice.org/17933
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-08-23 06:01:43 +00:00
Maxim Monastirsky
c614e71113 gbuild-to-ide: Don't try to remove files that don't exist.
Failed with lo.pro and lo.pro.user

Change-Id: I47ffd5cb31edb29d0f501a2a15c6b7ca4b93db87
2015-08-12 22:00:22 +03:00
Michel Renon
228a93bb3a QtCreator integration : generate lo.pro.user project file.
That project file handles 12 global build options :
6 about tests, 3 about clean, 2 about l10n, 1 default.
There is one run command to launch 'soffice'.
Note that QtCreator will add automatically run commands for each subproject.

Change-Id: I3650a9041654cbec7d51d8cbb7951a11ed49aad5
Reviewed-on: https://gerrit.libreoffice.org/17458
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <s.mehrbrodt@gmail.com>
2015-08-02 13:15:09 +00:00
Maxim Monastirsky
7523423f03 More whitespace missed
Change-Id: I045f72c66a80984650bc523489bd89ed96230c57
2015-07-29 00:18:14 +03:00
Michel Renon
5e188b4e27 QtCreator integration : remove unnecessary whitespaces.
Change-Id: Iee8a6add830be94e6a6942dc9c4464b1a91656ff
Reviewed-on: https://gerrit.libreoffice.org/17389
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
Tested-by: Maxim Monastirsky <momonasmon@gmail.com>
2015-07-28 21:07:45 +00:00
Michel Renon
dcec162ea0 tdf#92561 : QtCreator doesn't find any generated c++ headers.
Use lib.include to list :
- all include paths (with generated c++ headers),
- header files for each lib/module.

Change-Id: I44f20ddbcaf2ffa844ec02977dea10f32fe9d92f
Reviewed-on: https://gerrit.libreoffice.org/17055
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
Tested-by: Maxim Monastirsky <momonasmon@gmail.com>
2015-07-27 13:38:07 +00:00
Michel Renon
09491390e6 tdf#92560 : QtCreator integration complains about a "ucpp" without a .pro file
The script gbuild-to-ide now handles correctly specific case where a module
is not a direct subfolder of LibreOffice base folder.
Currently, 3 modules :
external/neon, external/clucene, external/ucpp.

Change-Id: I9477519a530439d43919b4e1b51dc2c71ee05fe0
Reviewed-on: https://gerrit.libreoffice.org/17054
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2015-07-20 10:17:29 +00:00
Michel Renon
237a1b79a1 QtCreator IDE integration.
First version of QtCreator IDE integration :
'make qtcreator-ide-integration' generates .pro and .pro.user files for each subfolder of LibreOffice.
It also creates a 'lo.pro' meta project that list all other .pro files.
Developers can use use QtCreator to edit, compile and debug LibreOffice.

Change-Id: Ib05d8c36a7ca055ecd7a4db5776f4c28bf05676c
Reviewed-on: https://gerrit.libreoffice.org/15804
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2015-05-25 16:35:12 +00:00
Yurii Kolesnykov
80bbca88d3 An attempt to fix xcode-ide-integration
Added more Xcode specific files to .gitignore.
Made some properties common in gbuil-to-ide to avoid code duplication/bugs.
Xcode projects are broken for now.

Change-Id: I9530435ffe54158ae68ddae0581ac68f968af235
Reviewed-on: https://gerrit.libreoffice.org/15694
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2015-05-19 11:49:08 +00:00
Markus Mohrhard
2a9d654c2b fix gbuild-to-ide script
Change-Id: Iff624d9e31ef5ba7d87b92124c60b02cd577c50b
2015-03-30 04:30:48 +02:00
Gulsah Kose
e03654bbd6 fdo#84628 Created .project file generator.
This patch is starting to EclipseCDT Integration. Written the .project file generating function.

Change-Id: If38077561820d9a333d186a2785ecddd1113fe92
Signed-off-by: Gulsah Kose <gulsah.1004@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/14871
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-03-25 06:49:12 +00:00
Ashod Nakashian
e52589553c Remove extra new-line characters before regex matching in gbuild-to-ide.
At least on some 64-bit Cygwin installations, the input gbuild-to-ide gets
include \r\n EOL. Python3 regex excludes \n from .* but leaves \r in the matching
group. This training cr ends up in the file paths in VS project files, breaking
it as they are invalid characters.

Change-Id: I481c1adbf6f6db7ab0ee0d3a768b7a397dc78ee5
Reviewed-on: https://gerrit.libreoffice.org/13803
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2015-01-09 18:21:36 +00:00
Peter Foley
7086ac7dad make gbuild-to-ide VS files work with separate builddir
Change-Id: I847885885ed12dbbd64e3b694799e4835497d736
Reviewed-on: https://gerrit.libreoffice.org/11799
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-10-09 10:38:01 +00:00
Peter Foley
79141e2ce2 gbuild-to-ide improvments
Use gperf instead of ls to find binpath, so that vs2012/3 can be tested
on non-Windows systems.
Output the vcxproj and vcxproj.filters files with indentation and
formatting.
Make some minor changes to improve pep8 compliance.

Change-Id: Ie8ac11ecf75ad170f0756f803c45356685792e5c
Reviewed-on: https://gerrit.libreoffice.org/11797
Tested-by: David Ostrovsky <david@ostrovsky.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-10-08 15:17:35 +00:00
David Ostrovsky
fc24eadc62 gbuild-to-ide: Add support for vs2013
Change-Id: I385e756109ab0a47feeeb4407ba4a2a4b68548dd
Reviewed-on: https://gerrit.libreoffice.org/11728
Reviewed-by: Peter Foley <pefoley2@verizon.net>
Tested-by: Peter Foley <pefoley2@verizon.net>
2014-10-03 00:29:29 +00:00
David Ostrovsky
213be0be8e gbuild-to-ide: Make it work for GNU make 4.x
Since GNU make 4.0 the output of --print-data-base command has been
slightly changed, so that class specific attributed aren'tt prefixed
with "#" char any more. To prevent the duplication of used regexs or
discontinuation of supporting widely used GNU make version 3.8x detect
the case that matches this regex:

target : VAR := VALUE

pand repend '#' character to retry the match for "pseudo" hash-starting
line. This way the same script works for both worlds.

Test Plan:

* have full build of LibreOffice
* install GNU make 4
* verify that gbuild-to-ide is able to parse and emit sane debug project
  configuration for both GNU make versions:
  $ make-3.8 debug-ide-integration
  $ make-4 debug-ide-integration

Change-Id: I7d760d9570f2df510571cc1e8fd7f31115d43b92
Reviewed-on: https://gerrit.libreoffice.org/11751
Tested-by: Peter Foley <pefoley2@verizon.net>
Reviewed-by: Peter Foley <pefoley2@verizon.net>
2014-10-01 23:09:17 +00:00
Peter Foley
0014648fee improve gbuild-to-ide error message
Change-Id: Ia8986764e48f1dbe39374d511a188bd2b5f49e13
Reviewed-on: https://gerrit.libreoffice.org/11654
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2014-09-26 11:57:56 +00:00