2011/7/14 Mattias Gaertner <[email protected]> > ** > > > > > > Frank Church <[email protected]> hat am 14. Juli 2011 um 10:11 > geschrieben: > > [...] > > > If you are using different Lazarus versions but with same components > and > > packages, how would you organize separate build directories for the > > different versions, but same source location. > > > There are many ways. > For example use one lazarus config directory for each version > combination and make all package output directories read only. Then the > IDE will put the ppu files into the config directory. > > > > Can this be achieved via macros? > > > > There is no macro to make directories read only. > > > > > > > For instance I have just posted a blog article on FPC/Lazarus compilaton > at > http://devblog.brahmancreations.com/content/build-scripts-for-installing-freepascal-and-lazarus-from-source, > and what I want to do is to have the build_name variable as available to the > IDE. > > e.g if a lazarus build is named lazarus_0920_27001, I would like to use a > macro based on the package name as well as the lazarus build name, so the > compiler knows that units for zeoslib for instance go to directory > /components/lazarus_0920_27001/zeoslib. > > > > The solution I gave puts the package files in > $(PrimaryConfigPath)/lib/$(PkgName)/something, for example > > /components/lazarus_0920_27001/lib/zeoslib > > >
Your solution did not indicate that an every package would have its own directory created for it under the PrimaryConfigPath, I thought they would all be dumped into a single directory. > The 'something' depends on a few things. Someone said that there is a bug > in some cases. > > > > > > > Even if the package sources must be modified that should be a minor > problem. > > > > If you want to change the lpk files, then you can of course specify > whatever you wish. > > > > [...] > > > I am looking at > http://wiki.lazarus.freepascal.org/IDE_Macros_in_paths_and_filenames and I > am considering using a combinatin of PrimaryConfigPath and package name to > set the output directory. > > > - *Package macros* - these can be used in the fields of a package. For > example in the search paths of a package. To use them elsewhere give a > package name as parameter. > - *PkgDir()* - macro function for the directory (location of the > .lpk) of a package ID given as parameter > - *PkgIncPath(id)* - macro function for the include path of a > package ID given as parameter > - *PkgOutDir(id)* - macro function for the output directory of a > package (e.g. where the ppu files are created) > - *PkgSrcPath(id)* - macro function for the source path (unit path + > src path) of a package ID given as parameter > - *PkgUnitPath(id)* - macro function for the unit path of a package > ID given as parameter > > > However there doesn't seem to be a macro for the package name itself in > the package related macros. > > > > I added a PkgName. > > > Is it avaiable in 0.9.30 fixes? Are some of the new 0.9.31 backported to fixes? > > I'd like to use a combination of ConfPath or PrimaryConfigPath or the > FallBackOutputRoot to handle the issue. > > Something like > PrimaryConfigPath\NameOnly(packagepath)\lib/$(TargetCPU)-$(TargetOS) would > be ideal. > > > > That's almost the default for read only packages. Why not simply use the > default? > > Does the original > Do ConfPath and PrimaryConfigPath refer to the same thing? > > > What is ConfPath? > > I meant ConfDir and PrimaryConfigPath > Mattias > > > -- > _______________________________________________ > Lazarus mailing list > [email protected] > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus > > Is it possible to create new user defined macro variables for the IDE? Thanks -- Frank Church ======================= http://devblog.brahmancreations.com
-- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
