* [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.