make xcode-ide-integration, good news.

classic Classic list List threaded Threaded
7 messages Options
jan iversen jan iversen
Reply | Threaded
Open this post in threaded view
|

make xcode-ide-integration, good news.

Hi.

It is now possible to load all targets (cppunittest, library, executable) in Xcode. Include directories are also added.

the location of the .xcodeproj files have changed to core/osx for maintenance reasons.

“make gbuildtojson” misses to parse to important informations:
- the list of header files in the target
- which header files are public

bjoern@ any suggestion as to how we get hold of that information ?

Next step for the Xcode integration is to make a libreOffice.xcodeproj containing all modules / all targets with dependencies.

Parallel work on the Visual Studio solution is scheduled to start later in january.

have fun
jan I.
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Bjoern Michaelsen Bjoern Michaelsen
Reply | Threaded
Open this post in threaded view
|

Re: make xcode-ide-integration, good news.

Hi,

On Mon, Jan 02, 2017 at 07:50:35PM +0100, Jan Iversen wrote:
> “make gbuildtojson” misses to parse to important informations:
> - the list of header files in the target
> - which header files are public
> bjoern@ any suggestion as to how we get hold of that information ?

It doesnt. It provides the include paths and the source files that are to be
compiled -- just like gbuild provides the compiler. Providing a "list of header
files in the target" is nonsense, as it might change everytime a source file is
changed (and a "#include" statement is possibly added or removed) -- so that
info can only be provided by preprocessing all source files, which _should_ not
be done for creating a simple project solution (not even the compiler gets
presolved header file lists from the build system, nor should it).

Best,

Bjoern
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
jan iversen jan iversen
Reply | Threaded
Open this post in threaded view
|

Re: make xcode-ide-integration, good news.



> It doesnt. It provides the include paths and the source files that are to be
> compiled -- just like gbuild provides the compiler. Providing a "list of header
> files in the target" is nonsense, as it might change everytime a source file is
> changed (and a "#include" statement is possibly added or removed) -- so that
> info can only be provided by preprocessing all source files, which _should_ not
> be done for creating a simple project solution (not even the compiler gets
> presolved header file lists from the build system, nor should it).

You take a lot further than I was thinking about. A simple file list will do, an ide soultion without header files is not really useable not even for editing.

I had a talk with Moggi on IRC, and he helped me with a couple of ideas.

rgds

jan i
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Bjoern Michaelsen Bjoern Michaelsen
Reply | Threaded
Open this post in threaded view
|

Re: make xcode-ide-integration, good news.

Hi,

On Mon, Jan 02, 2017 at 10:51:39PM +0100, jan iversen wrote:
> You take a lot further than I was thinking about.

Huh?

> A simple file list will do, an ide soultion without header files is not really useable not even for editing.

There is no such "simple file list". Used header files are possibly everything
below the include paths. Everything else is purely convention.


Best,

Bjoern
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
jan iversen jan iversen
Reply | Threaded
Open this post in threaded view
|

Re: make xcode-ide-integration, good news.


> There is no such "simple file list". Used header files are possibly everything
> below the include paths. Everything else is purely convention.
>
It is a matter if taste if you call it a simple list, but adding all header files present in the module (file listing) would allow the contributor to edit those.

Adding an extra project with module "include" allows editing of the public header files.

This is not only important for allowing edit but also if we want to use a git plugin.

I will add a find command to gbuild-to-ide to do the above.

rgds
jan i
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Bjoern Michaelsen Bjoern Michaelsen
Reply | Threaded
Open this post in threaded view
|

Re: make xcode-ide-integration, good news.

Hi,

On Tue, Jan 03, 2017 at 07:22:48AM +0100, jan iversen wrote:
> It is a matter if taste if you call it a simple list, but adding all header
> files present in the module (file listing) would allow the contributor to
> edit those.

Hey, you asked for "a simple file list", not me. ;)
 
> Adding an extra project with module "include" allows editing of the public
> header files. This is not only important for allowing edit but also if we
> want to use a git plugin.

So:

- so gbuild has only a very, very weak concept of a "module"
- our git has no concept of a "module"
- this is both a Good Thing(tm) that we should keep

There only is a _convention_ that the result of:

 git ls-tree -r --name-only HEAD <module> | grep -E '.h(|xx)$'
 git ls-tree -r --name-only HEAD include/<module>

belongs to <module> in one specific checkout of master. This is a _convention_,
not something that is or ever should be enforced in the build system. Also it
is not something that should be statically generated as adding a file to git is
all it takes to make that file part of the module and thus such a list is
easily outdated[1].

Best,

Bjoern

[1] see also: http://wiki.c2.com/?DontRepeatYourself
              http://wiki.c2.com/?OnceAndOnlyOnce
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Bjoern Michaelsen Bjoern Michaelsen
Reply | Threaded
Open this post in threaded view
|

Re: make xcode-ide-integration, good news.

In reply to this post by jan iversen
Hi,

On Tue, Jan 03, 2017 at 07:22:48AM +0100, jan iversen wrote:
> This is not only important for allowing edit but also if we want to use a git
> plugin.

Well, git should be aware of files in git (I hope). ;)

> I will add a find command to gbuild-to-ide to do the above.

If it cant be avoided for some IDE, yeah :/.

In general neither gbuild nor the compiler get explicit file lists and that is
a Good Thing that we should keep. FWIW, an IDE that wants headers explicitly
listed makes me nervous, _especially_ if it knows about git, because git then
should be the reference for the IDE if is not happy with plain include paths.
If that is not the case the need for double/tripe bookkeeping (filesystem vs.
git vs. explicit listing in project solutions) will very likely confuse new
contributors.

Best,

Bjoern
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice