I have tried adding Boost.Log to Cmake Boost. I am using CMake 2.8.8 and the latest Boost.Log files from the trunk directory. It seems to build the libraries okay, but when I try to link my program I get the following.<br>
<br>/media/data/workspace/mdxdev/tmp/staging/i686-mv-linux/usr/lib/libcls_utils.so: undefined reference to `boost::log_mt_posix::sinks::basic_text_file_backend&lt;char&gt;::construct(boost::filesystem2::basic_path&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, boost::filesystem2::path_traits&gt; const&amp;, std::_Ios_Openmode, unsigned long long, boost::function0&lt;bool&gt; const&amp;, bool)&#39;<br>
<br>------<br><br>libcls_utils.so is a wrapper around the Boost.Log libraries that I am calling. The shareable library compiles and links. When my main program goes to link, it get the libcls_utils.so, but can not resolve a symbol in it. I believe I have traced it down to something I may have missed when creating the CMakeLists.txt files.  Here is a list of what I have. I used the Jamfile.v2 created by bjam to figure out what to include in my CMakeLists.txt file.<br>
<br>#<br>#          Copyright Andrey Semashev 2007 - 2012.<br># Distributed under the Boost Software License, Version 1.0.<br>#    (See accompanying file LICENSE_1_0.txt or copy at<br>#          <a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)<br>
#<br><br>import os ;<br>import feature ;<br><br>lib psapi ;<br>lib ws2_32 ;<br><br>local rule default_logapi ( )<br>{<br>    local api = unix ;<br>    if [ <a href="http://os.name">os.name</a> ] = &quot;NT&quot; { api = winnt ; }<br>
    return $(api) ;<br>}<br><br>feature.feature logapi : unix winnt : propagated ;<br>feature.set-default logapi : [ default_logapi ] ;<br><br>project boost/log<br>    : source-location ../src<br>    : requirements<br>        &lt;link&gt;shared:&lt;define&gt;BOOST_LOG_DLL<br>
        &lt;logapi&gt;unix:&lt;define&gt;BOOST_LOG_USE_NATIVE_SYSLOG=1<br>        &lt;toolset&gt;msvc:&lt;define&gt;_SCL_SECURE_NO_WARNINGS<br>        &lt;toolset&gt;msvc:&lt;define&gt;_SCL_SECURE_NO_DEPRECATE<br>        &lt;toolset&gt;msvc:&lt;define&gt;_CRT_SECURE_NO_WARNINGS<br>
        &lt;toolset&gt;msvc:&lt;define&gt;_CRT_SECURE_NO_DEPRECATE<br>        &lt;toolset&gt;intel-win:&lt;define&gt;_SCL_SECURE_NO_WARNINGS<br>        &lt;toolset&gt;intel-win:&lt;define&gt;_SCL_SECURE_NO_DEPRECATE<br>        &lt;toolset&gt;intel-win:&lt;define&gt;_CRT_SECURE_NO_WARNINGS<br>
        &lt;toolset&gt;intel-win:&lt;define&gt;_CRT_SECURE_NO_DEPRECATE<br>        &lt;toolset&gt;gcc:&lt;cxxflags&gt;-fno-strict-aliasing  # avoids strict aliasing violations in other Boost components<br>        &lt;toolset&gt;gcc-mingw:&lt;linkflags&gt;-Wl,--enable-auto-import<br>
        &lt;toolset&gt;gcc-cygwin:&lt;linkflags&gt;-Wl,--enable-auto-import<br>        &lt;library&gt;/boost/date_time//boost_date_time<br>        &lt;library&gt;/boost/filesystem//boost_filesystem<br>        &lt;library&gt;/boost/system//boost_system<br>
        &lt;threading&gt;single:&lt;define&gt;BOOST_LOG_NO_THREADS<br>        &lt;threading&gt;multi:&lt;library&gt;/boost/thread//boost_thread<br>    ;<br><br>DEPENDS event_log_backend.cpp : <a href="http://simple_event_log.mc">simple_event_log.mc</a> ;<br>
<br>local BOOST_LOG_COMMON_SRC =<br>    attribute_name.cpp<br>    attribute_set.cpp<br>    attribute_values_view.cpp<br>    code_conversion.cpp<br>    core.cpp<br>    record_ostream.cpp<br>    severity_level.cpp<br>    global_logger_storage.cpp<br>
    named_scope.cpp<br>    process_id.cpp<br>    thread_id.cpp<br>    timer.cpp<br>    exceptions.cpp<br>    default_sink.cpp<br>    text_ostream_backend.cpp<br>    text_file_backend.cpp<br>    syslog_backend.cpp<br>    thread_specific.cpp<br>
    once_block.cpp<br>    timestamp.cpp<br>    threadsafe_queue.cpp<br>    event.cpp<br>    trivial.cpp<br>    ;<br><br>lib boost_log<br>    : ## sources ##<br>        $(BOOST_LOG_COMMON_SRC)<br>      ## winnt sources ##<br>
        <a href="http://simple_event_log.mc">simple_event_log.mc</a><br>        event_log_backend.cpp<br>        debug_output_backend.cpp<br>        light_rw_mutex.cpp<br>        psapi<br>        ws2_32<br>    : ## requirements ##<br>
        &lt;define&gt;BOOST_LOG_BUILDING_THE_LIB=1<br>        &lt;define&gt;BOOST_THREAD_DONT_USE_CHRONO=1 # Don&#39;t introduce false dependency on Boost.Chrono<br>        &lt;logapi&gt;winnt<br>    ;<br><br>lib boost_log<br>
    : ## sources ##<br>        $(BOOST_LOG_COMMON_SRC)<br>      ## unix sources ##<br>    : ## requirements ##<br>        &lt;define&gt;BOOST_LOG_BUILDING_THE_LIB=1<br>        &lt;define&gt;BOOST_THREAD_DONT_USE_CHRONO=1 # Don&#39;t introduce false dependency on Boost.Chrono<br>
        &lt;logapi&gt;unix<br>    ;<br><br><br>local BOOST_LOG_SETUP_COMMON_SRC =<br>    parser_utils.cpp<br>    init_from_stream.cpp<br>    init_from_settings.cpp<br>    filter_parser.cpp<br>    formatter_parser.cpp<br>    default_filter_factory.cpp<br>
    ;<br><br>lib boost_log_setup<br>    : ## sources ##<br>        $(BOOST_LOG_SETUP_COMMON_SRC)<br>      ## winnt sources ##<br>        ws2_32<br>    : ## requirements ##<br>        &lt;link&gt;shared:&lt;define&gt;BOOST_LOG_SETUP_DLL<br>
        &lt;define&gt;BOOST_LOG_SETUP_BUILDING_THE_LIB=1<br>        &lt;define&gt;BOOST_THREAD_DONT_USE_CHRONO=1 # Don&#39;t introduce false dependency on Boost.Chrono<br>        &lt;library&gt;boost_log<br>        &lt;logapi&gt;winnt<br>
    ;<br><br>lib boost_log_setup<br>    : ## sources ##<br>        $(BOOST_LOG_SETUP_COMMON_SRC)<br>      ## unix sources ##<br>    : ## requirements ##<br>        &lt;link&gt;shared:&lt;define&gt;BOOST_LOG_SETUP_DLL<br>        &lt;define&gt;BOOST_LOG_SETUP_BUILDING_THE_LIB=1<br>
        &lt;define&gt;BOOST_THREAD_DONT_USE_CHRONO=1 # Don&#39;t introduce false dependency on Boost.Chrono<br>        &lt;library&gt;boost_log<br>        &lt;logapi&gt;unix<br>    ;<br><br>------------------------------------<br>
<br>My Cmake file in the Log top level directory is<br><br>#<br>#          Copyright Andrey Semashev 2007 - 2012.<br># Distributed under the Boost Software License, Version 1.0.<br>#    (See accompanying file LICENSE_1_0.txt or copy at<br>
#          <a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)<br>#<br><br>import os ;<br>import feature ;<br><br>lib psapi ;<br>lib ws2_32 ;<br><br>local rule default_logapi ( )<br>{<br>
    local api = unix ;<br>    if [ <a href="http://os.name">os.name</a> ] = &quot;NT&quot; { api = winnt ; }<br>    return $(api) ;<br>}<br><br>feature.feature logapi : unix winnt : propagated ;<br>feature.set-default logapi : [ default_logapi ] ;<br>
<br>project boost/log<br>    : source-location ../src<br>    : requirements<br>        &lt;link&gt;shared:&lt;define&gt;BOOST_LOG_DLL<br>        &lt;logapi&gt;unix:&lt;define&gt;BOOST_LOG_USE_NATIVE_SYSLOG=1<br>        &lt;toolset&gt;msvc:&lt;define&gt;_SCL_SECURE_NO_WARNINGS<br>
        &lt;toolset&gt;msvc:&lt;define&gt;_SCL_SECURE_NO_DEPRECATE<br>        &lt;toolset&gt;msvc:&lt;define&gt;_CRT_SECURE_NO_WARNINGS<br>        &lt;toolset&gt;msvc:&lt;define&gt;_CRT_SECURE_NO_DEPRECATE<br>        &lt;toolset&gt;intel-win:&lt;define&gt;_SCL_SECURE_NO_WARNINGS<br>
        &lt;toolset&gt;intel-win:&lt;define&gt;_SCL_SECURE_NO_DEPRECATE<br>        &lt;toolset&gt;intel-win:&lt;define&gt;_CRT_SECURE_NO_WARNINGS<br>        &lt;toolset&gt;intel-win:&lt;define&gt;_CRT_SECURE_NO_DEPRECATE<br>
        &lt;toolset&gt;gcc:&lt;cxxflags&gt;-fno-strict-aliasing  # avoids strict aliasing violations in other Boost components<br>        &lt;toolset&gt;gcc-mingw:&lt;linkflags&gt;-Wl,--enable-auto-import<br>        &lt;toolset&gt;gcc-cygwin:&lt;linkflags&gt;-Wl,--enable-auto-import<br>
        &lt;library&gt;/boost/date_time//boost_date_time<br>        &lt;library&gt;/boost/filesystem//boost_filesystem<br>        &lt;library&gt;/boost/system//boost_system<br>        &lt;threading&gt;single:&lt;define&gt;BOOST_LOG_NO_THREADS<br>
        &lt;threading&gt;multi:&lt;library&gt;/boost/thread//boost_thread<br>    ;<br><br>DEPENDS event_log_backend.cpp : <a href="http://simple_event_log.mc">simple_event_log.mc</a> ;<br><br>local BOOST_LOG_COMMON_SRC =<br>
    attribute_name.cpp<br>    attribute_set.cpp<br>    attribute_values_view.cpp<br>    code_conversion.cpp<br>    core.cpp<br>    record_ostream.cpp<br>    severity_level.cpp<br>    global_logger_storage.cpp<br>    named_scope.cpp<br>
    process_id.cpp<br>    thread_id.cpp<br>    timer.cpp<br>    exceptions.cpp<br>    default_sink.cpp<br>    text_ostream_backend.cpp<br>    text_file_backend.cpp<br>    syslog_backend.cpp<br>    thread_specific.cpp<br>    once_block.cpp<br>
    timestamp.cpp<br>    threadsafe_queue.cpp<br>    event.cpp<br>    trivial.cpp<br>    ;<br><br>lib boost_log<br>    : ## sources ##<br>        $(BOOST_LOG_COMMON_SRC)<br>      ## winnt sources ##<br>        <a href="http://simple_event_log.mc">simple_event_log.mc</a><br>
        event_log_backend.cpp<br>        debug_output_backend.cpp<br>        light_rw_mutex.cpp<br>        psapi<br>        ws2_32<br>    : ## requirements ##<br>        &lt;define&gt;BOOST_LOG_BUILDING_THE_LIB=1<br>        &lt;define&gt;BOOST_THREAD_DONT_USE_CHRONO=1 # Don&#39;t introduce false dependency on Boost.Chrono<br>
        &lt;logapi&gt;winnt<br>    ;<br><br>lib boost_log<br>    : ## sources ##<br>        $(BOOST_LOG_COMMON_SRC)<br>      ## unix sources ##<br>    : ## requirements ##<br>        &lt;define&gt;BOOST_LOG_BUILDING_THE_LIB=1<br>
        &lt;define&gt;BOOST_THREAD_DONT_USE_CHRONO=1 # Don&#39;t introduce false dependency on Boost.Chrono<br>        &lt;logapi&gt;unix<br>    ;<br><br><br>local BOOST_LOG_SETUP_COMMON_SRC =<br>    parser_utils.cpp<br>    init_from_stream.cpp<br>
    init_from_settings.cpp<br>    filter_parser.cpp<br>    formatter_parser.cpp<br>    default_filter_factory.cpp<br>    ;<br><br>lib boost_log_setup<br>    : ## sources ##<br>        $(BOOST_LOG_SETUP_COMMON_SRC)<br>      ## winnt sources ##<br>
        ws2_32<br>    : ## requirements ##<br>        &lt;link&gt;shared:&lt;define&gt;BOOST_LOG_SETUP_DLL<br>        &lt;define&gt;BOOST_LOG_SETUP_BUILDING_THE_LIB=1<br>        &lt;define&gt;BOOST_THREAD_DONT_USE_CHRONO=1 # Don&#39;t introduce false dependency on Boost.Chrono<br>
        &lt;library&gt;boost_log<br>        &lt;logapi&gt;winnt<br>    ;<br><br>lib boost_log_setup<br>    : ## sources ##<br>        $(BOOST_LOG_SETUP_COMMON_SRC)<br>      ## unix sources ##<br>    : ## requirements ##<br>
        &lt;link&gt;shared:&lt;define&gt;BOOST_LOG_SETUP_DLL<br>        &lt;define&gt;BOOST_LOG_SETUP_BUILDING_THE_LIB=1<br>        &lt;define&gt;BOOST_THREAD_DONT_USE_CHRONO=1 # Don&#39;t introduce false dependency on Boost.Chrono<br>
        &lt;library&gt;boost_log<br>        &lt;logapi&gt;unix<br>    ;<br><br>------<br><br>And finally my CMakeList.txt file in the src directory is:<br><br>#<br># Copyright Troy D. Straszheim<br>#<br># Distributed under the Boost Software License, Version 1.0.<br>
# See <a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a><br>#<br><br>boost_add_library(log<br><br>  attribute_set.cpp<br>  attribute_values_view.cpp<br>  slim_string.cpp<br>  code_conversion.cpp<br>
  core.cpp<br>  stream_provider.cpp<br>  severity_level.cpp<br>  global_logger_storage.cpp<br>  named_scope.cpp<br>  process_id.cpp<br>  timer.cpp<br>  exceptions.cpp<br>  sink_frontends.cpp<br>  text_ostream_backend.cpp<br>
  text_file_backend.cpp<br>  syslog_backend.cpp<br>  thread_specific.cpp<br>  trivial.cpp<br><br>  SHARED_COMPILE_FLAGS -DBOOST_LOG_DYN_LINK=1<br>  SHARED_COMPILE_FLAGS -DBOOST_THREAD_DONT_USE_CHRONO=1<br>  )<br><br>boost_add_library(log_setup<br>
<br>  parser_utils.cpp<br>  init_from_stream.cpp<br>  init_from_settings.cpp<br>  filter_parser.cpp<br>  formatter_parser.cpp<br>  default_filter_factory.cpp<br><br>  SHARED_COMPILE_FLAGS -DBOOST_LOG_DYN_LINK=1<br>  SHARED_COMPILE_FLAGS -DBOOST_THREAD_DONT_USE_CHRONO=1<br>
  )<br><br>----<br><br>Thanks for any help that may be rendered.<br><br>Keith<br>

