[CMake] findBoost says it finds static unit testing libraries, but does not set them
Philip Lowman
philip at yhbt.com
Fri Apr 17 23:56:02 EDT 2009
On Thu, Apr 16, 2009 at 4:27 AM, Jonatan Bijl <jonatan.bijl at tba.nl> wrote:
> Boost_Unit_test_framework_library is not in the list.
>
>
>
> About the filenames: these libs are the result of compiling boost 1.38.0
> with cmake under linux. (Cmake for boost is still experimental). It might be
> that the problem is in boost’s Cmakelists.
>
That is definitely a bug that needs to be fixed in Boost's experimental
CMake build.
If you rename the library to "libboost_unit_test_framework-mt-sd.a",
however, it's still not going to solve your problem.
The 's' tag is for static C++ runtime libraries and for some reason it's
enabled on Windows in FindBoost.cmake when you set Boost_USE_STATIC_LIBS,
but not on other platforms. This has always seemed a bit weird to me and
I've wondered why this is.
SET( _boost_STATIC_TAG "")
set( _boost_ABI_TAG "")
IF (WIN32)
IF(MSVC)
SET (_boost_ABI_TAG "g")
ENDIF(MSVC)
IF( Boost_USE_STATIC_LIBS )
SET( _boost_STATIC_TAG "-s")
ENDIF( Boost_USE_STATIC_LIBS )
ENDIF(WIN32)
SET (_boost_ABI_TAG "${_boost_ABI_TAG}d")
if(Boost_DEBUG)
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
"_boost_STATIC_TAG = ${_boost_STATIC_TAG}")
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
"_boost_ABI_TAG = ${_boost_ABI_TAG}")
endif()
--
Philip Lowman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090417/ea4a3080/attachment-0001.htm>
More information about the CMake
mailing list