Forum > General

Automatize build system

(1/3) > >>

Чебурашка:
Hello,
I have several projects made with Lazarus, and in this moment I use lazbuild embedded in .sh scripts in order to have a always repeatable build process to rebuild them all.
Lazbuild is great because I can add in the lpi build modes, hooks and many other nice features that work very well, and of course it is capable of reading .lpi like if I was inside Lazarus IDE.
The problem with lazbuild is that is designed to work for the Lazarus ide, so it adds compiler options useful to Lazarus, but that make the build process output too verbose.

What is a possible alternative tool for the scripted building, if possible capable of operation on the lpi files?

CharlyTango:
the component LazProjectGroups in folder \lazarus\components\projectgroups could be a solution.
Combine different projects to a project group and compile them all with a single mouseclick

Чебурашка:

--- Quote from: CharlyTango on December 07, 2023, 10:15:38 am ---the component LazProjectGroups in folder \lazarus\components\projectgroups could be a solution.
Combine different projects to a project group and compile them all with a single mouseclick

--- End quote ---

Thank vm for the suggestion.

As explained I am looking for a tool that allows me to call the compilation from command line (then embedded in sh scripts), that gives an output controlled by the fcp.cfg instad of adding extra information needed by Lazarus, like lazbuild does. Ideally, like lazbuild does, this tool should be able to use the lpis as input, because in lpis user is allowed to indicate amazing settings, on a project basis:


* build modes
* search paths
* output directories
* hooked events
* custom options
* custom defines
* other amazing features
The tool that you suggest seems to me an aggregator of lpis, I guess it will operate using lazbuild, with the same output of lazbuild. So probably is not what I am looking for.

Thaddy:
Nobody would use the lpi files in a professional setting especially when using it in a team just like you should not use sourcecode contamination with the % macro´ s that Lazarus uses.
There are some solutions that I prefer, but takes a bit of work.
1. On Windows use msbuild
2. Take the luxury of writing a proper make file, like FPC does for its own builds. Once you put the time in once it frees up much valuable time later.

I personally dislike the lpi files since it is tied to the Lazarus IDE. It should be the case that the lpr files are governing.
My usual setup compiles from different editors, like Geany, that do not need lpi files, just a good setup.
Feel free to disagree. This is opinion, not fact.

Чебурашка:

--- Quote from: Thaddy on December 07, 2023, 11:38:52 am ---Nobody would use the lpi files in a professional setting especially when using it in a team just like you should not use sourcecode contamination with the % macro´ s that Lazarus uses.
There are some solutions that I prefer, but takes a bit of work.
1. On Windows use msbuild
2. Take the luxury of writing a proper make file, like FPC does for its own builds. Once you put the time in once it frees up much valuable time later.

I personally dislike the lpi files since it is tied to the Lazarus IDE. It should be the case that the lpr files are governing.
My usual setup compiles from different editors, like Geany, that do not need lpi files, just a good setup.
Feel free to disagree. This is opinion, not fact.

--- End quote ---

Thanks Thaddy.
I was thinking that probably my needs could be best satisfied using some kind of make system rather than anything else. Your observation seems to confirm quite well what I was suspecting.
I asked in the forums because I was thinking that someone could suggest some existing tool that I don't know.

Navigation

[0] Message Index

[#] Next page

Go to full version