[CMake] Does CMake cannot handle directory name with space?
Werner Smekal
smekal at iap.tuwien.ac.at
Thu Mar 19 04:08:42 EDT 2009
Hi,
> There are 2 problems I got.
>
> The first one is that CMake cannot find Boost library, which I just
> unzipped it to the above directory, since I only need some headers,
> no linking required. How find_package(boost) works? How can I make
> it find the boost library automatically, without manually specify
> the boost location?
FindBoost.cmake looks in some standard directories:
SET(_boost_INCLUDE_SEARCH_DIRS C:/boost/include C:/boost
"$ENV{ProgramFiles}/boost" /sw/local/include )
Otherwise, you need to tell cmake where you installed Boost, how
should cmake else know? I do
set( CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} path_to_boost_parent/
boost_1_38_0 )
FindBoost.cmake is then able to pick up the boost library.
> The second problem is that, for gtkmm, CMake found gtkmm, it is
> good, however, it breaks the path, "E:\Program Files\gtkmm" to "E:
> \Program", and treat "Files\gtkmm" as the second arguments. So, in
> generated MSVC project file, the include directories setting is :
>
> "E:\Program Files\boost_1_38_0";E:\Program;
>
> Which cause fail to compile my project using generated MSVC project.
> And in CMakeCache.txt, there are many things like:
>
> GTKMM_CFLAGS:INTERNAL=Files/gtkmm/include/gtkmm-2.4;Files/gtkmm/lib/
> gtkmm-2.4/include;Files/gtkmm/include/glibmm-2.4;Files/gtkmm/lib/
> glibmm-2.4/include;Files/gtkmm/include/giomm-2.4;Files/gtkmm/lib/
> giomm-2.4/include;Files/gtkmm/include/gdkmm-2.4;Files/gtkmm/lib/
> gdkmm-2.4/include;Files/gtkmm/include/pangomm-1.4;Files/gtkmm/
> include/atkmm-1.6;Files/gtkmm/include/gtk-2.0;-mms-bitfields;Files/
> gtkmm/include/sigc++-2.0;Files/gtkmm/lib/sigc++-2.0/include;Files/
> gtkmm/include/glib-2.0;Files/gtkmm/lib/glib-2.0/include;Files/gtkmm/
> lib/gtk-2.0/include;Files/gtkmm/include/cairomm-1.0;Files/gtkmm/
> include/pango-1.0;Files/gtkmm/include/cairo;Files/gtkmm/include/
> libpng12;Files/gtkmm/include/atk-1.0;-IE:/Program
> GTKMM_INCLUDEDIR:INTERNAL=E:/Program;Files/gtkmm/include
>
> Is this a bug of CMake? or anything I missed?
Might be a bug in FindGTKMM.cmake since it obviously works for
FindBoost.cmake. I assume that the first is not well tested on Win32
platform.
Regards,
Werner
>
> Thanks.
>
> _______________________________________________
> 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
--
Dr. Werner Smekal
Institut fuer Allgemeine Physik
Technische Universitaet Wien
Wiedner Hauptstr 8-10
A-1040 Wien
Austria
email: smekal at iap.tuwien.ac.at
web: http://www.iap.tuwien.ac.at/~smekal
phone: +43-(0)1-58801-13463 (office), +43-(0)1-58801-13469 (laboratory)
fax: +43-(0)1-58801-13499
More information about the CMake
mailing list