Thomas Leonard | 25 May 2012 20:48
Picon
Gravatar

Re: Optional sub-packages

On 25 May 2012 11:16, Daniel Pfeifer <daniel <at> pfeifer-mail.de> wrote:
> 2012/5/25 Thomas Leonard <talex5 <at> gmail.com>:
>> On May 24, 2012 10:15 PM, "Daniel Pfeifer" <daniel <at> pfeifer-mail.de> wrote:
[...]
>>> What most projects do, is let CMake find the project directory and
>>> check for <project>-<component>.cmake files inside that directory.
>>> This approach fails for 0nstall, because 0install hides each package
>>> in a custom directory.
>>>
>>> Problems:
>>>
>>> * We don't want to lose the package-component relationship, so
>>> providing one <>Config.cmake file per component is not a viable
>>> option.
>>>
>>> * We prefer not to complicate the <>Config.cmake files. It would be
>>> possible to check environment variables inside the config script, but
>>> that may have unwanted side effects when all components are actually
>>> installed to the same directory and some environment variable is set
>>> for some reason.
>>>
>>> * We want to support projects that have not been adapted for 0install.
>>>
>>> I hope that describes our concerns?
>>>
>>> cheers, Daniel
>>>
>>> [*] In C, the header files that represent the interface to a library,
>>> so the develop component usually depends on the binary component. In
>>> C++, this is not necessarily the case: many of our C++ libraries are
>>> header-only for most cases, but provide an optional binary for some
>>> exotic cases.
>>
>> What about having 0compile (or some build wrapper) locate all the project
>> files being used in this build and link/copy them into the "build"
>> directory?
>
> That would mean to copy the complete 0install cache to another layout
> in most cases.

Does that mean that all the component's files have to be in the same
directory as the .cmake file? i.e. you can't have a build/foo.cmake
that just points at the real one?

Also, how does it handle the common case where you have
distribution-provided files in /usr, site-local packages installed to
/usr/local, /opt/*, and user packages in $HOME?

Doesn't cmake have some kind of search path (like $PKG_CONFIG_PATH)?

--

-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Zero-install-devel mailing list
Zero-install-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/zero-install-devel

Gmane