diff --git a/.github/actions/checkout/action.yml b/.github/actions/checkout/action.yml index 6932843965..28dc2aa894 100644 --- a/.github/actions/checkout/action.yml +++ b/.github/actions/checkout/action.yml @@ -11,6 +11,7 @@ runs: # This repository can't do depth. git -c protocol.version=2 submodule update --init 3rd-party/xz-decoder/xz-embedded git -c protocol.version=2 submodule update --init --force --depth=1 --recursive + git -C 3rd-party/vcpkg fetch --unshallow - name: Fetch tags shell: bash diff --git a/.gitmodules b/.gitmodules index 88b666a623..cf80a1d46b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,9 +14,6 @@ [submodule "3rd-party/scope_guard"] path = 3rd-party/scope_guard url = https://github.com/ricab/scope_guard.git -[submodule "3rd-party/fmt"] - path = 3rd-party/fmt - url = https://github.com/fmtlib/fmt.git [submodule "3rd-party/vcpkg"] path = 3rd-party/vcpkg url = https://github.com/microsoft/vcpkg diff --git a/3rd-party/CMakeLists.txt b/3rd-party/CMakeLists.txt index a8cbaa672a..b0a5fa7f0b 100644 --- a/3rd-party/CMakeLists.txt +++ b/3rd-party/CMakeLists.txt @@ -89,12 +89,6 @@ target_link_libraries(yaml INTERFACE # libssh config add_subdirectory(libssh) -# fmt header only library -add_library(fmt INTERFACE) -target_compile_definitions(fmt INTERFACE FMT_HEADER_ONLY=1) -target_include_directories(fmt INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/fmt/include) - # premock header only library to mock c-functions add_library(premock INTERFACE) target_include_directories(premock INTERFACE diff --git a/3rd-party/fmt b/3rd-party/fmt deleted file mode 160000 index 0c9fce2ffe..0000000000 --- a/3rd-party/fmt +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0c9fce2ffefecfdce794e1859584e25877b7b592 diff --git a/CMakeLists.txt b/CMakeLists.txt index 473c92257c..fdea0d490a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -138,6 +138,10 @@ find_package(OpenSSL REQUIRED) # gRPC config find_package(gRPC CONFIG REQUIRED) +# fmt config +find_package(fmt CONFIG REQUIRED) +# targets: fmt::fmt, fmt::fmt-header-only + # Needs to be here before we set further compilation options add_subdirectory(3rd-party) diff --git a/src/cert/CMakeLists.txt b/src/cert/CMakeLists.txt index ce0b3e101d..b88e640b49 100644 --- a/src/cert/CMakeLists.txt +++ b/src/cert/CMakeLists.txt @@ -28,7 +28,7 @@ target_compile_options(cert PRIVATE ) target_link_libraries(cert - fmt + fmt::fmt-header-only utils OpenSSL::SSL OpenSSL::Crypto diff --git a/src/client/cli/CMakeLists.txt b/src/client/cli/CMakeLists.txt index 052631b2e1..b8aa3ba804 100644 --- a/src/client/cli/CMakeLists.txt +++ b/src/client/cli/CMakeLists.txt @@ -19,7 +19,7 @@ add_library(client STATIC target_link_libraries(client client_platform commands - fmt + fmt::fmt-header-only formatter rpc scope_guard diff --git a/src/client/cli/formatter/CMakeLists.txt b/src/client/cli/formatter/CMakeLists.txt index 5afde760a8..43abd0beb9 100644 --- a/src/client/cli/formatter/CMakeLists.txt +++ b/src/client/cli/formatter/CMakeLists.txt @@ -21,7 +21,7 @@ add_library(formatter STATIC target_link_libraries(formatter client_common - fmt + fmt::fmt-header-only rpc settings utils diff --git a/src/client/common/CMakeLists.txt b/src/client/common/CMakeLists.txt index 49a5d2b363..69f9eabfaa 100644 --- a/src/client/common/CMakeLists.txt +++ b/src/client/common/CMakeLists.txt @@ -19,7 +19,7 @@ add_library(client_common STATIC target_link_libraries(client_common cert - fmt + fmt::fmt-header-only platform rpc settings diff --git a/src/daemon/CMakeLists.txt b/src/daemon/CMakeLists.txt index 826c91895e..38cb4f1791 100644 --- a/src/daemon/CMakeLists.txt +++ b/src/daemon/CMakeLists.txt @@ -34,7 +34,7 @@ include_directories(daemon target_link_libraries(daemon cert delayed_shutdown - fmt + fmt::fmt-header-only logger petname platform @@ -55,7 +55,7 @@ add_library(delayed_shutdown STATIC ${CMAKE_SOURCE_DIR}/include/multipass/delayed_shutdown_timer.h) target_link_libraries(delayed_shutdown - fmt + fmt::fmt-header-only logger ssh_common Qt6::Core @@ -64,7 +64,7 @@ target_link_libraries(delayed_shutdown add_executable(multipassd daemon_main.cpp) target_link_libraries(multipassd - fmt + fmt::fmt-header-only daemon) install(TARGETS multipassd diff --git a/src/iso/CMakeLists.txt b/src/iso/CMakeLists.txt index 82a8fc1261..2261281c1e 100644 --- a/src/iso/CMakeLists.txt +++ b/src/iso/CMakeLists.txt @@ -18,6 +18,6 @@ add_library(iso STATIC cloud_init_iso.cpp) target_link_libraries(iso - fmt + fmt::fmt-header-only utils Qt6::Core) diff --git a/src/logging/CMakeLists.txt b/src/logging/CMakeLists.txt index dc0e1be84f..dbd901edfd 100644 --- a/src/logging/CMakeLists.txt +++ b/src/logging/CMakeLists.txt @@ -19,5 +19,5 @@ add_library(logger STATIC standard_logger.cpp) target_link_libraries(logger - fmt + fmt::fmt-header-only Qt6::Core) diff --git a/src/network/CMakeLists.txt b/src/network/CMakeLists.txt index afafe9f79c..6ff29717d4 100644 --- a/src/network/CMakeLists.txt +++ b/src/network/CMakeLists.txt @@ -25,7 +25,7 @@ add_library(ip_address STATIC ip_address.cpp) target_link_libraries(network - fmt + fmt::fmt-header-only logger utils Qt6::Core diff --git a/src/platform/backends/libvirt/CMakeLists.txt b/src/platform/backends/libvirt/CMakeLists.txt index 184ac8c17d..2d2f667e85 100644 --- a/src/platform/backends/libvirt/CMakeLists.txt +++ b/src/platform/backends/libvirt/CMakeLists.txt @@ -25,7 +25,7 @@ function(add_libvirt_target TARGET_NAME) target_include_directories(${TARGET_NAME} PRIVATE ${LIBVIRT_INCLUDE_DIRS}) target_link_libraries(${TARGET_NAME} daemon - fmt + fmt::fmt-header-only ip_address qemu_img_utils Qt6::Core diff --git a/src/platform/backends/lxd/CMakeLists.txt b/src/platform/backends/lxd/CMakeLists.txt index d94582219e..f9e0db518c 100644 --- a/src/platform/backends/lxd/CMakeLists.txt +++ b/src/platform/backends/lxd/CMakeLists.txt @@ -23,7 +23,7 @@ add_library(lxd_backend STATIC target_link_libraries(lxd_backend Qt6::Core Qt6::Network - fmt + fmt::fmt-header-only ip_address logger network diff --git a/src/platform/backends/qemu/CMakeLists.txt b/src/platform/backends/qemu/CMakeLists.txt index 868ffa540a..ffc18c737c 100644 --- a/src/platform/backends/qemu/CMakeLists.txt +++ b/src/platform/backends/qemu/CMakeLists.txt @@ -34,7 +34,7 @@ add_library(qemu_backend STATIC ${CMAKE_SOURCE_DIR}/include/multipass/process/process.h) target_link_libraries(qemu_backend - fmt + fmt::fmt-header-only ip_address logger qemu_img_utils diff --git a/src/platform/backends/shared/linux/CMakeLists.txt b/src/platform/backends/shared/linux/CMakeLists.txt index cb27718dfc..9692569698 100644 --- a/src/platform/backends/shared/linux/CMakeLists.txt +++ b/src/platform/backends/shared/linux/CMakeLists.txt @@ -25,7 +25,7 @@ function(add_target TARGET_NAME) target_link_libraries(${TARGET_NAME} apparmor - fmt + fmt::fmt-header-only scope_guard shared utils diff --git a/src/platform/backends/shared/qemu_img_utils/CMakeLists.txt b/src/platform/backends/shared/qemu_img_utils/CMakeLists.txt index 91f96a9eb0..eb98ff29bd 100644 --- a/src/platform/backends/shared/qemu_img_utils/CMakeLists.txt +++ b/src/platform/backends/shared/qemu_img_utils/CMakeLists.txt @@ -16,5 +16,5 @@ add_library(qemu_img_utils STATIC EXCLUDE_FROM_ALL qemu_img_utils.cpp) target_link_libraries(qemu_img_utils - fmt + fmt::fmt-header-only Qt6::Core) diff --git a/src/platform/update/CMakeLists.txt b/src/platform/update/CMakeLists.txt index aa371fb774..6c5800fb3b 100644 --- a/src/platform/update/CMakeLists.txt +++ b/src/platform/update/CMakeLists.txt @@ -20,7 +20,7 @@ add_library(update STATIC target_link_libraries(update network - fmt + fmt::fmt-header-only rpc semver Qt6::Core) diff --git a/src/settings/CMakeLists.txt b/src/settings/CMakeLists.txt index fa38980474..394f4e871b 100644 --- a/src/settings/CMakeLists.txt +++ b/src/settings/CMakeLists.txt @@ -21,6 +21,6 @@ add_library(settings STATIC settings.cpp) target_link_libraries(settings - fmt + fmt::fmt-header-only utils Qt6::Core) diff --git a/src/ssh/CMakeLists.txt b/src/ssh/CMakeLists.txt index 385942ad9d..c7728370c8 100644 --- a/src/ssh/CMakeLists.txt +++ b/src/ssh/CMakeLists.txt @@ -21,7 +21,7 @@ function(add_ssh_target TARGET_NAME) ssh_session.cpp) target_link_libraries(${TARGET_NAME} - fmt + fmt::fmt-header-only libssh utils Qt6::Core) @@ -40,7 +40,7 @@ function(add_sftp_client_target TARGET_NAME) ssh_session.cpp) target_link_libraries(${TARGET_NAME} - fmt + fmt::fmt-header-only libssh utils Qt6::Core) @@ -58,7 +58,7 @@ function(add_ssh_client_target TARGET_NAME) target_link_libraries(${TARGET_NAME} console - fmt + fmt::fmt-header-only libssh utils Qt6::Core) diff --git a/src/sshfs_mount/CMakeLists.txt b/src/sshfs_mount/CMakeLists.txt index 80476d000f..75b4949d17 100644 --- a/src/sshfs_mount/CMakeLists.txt +++ b/src/sshfs_mount/CMakeLists.txt @@ -25,7 +25,7 @@ function(add_sshfs_mount_target TARGET_NAME) ${CMAKE_SOURCE_DIR}/include/multipass/sshfs_mount/sshfs_mount_handler.h) target_link_libraries(${TARGET_NAME} - fmt + fmt::fmt-header-only logger platform ssh diff --git a/src/utils/CMakeLists.txt b/src/utils/CMakeLists.txt index 006c198678..1d4cd6171e 100644 --- a/src/utils/CMakeLists.txt +++ b/src/utils/CMakeLists.txt @@ -28,7 +28,7 @@ function(add_target TARGET_NAME) target_link_libraries(${TARGET_NAME} cert - fmt + fmt::fmt-header-only logger ssh_common ssh diff --git a/src/xz_decoder/CMakeLists.txt b/src/xz_decoder/CMakeLists.txt index fb0f93ee56..d686262f63 100644 --- a/src/xz_decoder/CMakeLists.txt +++ b/src/xz_decoder/CMakeLists.txt @@ -19,6 +19,6 @@ add_library(xz_image_decoder STATIC target_link_libraries(xz_image_decoder xz-embedded - fmt + fmt::fmt-header-only rpc Qt6::Core) diff --git a/vcpkg.json b/vcpkg.json index 558d9f3e77..b1a6b72d8b 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -2,6 +2,13 @@ "builtin-baseline": "6f29f12e82a8293156836ad81cc9bf5af41fe836", "dependencies": [ "poco", - "grpc" + "grpc", + "fmt" + ], + "overrides": [ + { + "name": "fmt", + "version": "11.0.2" + } ] }