[CMake] How to include Boost in Visual Studio cmake project
Michael Jackson
mike.jackson at bluequartz.net
Thu Nov 12 08:53:17 EST 2009
Just to follow up a bit more, here is my recipe for getting Boost up
and running with CMake and Visual Studio.
1: Compile Boost:
From the "Visual Studio Command Prompt I use the following:
bjam.exe toolset=msvc-9.0 --with-test --with-filesystem --with-
program_options --with-date_time --with-thread --prefix=C:\Developer
\VS9\boost_1_39 variant=release,debug threading=multi link=static
runtime-link=shared install
2: I then set the Boost_ROOT environment variable to "C:\Developer
\VS9\boost_1_39"
3: CMakeLists.txt File:
# ---------- Find Boost Headers/Libraries -----------------------
SET (Boost_FIND_REQUIRED TRUE)
SET (Boost_FIND_QUIETLY TRUE)
SET (Boost_DEBUG FALSE)
set (Boost_USE_MULTITHREADED TRUE)
set (Boost_USE_STATIC_LIBS TRUE)
SET (Boost_ADDITIONAL_VERSIONS "1.39" "1.39.0")
FIND_PACKAGE(Boost COMPONENTS program_options )
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
4: Remove Everything from the current build directory
5: CMake: From a brand new "Visual Studio Command Prompt" I verify
that Boost_ROOT is set correctly then running "CMake-Gui.exe". Click
"Configure" then Generate.
That usually allows CMake to find Boost. Hope that helps.
_________________________________________________________
Mike Jackson mike.jackson at bluequartz.net
BlueQuartz Software www.bluequartz.net
Principal Software Engineer Dayton, Ohio
On Nov 11, 2009, at 7:41 PM, Martin Peter Christiansen wrote:
> For the last day or so I have tried to compile a project(RobWork)
> for Visual Studio 2008 using Cmake.
> But my problem is that Cmake claims i can't find Boost dependencies.
>
> I have been googling the problem on the net, but the only answer I
> could find was that FindBost.cmake was the problem, but not how to
> solve it.
>
> When i run the project (RobWork) i get the following error:
>
> C:\Documents and Settings\Martin>cd c:\local\workspace\RobWork\build
> \release
> C:\local\workspace\RobWork\build\release>cmake -G "Visual Studio 9
> 2008" -DCMAKE_BUILD_TYPE=Release
> ../..
> -- RobWork version 0.4.0
> -- Build configuration: Release
> CMake Warning (dev) at CMakeLists.txt:20 (INCLUDE):
> Policy CMP0011 is not set: Included scripts do automatic
> cmake_policy PUSH
> and POP. Run "cmake --help-policy CMP0011" for policy details.
> Use the
> cmake_policy command to set the policy and suppress this warning.
> The included script
> C:/local/workspace/RobWork/build/ProjectSetup.cmake
> affects policy settings. CMake is implying the NO_POLICY_SCOPE
> option for
> compatibility, so the effects are applied to the including context.
> This warning is for project developers. Use -Wno-dev to suppress it.
> -- RobWork ROOT dir: C:/local/workspace/RobWork
> CMake Error at C:/Programmer/CMake 2.8/share/cmake-2.8/Modules/
> FindBoost.cmake:879 (message):
> Unable to find the requested Boost libraries.
> Boost version: 1.39.0
> Boost include path: C:/local/boost_1_39_0
> The following Boost libraries could not be found:
> boost_thread
> No Boost libraries were found. You may need to set
> Boost_LIBRARYDIR to the
> directory containing Boost libraries or BOOST_ROOT to the location
> of
> Boost.
> Call Stack (most recent call first):
> build/depends.cmake:8 (FIND_PACKAGE)
> build/RobWorkSetup.cmake:32 (INCLUDE)
> CMakeLists.txt:36 (INCLUDE)
>
> - I have successfully compiled Boost 1.39.0 to Visual studio 2008,
> so i get lib files like "libboost_date_time-vc90-mt-1_39.lib" in
> <boost-root>/stage/lib.
>
> - Boost have been placed in “C:\local\boost_1_39_0”
>
> - The following environment variables has been added to Windows
> BOOST_ROOT = C:\local\boost_1_39_0 and BOOST_LIBRARYDIR = $BOOST_ROOT
> \stage\lib
>
> - Both Cmake 2.6 and 2.8r2 have been used to compile the project,
> with no success.
>
>
> What I need is a solution, which can help me compile this project
> using Visual Studio 2008
> Is there some way I can setup FindBoost.cmake, so it will accept
> and boost correctly????
>
>
> Regards
>
>
> Martin Peter Christiansen
>
>
>
> _______________________________________________
> 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