diff --git a/CMakePresets.json b/CMakePresets.json index 132046bd..7fb70c77 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -104,6 +104,7 @@ "MORPH_BUILD_BANK_EXAMPLE": "ON", "MORPH_BUILD_BANK_GUI": "ON", "MORPH_BUILD_HMAC_EXAMPLES": "ON", + "MORPH_BUILD_HMAC_EXAMPLE_LIBSODIUM": "OFF", "MORPH_BUILD_FORMS_QML": "ON", "MORPH_BUILD_QT": "ON", "MORPH_BUILD_LADDER": "ON", diff --git a/examples/bank/CMakeLists.txt b/examples/bank/CMakeLists.txt index 8bd6798e..b90c8fe5 100644 --- a/examples/bank/CMakeLists.txt +++ b/examples/bank/CMakeLists.txt @@ -43,7 +43,22 @@ FetchContent_Declare(Lightweight GIT_TAG v0.20260625.0 GIT_SHALLOW TRUE ) +# Lightweight's own install() rules unconditionally reference +# $ on WIN32 (its CMakeLists.txt), which CMake +# only allows for linker-created artifacts (DLL/EXE) -- invalid whenever +# Lightweight resolves to a static build (LIGHTWEIGHT_BUILD_SHARED=OFF, +# forced by examples/common/CMakeLists.txt when it fetches Lightweight +# first in the same configure), and it fails at generate time even though +# nothing in this tree ever runs `cmake --install`. Skipping install-rule +# generation for just this FetchContent_MakeAvailable call sidesteps the +# bad generator expression without touching Lightweight's vendored +# CMakeLists.txt -- same fix as examples/common/CMakeLists.txt's own +# Lightweight fetch. +set(_morph_saved_skip_install_rules ${CMAKE_SKIP_INSTALL_RULES}) +set(CMAKE_SKIP_INSTALL_RULES ON) FetchContent_MakeAvailable(Lightweight) +set(CMAKE_SKIP_INSTALL_RULES ${_morph_saved_skip_install_rules}) +unset(_morph_saved_skip_install_rules) # ── Bank domain library ────────────────────────────────────────────────────── add_library(bank_lib STATIC diff --git a/vcpkg.json b/vcpkg.json index bf08b156..ff6c3730 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -6,7 +6,9 @@ "glaze", "catch2", "yaml-cpp", - "libzip" + "libzip", + "openssl", + "sqlite3" ], "builtin-baseline": "c3867e714dd3a51c272826eea77267876517ed99" }