aboutsummaryrefslogtreecommitdiffstats
path: root/host/cmake/Modules/UHDBoost.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'host/cmake/Modules/UHDBoost.cmake')
-rw-r--r--host/cmake/Modules/UHDBoost.cmake26
1 files changed, 20 insertions, 6 deletions
diff --git a/host/cmake/Modules/UHDBoost.cmake b/host/cmake/Modules/UHDBoost.cmake
index 5ebb4acef..eed94cbfe 100644
--- a/host/cmake/Modules/UHDBoost.cmake
+++ b/host/cmake/Modules/UHDBoost.cmake
@@ -118,12 +118,26 @@ endif(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")
# special Microsoft Visual C handling
if(MSVC)
- set(BOOST_ALL_DYN_LINK "${BOOST_ALL_DYN_LINK}" CACHE BOOL "boost enable dynamic linking")
- if(BOOST_ALL_DYN_LINK)
- add_definitions(-DBOOST_ALL_DYN_LINK) #setup boost auto-linking in msvc
- else(BOOST_ALL_DYN_LINK)
- set(UHD_BOOST_REQUIRED_COMPONENTS) #empty components list for static link
- endif(BOOST_ALL_DYN_LINK)
+ if(VCPKG_TARGET_TRIPLET)
+ message(STATUS " VCPKG Libs")
+ string(FIND ${VCPKG_TARGET_TRIPLET} "static" vcpkg_check_static)
+ string(FIND ${VCPKG_TARGET_TRIPLET} "static-md" vcpkg_check_static_md)
+ if((NOT vcpkg_check_static EQUAL -1) AND vcpkg_check_static_md EQUAL -1)
+ # Statically linked CRT
+ message(STATUS " VCPKG static CRT triplet found. Configuring compiler flags.")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
+ endif((NOT vcpkg_check_static EQUAL -1) AND vcpkg_check_static_md EQUAL -1)
+ else(VCPKG_TARGET_TRIPLET)
+ set(BOOST_ALL_DYN_LINK "${BOOST_ALL_DYN_LINK}" CACHE BOOL "boost enable dynamic linking")
+ if(BOOST_ALL_DYN_LINK)
+ message(STATUS " Dynamic Libs")
+ add_definitions(-DBOOST_ALL_DYN_LINK) #setup boost auto-linking in msvc
+ else(BOOST_ALL_DYN_LINK)
+ message(STATUS " Static Libs")
+ set(UHD_BOOST_REQUIRED_COMPONENTS) #empty components list for static link
+ endif(BOOST_ALL_DYN_LINK)
+ endif(VCPKG_TARGET_TRIPLET)
endif(MSVC)
# Starting in CMake 3.15.0, if policy 'CMP0093' is available and set