[CMake] cmake and boost
Nehme Bilal
nbilal at mirarco.org
Fri Mar 19 16:49:24 EDT 2010
Thanks all for your responses !
I tried James C. Sutherland solution and modified my
CMakeList like this:
############################################################
cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR)
include_directories(${CMAKE_SOURCE_DIR}/boost/src)
include( ${CMAKE_SOURCE_DIR}/boost/build/lib/Exports.cmake
)
add_executable(my_program main.cpp)
target_link_libraries(my_program
boost_date_time-mt-shared)
############################################################
it worked but when I try to :
#include "boost/date_time/posix_time/time_parsers.hpp"
I get this error:
libboost_date_time-vc100-mt-gd-1_41.lib
in boost\build\lib\Debug, I have:
libboost_date_time-vc-mt-gd-1_41.lib
Why is visual studio trying to look for "vc" instead of
"vc100" ?
for the other proposed solutions, am not sure I understand
how to do it correctly because I don't know cmake that
well. can you modify my CMakeList and add what you are
proposing ?
Thanks.
Nehme
On Fri, 19 Mar 2010 15:43:53 -0400
Michael Jackson <mike.jackson at bluequartz.net> wrote:
>
> On Mar 19, 2010, at 3:34 PM, James C. Sutherland wrote:
>
>>>
>>> Why not just let the user decide where they'd like to
>>>get boost, and simplify your build system by just using
>>>find_package(Boost)?
>>>
>>> For example, this is all you need for a simple
>>>boost-using app...
>>>
>>> find_package(Boost 1.34.0 REQUIRED COMPONENTS filesystem
>>>system)
>>> include_directories(${Boost_INCLUDE_DIR})
>>> add_executable(yourapp yourapp.cpp)
>>> target_link_libraries(yourapp ${Boost_LIBRARIES})
>>>
>> Indeed this is the best approach, although it isn't
>>quite that straightforward in all cases since the
>>FindBoost.cmake module functions a bit differently with
>>the CMake installation than it does with the bjam
>>installation. For example, I do something like:
>>
>> if( BOOST_CMAKE )
>> set(Boost_USE_STATIC ON)
>> find_package( Boost REQUIRED COMPONENTS ${boost_comps}
>>NO_MODULE )
>> else()
>> set(Boost_USE_STATIC_LIBS ON)
>> find_package( Boost REQUIRED COMPONENTS ${boost_comps}
>>)
>> endif()
>>
>> where I define BOOST_CMAKE if I have a cmake-based boost
>>installation.
>
> Hmm, I don't have to do any of that for my Boost-Cmake
>installation. There is a "trick" to configuring the
>Boost_CMake build so that it has the same layout as a
>bjam built boost.
>
> ___________________________________________________________
> Mike Jackson www.bluequartz.net
> Principal Software Engineer
> mike.jackson at bluequartz.net
> BlueQuartz Software Dayton, Ohio
>
>
> _______________________________________________
> 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