From ff71612d02c1155162d432212a6ae228493affd0 Mon Sep 17 00:00:00 2001 From: Bartlomiej Cieszkowski Date: Thu, 26 Mar 2020 19:39:33 +0100 Subject: FindBoost: Allow Boost_LIB_PREFIX to be set externally On platforms where our default Boost static library prefix is incorrect, make it possible for users to set it explicitly to work around the problem until FindBoost can be updated. Fixes: #20372 --- Modules/FindBoost.cmake | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake index 38d3bfa..fb8cdeb 100644 --- a/Modules/FindBoost.cmake +++ b/Modules/FindBoost.cmake @@ -155,6 +155,10 @@ setting variables:: used if multiple compatible suffixes should be tested for, in decreasing order of preference. + Boost_LIB_PREFIX - Set to the platform-specific library name + prefix (e.g. "lib") used by Boost static libs. + This is needed only on platforms where CMake + does not know the prefix by default. Boost_ARCHITECTURE - Set to the architecture-specific library suffix (e.g. "-x64"). Default is auto-computed for the C++ compiler in use. @@ -1646,15 +1650,17 @@ endif() # Prefix initialization # ------------------------------------------------------------------------ -# Boost's static libraries use a "lib" prefix on DLL platforms -# to distinguish them from the DLL import libraries. -if (Boost_USE_STATIC_LIBS AND ( - (WIN32 AND NOT CYGWIN) - OR GHSMULTI - )) - set(Boost_LIB_PREFIX "lib") -else() - set(Boost_LIB_PREFIX "") +if ( NOT DEFINED Boost_LIB_PREFIX ) + # Boost's static libraries use a "lib" prefix on DLL platforms + # to distinguish them from the DLL import libraries. + if (Boost_USE_STATIC_LIBS AND ( + (WIN32 AND NOT CYGWIN) + OR GHSMULTI + )) + set(Boost_LIB_PREFIX "lib") + else() + set(Boost_LIB_PREFIX "") + endif() endif() if ( NOT Boost_NAMESPACE ) -- cgit v0.12