All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] render cmake search path stricter
@ 2009-06-18 17:05 Valentin Longchamp
  2009-06-24  5:31 ` Douglas Royds
  0 siblings, 1 reply; 4+ messages in thread
From: Valentin Longchamp @ 2009-06-18 17:05 UTC (permalink / raw)
  To: openembedded-devel

The search is only done in the STAGING directy: all the needed tools
should be there (already built) and all the libs and header are there
too. With this, we are sure that we do not mix with the host libs,
headers or tools.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
---
 classes/cmake.bbclass |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/classes/cmake.bbclass b/classes/cmake.bbclass
index b5b7b86..af8f3a9 100644
--- a/classes/cmake.bbclass
+++ b/classes/cmake.bbclass
@@ -21,6 +21,9 @@ cmake_do_configure() {
   cmake ${OECMAKE_SOURCEPATH} \
     -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
     -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_HOST} \
+    -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=ONLY \
+    -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
+    -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
     ${EXTRA_OECMAKE} \
     -Wno-dev
 }
-- 
1.6.0.4




^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] render cmake search path stricter
  2009-06-18 17:05 [PATCH] render cmake search path stricter Valentin Longchamp
@ 2009-06-24  5:31 ` Douglas Royds
  2009-06-24 13:07   ` Valentin Longchamp
  0 siblings, 1 reply; 4+ messages in thread
From: Douglas Royds @ 2009-06-24  5:31 UTC (permalink / raw)
  To: openembedded-devel

Any particular reason not to include CMAKE_FIND_ROOT_PATH_MODE_PACKAGE?

Normally this won't have any effect, as CMake will look in the CMake 
installation for FindSomething.cmake ("module" mode). But if a package 
installs a SomethingConfig.cmake in /usr/share/cmake (the "config" mode 
of find_package) we should be looking only in staging, not trawling 
around on the host PC.

Douglas.


Valentin Longchamp wrote:
> The search is only done in the STAGING directy: all the needed tools
> should be there (already built) and all the libs and header are there
> too. With this, we are sure that we do not mix with the host libs,
> headers or tools.
>
> Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
> ---
>  classes/cmake.bbclass |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/classes/cmake.bbclass b/classes/cmake.bbclass
> index b5b7b86..af8f3a9 100644
> --- a/classes/cmake.bbclass
> +++ b/classes/cmake.bbclass
> @@ -21,6 +21,9 @@ cmake_do_configure() {
>    cmake ${OECMAKE_SOURCEPATH} \
>      -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
>      -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_HOST} \
> +    -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=ONLY \
> +    -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
> +    -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
>      ${EXTRA_OECMAKE} \
>      -Wno-dev
>  }
>   


=======================================================================
This email, including any attachments, is only for the intended
addressee.  It is subject to copyright, is confidential and may be
the subject of legal or other privilege, none of which is waived or
lost by reason of this transmission.
If the receiver is not the intended addressee, please accept our
apologies, notify us by return, delete all copies and perform no
other act on the email.
Unfortunately, we cannot warrant that the email has not been
 altered or corrupted during transmission.
=======================================================================




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] render cmake search path stricter
  2009-06-24  5:31 ` Douglas Royds
@ 2009-06-24 13:07   ` Valentin Longchamp
  2009-06-24 22:05     ` Douglas Royds
  0 siblings, 1 reply; 4+ messages in thread
From: Valentin Longchamp @ 2009-06-24 13:07 UTC (permalink / raw)
  To: openembedded-devel@lists.openembedded.org

Douglas Royds wrote:
> Any particular reason not to include CMAKE_FIND_ROOT_PATH_MODE_PACKAGE?

Simply because I did not know about it as I based myself on the this 
doc: http://www.cmake.org/Wiki/CMake_Cross_Compiling and they never talk 
about this variable. I do not see a lot of references to that variable 
so I don't think we should set it here.

> 
> Normally this won't have any effect, as CMake will look in the CMake 
> installation for FindSomething.cmake ("module" mode). But if a package 
> installs a SomethingConfig.cmake in /usr/share/cmake (the "config" mode 
> of find_package) we should be looking only in staging, not trawling 
> around on the host PC.

I agree with you, we should be looking only in staging. But the problem 
is that with the below proposed option 
DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=ONLY, the OE buids do not work well. 
You certainly need a few tools from the host PC. That's why I now have 
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM=BOTH. But the default behaviour with 
cmake is that the directories listed in CMAKE_FIND_ROOT_PATH are 
searched for, which is what we want.

Val

