Recent

Author Topic: Project units recompilation on changing widgeset.  (Read 2092 times)

vfclists

  • Hero Member
  • *****
  • Posts: 1165
    • HowTos Considered Harmful?
Project units recompilation on changing widgeset.
« on: March 10, 2016, 12:05:15 pm »
I have noticed that when  I switch the widgeset used in a project, all the units need to be recompiled and one FileUtil in particular generates an invalid ppu error.

It looks to me like the unit output paths used in many packages that depend on the GUI don't make an allowance for the widget set, such as including the widgetset macro in the unit output path. Is there some standard path macro that can be used in all of them?

In KControls for instance, the unit path is $(ConfDir)\lib\kcontrols\lib\$(TargetCPU)-$(TargetOS)

It is possible to set some standard or convention so that package developers make an accommodation for the widget set as well, assuming that Lazarus and other package building utilities are widgetset aware?
Lazarus 3.0/FPC 3.2.2

vfclists

  • Hero Member
  • *****
  • Posts: 1165
    • HowTos Considered Harmful?
Re: Project units recompilation on changing widgeset.
« Reply #1 on: March 11, 2016, 12:28:31 am »
I have just been looking at this page http://wiki.freepascal.org/Macros_and_Conditionals which mentions the LCLWidgetType. I added $(LCLWidgetType) to the end of the output path, and so the files created in a new directory under the prevoious ppu directory.

Now is there any method for determining whether a unit is widget set dependent and in order for the output path to be changed accordingly? Are there ready made examples in the demos or documentation that I can use to get a good idea, especially when multiple platforms are being targetted?

I have noticed that when  I switch the widgeset used in a project, all the units need to be recompiled and one FileUtil in particular generates an invalid ppu error.

It looks to me like the unit output paths used in many packages that depend on the GUI don't make an allowance for the widget set, such as including the widgetset macro in the unit output path. Is there some standard path macro that can be used in all of them?

In KControls for instance, the unit path is $(ConfDir)\lib\kcontrols\lib\$(TargetCPU)-$(TargetOS)

It is possible to set some standard or convention so that package developers make an accommodation for the widget set as well, assuming that Lazarus and other package building utilities are widgetset aware?
Lazarus 3.0/FPC 3.2.2

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 12518
  • Debugger - SynEdit - and more
    • wiki
Re: Project units recompilation on changing widgeset.
« Reply #2 on: March 11, 2016, 01:01:41 am »
I assume you talk about switching to a witdgetset, for which you previously complied ppu, and no source changed since?

There is additions and overrides that can help you force settings on all packages.

Also in the view menu, ide internals, there is a point "what needs building", that might be able to help find out more.

vfclists

  • Hero Member
  • *****
  • Posts: 1165
    • HowTos Considered Harmful?
Re: Project units recompilation on changing widgeset.
« Reply #3 on: March 11, 2016, 03:50:41 pm »
When I check the package options I don't see any option for Additions and Overrides (I am currently using Lazarus 1.4.4 on Windows). The package options also don't seem to have the option for selecting the widget set which are in the project options.

Does adding a package to project enable the project to change the package's output path to one of its own choice without affecting the path when the package is compiled on its own?

I assume you talk about switching to a witdgetset, for which you previously complied ppu, and no source changed since?

There is additions and overrides that can help you force settings on all packages.

Also in the view menu, ide internals, there is a point "what needs building", that might be able to help find out more.
Lazarus 3.0/FPC 3.2.2

 

TinyPortal © 2005-2018