BUG: Do not check for GCC version encoding in filenames on Boost libraries prior to 1.35. Eliminate "lib" prefix except on MSVC.

This commit is contained in:
Philip Lowman 2009-01-19 01:02:46 -05:00
parent 811d8acb6b
commit 6d37f93a38
1 changed files with 41 additions and 32 deletions

View File

@ -469,9 +469,9 @@ ELSE (_boost_IN_CACHE)
# Setting some more suffixes for the library # Setting some more suffixes for the library
SET (Boost_LIB_PREFIX "") SET (Boost_LIB_PREFIX "")
IF ( WIN32 AND Boost_USE_STATIC_LIBS ) if ( MSVC AND Boost_USE_STATIC_LIBS )
SET (Boost_LIB_PREFIX "lib") SET (Boost_LIB_PREFIX "lib")
ENDIF ( WIN32 AND Boost_USE_STATIC_LIBS ) endif()
if (Boost_COMPILER) if (Boost_COMPILER)
set(_boost_COMPILER ${Boost_COMPILER}) set(_boost_COMPILER ${Boost_COMPILER})
@ -481,6 +481,9 @@ ELSE (_boost_IN_CACHE)
endif() endif()
else(Boost_COMPILER) else(Boost_COMPILER)
# Attempt to guess the compiler suffix # Attempt to guess the compiler suffix
# NOTE: this is not perfect yet, if you experience any issues
# please report them and use the Boost_COMPILER variable
# to work around the problems.
if (MSVC90) if (MSVC90)
SET (_boost_COMPILER "-vc90") SET (_boost_COMPILER "-vc90")
elseif (MSVC80) elseif (MSVC80)
@ -500,6 +503,9 @@ ELSE (_boost_IN_CACHE)
set (_boost_COMPILER "-il") set (_boost_COMPILER "-il")
endif() endif()
elseif (MINGW) elseif (MINGW)
if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
SET(_boost_COMPILER "-mgw") # no GCC version encoding prior to 1.34
else()
EXEC_PROGRAM(${CMAKE_CXX_COMPILER} EXEC_PROGRAM(${CMAKE_CXX_COMPILER}
ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
OUTPUT_VARIABLE _boost_COMPILER_VERSION OUTPUT_VARIABLE _boost_COMPILER_VERSION
@ -507,8 +513,12 @@ ELSE (_boost_IN_CACHE)
STRING(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2" STRING(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
_boost_COMPILER_VERSION ${_boost_COMPILER_VERSION}) _boost_COMPILER_VERSION ${_boost_COMPILER_VERSION})
SET (_boost_COMPILER "-mgw${_boost_COMPILER_VERSION}") SET (_boost_COMPILER "-mgw${_boost_COMPILER_VERSION}")
endif()
elseif (UNIX) elseif (UNIX)
if (CMAKE_COMPILER_IS_GNUCC) if (CMAKE_COMPILER_IS_GNUCC)
if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
SET(_boost_COMPILER "-gcc") # no GCC version encoding prior to 1.34
else()
# Determine which version of GCC we have. # Determine which version of GCC we have.
EXEC_PROGRAM(${CMAKE_CXX_COMPILER} EXEC_PROGRAM(${CMAKE_CXX_COMPILER}
ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
@ -535,6 +545,7 @@ ELSE (_boost_IN_CACHE)
ELSE() ELSE()
SET (_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}") SET (_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}")
ENDIF() ENDIF()
endif()
endif (CMAKE_COMPILER_IS_GNUCC) endif (CMAKE_COMPILER_IS_GNUCC)
endif() endif()
if(Boost_DEBUG) if(Boost_DEBUG)
@ -544,7 +555,6 @@ ELSE (_boost_IN_CACHE)
endif(Boost_COMPILER) endif(Boost_COMPILER)
SET (_boost_MULTITHREADED "-mt") SET (_boost_MULTITHREADED "-mt")
if( NOT Boost_USE_MULTITHREADED ) if( NOT Boost_USE_MULTITHREADED )
set (_boost_MULTITHREADED "") set (_boost_MULTITHREADED "")
endif() endif()
@ -564,7 +574,6 @@ ELSE (_boost_IN_CACHE)
ENDIF( Boost_USE_STATIC_LIBS ) ENDIF( Boost_USE_STATIC_LIBS )
ENDIF(WIN32) ENDIF(WIN32)
SET (_boost_ABI_TAG "${_boost_ABI_TAG}d") SET (_boost_ABI_TAG "${_boost_ABI_TAG}d")
if(Boost_DEBUG) if(Boost_DEBUG)
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
"_boost_STATIC_TAG = ${_boost_STATIC_TAG}") "_boost_STATIC_TAG = ${_boost_STATIC_TAG}")