[CMake] problems with cache and findvtk
Dominik Szczerba
dominik at itis.ethz.ch
Fri Jul 24 17:11:34 EDT 2009
On Fri, 2009-07-24 at 17:05 -0400, David Cole wrote:
> ccmake . does not erase the cache.
>
> It would not surprise me if a second -C initialcache.cmake call did
> erase some cache entries... As I said before, I do not think the -C
> arg is intended to be used more than once in a given build tree. It
> doesn't make any sense.
>
>
> Perhaps we should formalize that notion and refuse to honor "-C" or
> even produce an error if it is given in a build tree with an existing
> CMakeCache.txt.
>
Yes, that sounds like a very good idea, at least to help separate the
suspicious behavior.
-- Dominik
>
>
> On Fri, Jul 24, 2009 at 4:51 PM, Dominik Szczerba
> <dominik at itis.ethz.ch> wrote:
> On Thu, 2009-07-23 at 11:51 -0400, David Cole wrote:
>
> > "cmake -C initialcache.cmake" is intended to be used once to
> establish
> > an *initial* cache... Why do you want to do it again later
> when you
> > already have a cache...?
> >
> > A second call with -C is not the intended use for the -C
> argument...
> >
> >
> > Also, does your initial cache file set the compiler? It is
> more
> > typical (and therefore better tested) to set environment
> variables CC
> > and CXX to specify the compilers before running cmake for
> the first
> > time.
> >
>
>
> That was a hint in the right direction. Indeed, I was setting
> the
> compilers in the initial cache to formally something else than
> VTK was
> compiled with (me: g++, VTK: c++). Removing this cache entry
> so far does
> not in the reported annoyances. Will keep an eye though and
> evntl. come
> back. Still, I definitely think something is not clean here
> anyway, e.g.
> "ccmake ." with no changes of variables (not even configure or
> generate)
> should not erase the cache, should it?
>
> with thanks and regards,
> Dominik
>
>
> >
> > I think your main problem is running with -C on subsequent
> configures
> > beyond the initial one, though.
> >
> >
> >
> >
> > HTH,
> > David
> >
> >
> >
> > On Thu, Jul 23, 2009 at 7:40 AM, Dominik Szczerba
> > <dominik at itis.ethz.ch> wrote:
> > No, I do not have any cache files in the whole
> source tree.
> >
> > The easiest - and the most suspicious - way to
> reproduce is:
> >
> > 1) cmake -C ~/src/mesh/CMakeInitialCache-x60.cmake
> ~/src/mesh
> > (this configures correctly, values from the cache
> are taken, I
> > see them
> > displayed with MESSAGE. Now "make whatever" would
> work as
> > expected.
> > 2) ccmake .
> > (just this, no reconfigure, no re-generate, just run
> and quit)
> > 3) cmake -C ~/src/mesh/CMakeInitialCache-x60.cmake
> ~/src/mesh
> > This now does not work anymore. Some snippets from
> the output:
> >
> > loading initial cache
> >
> file /home/domel/src/mesh/CMakeInitialCache-x60.cmake
> > (...)
> > -- IDIR_HDF5: /home/domel/pack/hdf5-1.8.3/src
> (several
> > variables *ARE*
> > correctly there
> > (...)
> > Warning: CMake is forcing CMAKE_CXX_COMPILER to
> "/usr/bin/c++"
> > to match
> > that imported from VTK. This is required because C
> ++ projects
> > must use
> > the same compiler. If this message appears for more
> than one
> > imported
> > project, you have conflicting C++ compilers and will
> have to
> > re-build
> > one of those projects. Was set to /usr/bin/g++
> > (...)
> > -- IMESH: QT_QMAKE_EXECUTABLE: /usr/bin/qmake (still
> several
> > more
> > variables are OK)
> > (...)
> > -- Configuring done
> > You have changed variables that require your cache
> to be
> > deleted.
> > Configure will be re-run and you may have to reset
> some
> > variables.
> > The following variables have changed:
> > CMAKE_CXX_COMPILER= /usr/bin/c++
> > (so the cache is deleted!!! why??? Now the
> configuration
> > re-starts and
> > ALL variables are gone:)
> > -- IDIR_HDF5: (empty...)
> >
> > CMake Error
> >
> at /usr/local/share/cmake-2.6/Modules/FindVTK.cmake:134
> > (MESSAGE):
> > VTK not found. Set the VTK_DIR cmake cache entry
> to the
> > directory
> > containing VTKConfig.cmake. This is either the
> root of the
> > build
> > tree, or
> > PREFIX/lib/vtk for an installation. For VTK 4.0,
> this is the
> > location
> > of
> > UseVTK.cmake. This is either the root of the build
> tree or
> > PREFIX/include/vtk for an installation.
> > Call Stack (most recent call first):
> > CMakeLists.txt:80 (FIND_PACKAGE)
> >
> >
> > Any ideas why no action whatsoever causes the
> failure?
> > Many thanks!
> > -- Dominik
> >
> >
> > On Thu, 2009-07-23 at 06:57 -0400, David Cole wrote:
> > > Something's not right... This should work.
> > >
> > > Is there a CMakeCache.txt file in the source tree?
> If so,
> > delete it
> > > and start with a clean source tree.
> > >
> > > Are you getting configure errors?
> > >
> > > Steps to reproduce the issue might help to
> diagnose the
> > problem.
> > >
> > >
> > >
> > > On Thu, Jul 23, 2009 at 6:22 AM, Dominik Szczerba
> > > <dominik at itis.ethz.ch> wrote:
> > > Some moredebugging info: cmake versions
> 2.6.2 and
> > 2.6.4. Re:
> > > point 2)
> > > running cmake -C path/to/initcache.cmake
> PATH does
> > NOT resolve
> > > the
> > > problem.
> > >
> > > Is it a bug case or expected bahvior?
> > >
> > > Dominik
> > >
> > >
> > > On Thu, 2009-07-23 at 10:33 +0200, Dominik
> Szczerba
> > wrote:
> > > > Hi,
> > > > I have several frustrating problems
> using cmake
> > initial
> > > cache file with
> > > > some variables in combination with using
> findvtk
> > in my
> > > CMakeLists.txt.
> > > >
> > > > 1) ccmake . in the build dir invalidates
> the whole
> > dir:
> > > findvtk
> > > > complains about missing VTK_Dir, which
> *WAS* in
> > the initial
> > > cache. I
> > > > have to delete the whole tree and run
> cmake -C
> > > path/to/initcache.cmake
> > > > PATH again
> > > >
> > > > 2) indentical symptoms are when
> CMakeLists.txt has
> > changed:
> > > VTK_DIR and
> > > > CMAKE_BUILD_TYPE are not there.
> > > >
> > > > How to resolve it?
> > > >
> > > > Dominik
> > > >
> > > >
> _______________________________________________
> > > > Powered by www.kitware.com
> > > >
> > > > Visit other Kitware open-source projects
> at
> > >
> http://www.kitware.com/opensource/opensource.html
> > > >
> > > > Please keep messages on-topic and check
> the CMake
> > FAQ at:
> > > http://www.cmake.org/Wiki/CMake_FAQ
> > > >
> > > > Follow this link to
> subscribe/unsubscribe:
> > > >
> http://www.cmake.org/mailman/listinfo/cmake
> > > >
> > >
> > >
> _______________________________________________
> > > Powered by www.kitware.com
> > >
> > > Visit other Kitware open-source projects
> at
> > >
> http://www.kitware.com/opensource/opensource.html
> > >
> > > Please keep messages on-topic and check
> the CMake
> > FAQ at:
> > > http://www.cmake.org/Wiki/CMake_FAQ
> > >
> > > Follow this link to subscribe/unsubscribe:
> > >
> http://www.cmake.org/mailman/listinfo/cmake
> > >
> > >
> >
> >
> >
> >
>
>
>
>
More information about the CMake
mailing list