> 
> Douglas.
> 
> 
> Valentin Longchamp wrote:
>> The search is only done in the STAGING directy: all the needed tools
>> should be there (already built) and all the libs and header are there
>> too. With this, we are sure that we do not mix with the host libs,
>> headers or tools.
>>
>> Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
>> ---
>>  classes/cmake.bbclass |    3 +++
>>  1 files changed, 3 insertions(+), 0 deletions(-)
>>
>> diff --git a/classes/cmake.bbclass b/classes/cmake.bbclass
>> index b5b7b86..af8f3a9 100644
>> --- a/classes/cmake.bbclass
>> +++ b/classes/cmake.bbclass
>> @@ -21,6 +21,9 @@ cmake_do_configure() {
>>    cmake ${OECMAKE_SOURCEPATH} \
>>      -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
>>      -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_HOST} \
>> +    -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=ONLY \
>> +    -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
>> +    -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
>>      ${EXTRA_OECMAKE} \
>>      -Wno-dev
>>  }
>>   
-- 
Valentin Longchamp, PhD Student, EPFL-STI-LSRO1
valentin.longchamp@epfl.ch, Phone: +41216937827
http://people.epfl.ch/valentin.longchamp
MEA3485, Station 9, CH-1015 Lausanne



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] render cmake search path stricter
  2009-06-24 13:07   ` Valentin Longchamp
@ 2009-06-24 22:05     ` Douglas Royds
  0 siblings, 0 replies; 4+ messages in thread
From: Douglas Royds @ 2009-06-24 22:05 UTC (permalink / raw)
  To: openembedded-devel

Valentin Longchamp wrote:
> Douglas Royds wrote:
>> Any particular reason not to include CMAKE_FIND_ROOT_PATH_MODE_PACKAGE?
>
> Simply because I did not know about it as I based myself on the this 
> doc: http://www.cmake.org/Wiki/CMake_Cross_Compiling and they never 
> talk about this variable. I do not see a lot of references to that 
> variable so I don't think we should set it here.

It's documented at the bottom of the find_package() section of the CMake 
documentation, along with the documentation of CMAKE_FIND_ROOT_PATH:

    http://www.cmake.org/cmake/help/cmake2.6docs.html#command:find_package

I think we should set this one, so long as it doesn't break any existing 
packages. I haven't tested this.

>> Normally this won't have any effect, as CMake will look in the CMake 
>> installation for FindSomething.cmake ("module" mode). But if a 
>> package installs a SomethingConfig.cmake in /usr/share/cmake (the 
>> "config" mode of find_package) we should be looking only in staging, 
>> not trawling around on the host PC.
>
> I agree with you, we should be looking only in staging. But the 
> problem is that with the below proposed option 
> DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=ONLY, the OE buids do not work 
> well. You certainly need a few tools from the host PC. That's why I 
> now have CMAKE_FIND_ROOT_PATH_MODE_PROGRAM=BOTH. But the default 
> behaviour with cmake is that the directories listed in 
> CMAKE_FIND_ROOT_PATH are searched for, which is what we want.

True. I suggest that we remove CMAKE_FIND_ROOT_PATH_MODE_PROGRAM from 
your patch below.

>> Valentin Longchamp wrote:
>>> The search is only done in the STAGING directy: all the needed tools
>>> should be there (already built) and all the libs and header are there
>>> too. With this, we are sure that we do not mix with the host libs,
>>> headers or tools.
>>>
>>> Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
>>> ---
>>>  classes/cmake.bbclass |    3 +++
>>>  1 files changed, 3 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/classes/cmake.bbclass b/classes/cmake.bbclass
>>> index b5b7b86..af8f3a9 100644
>>> --- a/classes/cmake.bbclass
>>> +++ b/classes/cmake.bbclass
>>> @@ -21,6 +21,9 @@ cmake_do_configure() {
>>>    cmake ${OECMAKE_SOURCEPATH} \
>>>      -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
>>>      -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_HOST} \
>>> +    -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=ONLY \
>>> +    -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
>>> +    -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
>>>      ${EXTRA_OECMAKE} \
>>>      -Wno-dev
>>>  }
>>>   


=======================================================================
This email, including any attachments, is only for the intended
addressee.  It is subject to copyright, is confidential and may be
the subject of legal or other privilege, none of which is waived or
lost by reason of this transmission.
If the receiver is not the intended addressee, please accept our
apologies, notify us by return, delete all copies and perform no
other act on the email.
Unfortunately, we cannot warrant that the email has not been
 altered or corrupted during transmission.
=======================================================================




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-06-24 22:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-18 17:05 [PATCH] render cmake search path stricter Valentin Longchamp
2009-06-24  5:31 ` Douglas Royds
2009-06-24 13:07   ` Valentin Longchamp
2009-06-24 22:05     ` Douglas Royds

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.