From cff8a623a4f50ba5e11546e7aa5bf0e62f488a97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Mon, 5 Dec 2022 11:35:54 +0100 Subject: [PATCH] installer: suffixed lib paths --- cmake/BoostLibInstaller.cmake | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/cmake/BoostLibInstaller.cmake b/cmake/BoostLibInstaller.cmake index ecf1d89..91f5c03 100644 --- a/cmake/BoostLibInstaller.cmake +++ b/cmake/BoostLibInstaller.cmake @@ -105,10 +105,30 @@ function(boost_lib_installer req_boost_version req_boost_libs) set(debug_lib_path "${install_dir}/${stage_dir}/lib/libboost_${lib_name}-${compiler_name}-mt-gd-${lib_postfix}.lib") set(lib_path "${install_dir}/${stage_dir}/lib/libboost_${lib_name}-${compiler_name}-mt-${lib_postfix}.lib") else() + set(LIBSUFFIX "") + if(UNIX) + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(LIBSUFFIX "-x64") + endif() + endif() + + if(APPLE) + # Extract first letter after architecture= (e.g., 'a' from 'architecture=arm') + string(REGEX MATCH "architecture=([a-zA-Z])" _ "${b2Args}") + set(ARCHITECTURE_PREFIX "${CMAKE_MATCH_1}") + + # Extract address model number (e.g., 32_64 from address-model=32_64) + string(REGEX MATCH "address-model=([0-9_]+)" _ "${b2Args}") + set(ADDRESS_MODEL "${CMAKE_MATCH_1}") + + # Build lib suffix like -x64 or -a32 + set(LIBSUFFIX "-${ARCHITECTURE_PREFIX}${ADDRESS_MODEL}") + endif() + if((CMAKE_BUILD_TYPE STREQUAL "Debug") OR (CMAKE_BUILD_TYPE STREQUAL "") OR (NOT DEFINED CMAKE_BUILD_TYPE)) - set(lib_path "${install_dir}/${stage_dir}/lib/libboost_${lib_name}-mt-d.a") + set(lib_path "${install_dir}/${stage_dir}/lib/libboost_${lib_name}-mt-d${LIBSUFFIX}.a") else() - set(lib_path "${install_dir}/${stage_dir}/lib/libboost_${lib_name}-mt.a") + set(lib_path "${install_dir}/${stage_dir}/lib/libboost_${lib_name}-mt${LIBSUFFIX}.a") endif() endif()