I am using OmniXML
https://github.com/mremec/omnixmlIt has no LPK file for Lazarus. I woould like to have (even though it is purely nonvisual) so I can include it in "required packages" in my own projects (without having to add file paths which may not not translate well to other windows/mac machines)
So I have tried to create this:
In "D:\installed components\omnixml\dpk" I create "OmniXML_Lazarus.lpk"
It looks like this at present:
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<Package Version="5">
<PathDelim Value="\"/>
<Name Value="OmniXML_Lazarus"/>
<Type Value="RunAndDesignTime"/>
<CompilerOptions>
<Version Value="11"/>
<PathDelim Value="\"/>
<SearchPaths>
<IncludeFiles Value=".."/>
<OtherUnitFiles Value=".."/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<IncludeAssertionCode Value="True"/>
</SyntaxOptions>
</Parsing>
<CodeGeneration>
<Checks>
<IOChecks Value="True"/>
<RangeChecks Value="True"/>
<OverflowChecks Value="True"/>
<StackChecks Value="True"/>
</Checks>
<VerifyObjMethodCallValidity Value="True"/>
<Optimizations>
<OptimizationLevel Value="3"/>
</Optimizations>
</CodeGeneration>
<Linking>
<Debugging>
<DebugInfoType Value="dsDwarf2Set"/>
<UseExternalDbgSyms Value="True"/>
</Debugging>
</Linking>
<Other>
<Verbosity>
<ShowUsedFiles Value="True"/>
<ShowTriedFiles Value="True"/>
</Verbosity>
<CustomOptions Value="-Ur"/>
</Other>
</CompilerOptions>
<Files Count="2">
<Item1>
<Filename Value="..\OmniXML.pas"/>
<UnitName Value="OmniXML"/>
</Item1>
<Item2>
<Filename Value="..\OmniXMLXPath.pas"/>
<UnitName Value="OmniXMLXPath"/>
</Item2>
</Files>
<CompatibilityMode Value="True"/>
<RequiredPkgs Count="1">
<Item1>
<PackageName Value="LCLBase"/>
</Item1>
</RequiredPkgs>
<UsageOptions>
<CustomOptions Value="-Ur"/>
<UnitPath Value="$(PkgOutDir)"/>
</UsageOptions>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
</Package>
</CONFIG>
It installs ok, but if I try compile something using the packing (havinvg added it to "Required" list) I still get error where I reference "OmniXML" in my use clause. And compile gives error
Messages, Warnings: 1
Warning: other unit files search path (aka unit path) of "MyOwnExampleProgram" contains "W:\data\shared-code\MyOwnExampleLibraryPath", which belongs to package "MyOwnExampleLibraryPackage"
Compile package MyOwnExampleLibraryPackage 0.0: Exit code 1, Errors: 1
MyOwnLibraryUnit.pas(145,3) Fatal: Cannot find OmniXML used by MyOwnLibraryUnit. Make sure all ppu files of a package are in its output directory. ppu in wrong directory=D:\installed components\omnixml\dpk\lib\x86_64-win64\OmniXML.ppu. Clean up package "OmniXML_Lazarus"..
I am unsure what exactly is wrong in "OmniXML_Lazarus.lpk" ... Ideally I would like to be able to reference all the units in "D:\installed components\omnixml\" where al the source files are placed