@@ -45,7 +45,14 @@ include (GNUInstallDirs)
4545
4646include (LTO)
4747include (ImportBSON)
48- include (ImportDFP)
48+
49+ option (MONGOCRYPT_ENABLE_DECIMAL128 "Enable extended support for Decimal128" ON )
50+ mark_as_advanced (MONGOCRYPT_ENABLE_DECIMAL128)
51+ set (maybe_dfp_library)
52+ if (MONGOCRYPT_ENABLE_DECIMAL128)
53+ include (ImportDFP)
54+ set (maybe_dfp_library mongocrypt::intel_dfp)
55+ endif ()
4956
5057if (USE_SHARED_LIBBSON AND ENABLE_BUILD_FOR_PPA)
5158 message (FATAL_ERROR "PPA build requires static linking to libbson" )
@@ -281,7 +288,7 @@ target_link_libraries (
281288 kms_message_static
282289 $<BUILD_INTERFACE:mongo::mlib>
283290 PUBLIC
284- mongocrypt::intel_dfp
291+ ${maybe_dfp_library}
285292 ${CMAKE_DL_LIBS}
286293 )
287294
@@ -339,7 +346,7 @@ target_link_libraries (
339346 kms_message_static
340347 $<BUILD_INTERFACE:mongo::mlib>
341348 PUBLIC
342- mongocrypt::intel_dfp
349+ ${maybe_dfp_library}
343350 ${CMAKE_THREAD_LIBS_INIT}
344351 ${CMAKE_DL_LIBS}
345352 )
@@ -358,7 +365,7 @@ if (ENABLE_BUILD_FOR_PPA)
358365 endif ()
359366 set (PKG_CONFIG_STATIC_LIBS "${PKG_CONFIG_STATIC_LIBS} -pthread" )
360367endif ()
361- if (MONGOCRYPT_DFP_DIR STREQUAL "USE-SYSTEM" )
368+ if (MONGOCRYPT_DFP_DIR STREQUAL "USE-SYSTEM" AND MONGOCRYPT_ENABLE_DECIMAL128 )
362369 get_property (SYSTEM_DFP_LOC TARGET intel_dfp PROPERTY IMPORTED_LOCATION )
363370 set (PKG_CONFIG_STATIC_LIBS "${PKG_CONFIG_STATIC_LIBS} ${SYSTEM_DFP_LOC} " )
364371endif ()
@@ -539,7 +546,7 @@ if ("cxx_relaxed_constexpr" IN_LIST CMAKE_CXX_COMPILE_FEATURES)
539546 target_link_libraries ("${exe_name} " PRIVATE
540547 mongocrypt
541548 mongo::mlib
542- mongocrypt::intel_dfp
549+ ${maybe_dfp_library}
543550 Threads::Threads
544551 _mongocrypt::libbson_for_static
545552 )
@@ -634,7 +641,7 @@ if (ENABLE_BUILD_FOR_PPA)
634641 endif ()
635642 set (PKG_CONFIG_LIBS "${PKG_CONFIG_LIBS} -pthread" )
636643endif ()
637- if (MONGOCRYPT_DFP_DIR STREQUAL "USE-SYSTEM" )
644+ if (MONGOCRYPT_DFP_DIR STREQUAL "USE-SYSTEM" AND MONGOCRYPT_ENABLE_DECIMAL128 )
638645 get_property (SYSTEM_DFP_LOC TARGET intel_dfp PROPERTY IMPORTED_LOCATION )
639646 set (PKG_CONFIG_LIBS "${PKG_CONFIG_LIBS} ${SYSTEM_DFP_LOC} " )
640647endif ()
0 commit comments