BUG: Fixed superfluous and duplicate dirs in Boost_LIBRARY_DIR. Employed workaround for Issue #8378. Resolves Issue #8099

This commit is contained in:
Philip Lowman 2009-01-18 14:40:48 -05:00
parent 7e1ba9d075
commit 5913dc1e88
1 changed files with 21 additions and 3 deletions

View File

@ -211,9 +211,27 @@ MACRO (_Boost_ADJUST_LIB_VARS basename)
ENDIF (Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE)
IF (Boost_${basename}_LIBRARY)
SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY} CACHE FILEPATH "The Boost ${basename} library")
GET_FILENAME_COMPONENT(Boost_LIBRARY_DIRS "${Boost_${basename}_LIBRARY}" PATH)
SET(Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIRS} CACHE FILEPATH "Boost library directory")
IF(WIN32)
# Workaround issue #8378.
SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY} CACHE STRING "The Boost ${basename} library")
ELSE()
SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY} CACHE FILEPATH "The Boost ${basename} library")
ENDIF()
# Remove superfluous "debug" / "optimized" keywords from
# Boost_LIBRARY_DIRS
FOREACH(_boost_my_lib ${Boost_${basename}_LIBRARY})
GET_FILENAME_COMPONENT(_boost_my_lib_path "${_boost_my_lib}" PATH)
LIST(APPEND Boost_LIBRARY_DIRS ${_boost_my_lib_path})
ENDFOREACH()
LIST(REMOVE_DUPLICATES Boost_LIBRARY_DIRS)
IF(WIN32)
# Workaround issue #8378.
SET(Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIRS} CACHE STRING "Boost library directory")
ELSE()
SET(Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIRS} CACHE FILEPATH "Boost library directory")
ENDIF()
SET(Boost_${basename}_FOUND ON CACHE INTERNAL "Whether the Boost ${basename} library found")
ENDIF (Boost_${basename}_LIBRARY)