Skip to content

Commit 769633e

Browse files
committed
[FIXUP] for "cmake: Add wallet functionality"
LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1 parent 31e4e62 commit 769633e

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

cmake/optional.cmake

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,16 @@ endif()
111111

112112
if(ENABLE_WALLET)
113113
if(WITH_SQLITE)
114-
include(CrossPkgConfig)
115-
cross_pkg_check_modules(sqlite sqlite3>=3.7.17 IMPORTED_TARGET)
116-
if(sqlite_FOUND)
114+
# TODO: Consider using the FindSQLite3 module after bumping
115+
# the minimum required CMake version up to 3.14+.
116+
if(MSVC)
117+
# Use of the `unofficial::` namespace is a vcpkg package manager convention.
118+
find_package(unofficial-sqlite3 CONFIG)
119+
else()
120+
include(CrossPkgConfig)
121+
cross_pkg_check_modules(sqlite3 sqlite3>=3.7.17 IMPORTED_TARGET)
122+
endif()
123+
if(TARGET unofficial::sqlite3::sqlite3 OR TARGET PkgConfig::sqlite3)
117124
set(WITH_SQLITE ON)
118125
set(USE_SQLITE ON)
119126
elseif(WITH_SQLITE STREQUAL "AUTO")

src/wallet/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,11 @@ if(NOT USE_SQLITE AND NOT USE_BDB)
4444
endif()
4545
if(USE_SQLITE)
4646
target_sources(bitcoin_wallet PRIVATE sqlite.cpp)
47-
target_link_libraries(bitcoin_wallet PRIVATE PkgConfig::sqlite)
47+
target_link_libraries(bitcoin_wallet
48+
PRIVATE
49+
$<TARGET_NAME_IF_EXISTS:unofficial::sqlite3::sqlite3>
50+
$<TARGET_NAME_IF_EXISTS:PkgConfig::sqlite3>
51+
)
4852
endif()
4953
if(USE_BDB)
5054
target_sources(bitcoin_wallet PRIVATE bdb.cpp salvage.cpp)

0 commit comments

Comments
 (0)