[oe] [PATCH] render cmake search path stricter
Valentin Longchamp
valentin.longchamp at epfl.ch
Wed Jun 24 13:07:13 UTC 2009
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 at 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 at epfl.ch, Phone: +41216937827
http://people.epfl.ch/valentin.longchamp
MEA3485, Station 9, CH-1015 Lausanne
More information about the Openembedded-devel
mailing list