[CMake] problems with cache and findvtk

David Cole david.cole at kitware.com
Thu Jul 23 11:51:04 EDT 2009


"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.

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
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090723/1fdf289c/attachment.htm>


More information about the CMake mailing list