summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/FindBoost.cmake24
1 files changed, 21 insertions, 3 deletions
diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index ea13f7a..afad7e0 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -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)