diff --git a/CMakeLists.txt b/CMakeLists.txt index 38c0e112b..560d60e4b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -623,6 +623,17 @@ tr_add_external_auto_library(FMT fmt CMAKE_ARGS -DFMT_INSTALL=OFF -DFMT_SYSTEM_HEADERS=ON) +if(NOT TARGET transmission::fmt-header-only) + add_library(transmission::fmt-header-only INTERFACE IMPORTED) + target_link_libraries(transmission::fmt-header-only + INTERFACE + fmt::fmt-header-only) + target_compile_definitions(transmission::fmt-header-only + INTERFACE + FMT_USE_EXCEPTIONS=0 # {fmt} >= 11.2.0 + FMT_EXCEPTIONS=0 # {fmt} < 11.2.0 + ) +endif() tr_add_external_auto_library(SIGSLOT PalSigslot SUBPROJECT diff --git a/cli/CMakeLists.txt b/cli/CMakeLists.txt index bb7cd8d7a..ac0068495 100644 --- a/cli/CMakeLists.txt +++ b/cli/CMakeLists.txt @@ -7,7 +7,7 @@ target_sources(${TR_NAME}-cli target_link_libraries(${TR_NAME}-cli PRIVATE ${TR_NAME} - fmt::fmt-header-only) + transmission::fmt-header-only) tr_win32_app_info(${TR_NAME}-cli "Transmission Utility ('cli', obsolete)" diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt index 0f138559b..55d3158da 100644 --- a/daemon/CMakeLists.txt +++ b/daemon/CMakeLists.txt @@ -34,7 +34,7 @@ target_link_libraries(${TR_NAME}-daemon PRIVATE ${TR_NAME} libevent::core - fmt::fmt-header-only + transmission::fmt-header-only $<$:${SYSTEMD_LIBRARIES}>) tr_win32_app_info(${TR_NAME}-daemon diff --git a/gtk/CMakeLists.txt b/gtk/CMakeLists.txt index 2bf499af3..169157781 100644 --- a/gtk/CMakeLists.txt +++ b/gtk/CMakeLists.txt @@ -200,7 +200,7 @@ target_link_libraries(${TR_NAME}-gtk ${TR_NAME}-app ${TR_NAME} transmission::gtk_impl - fmt::fmt-header-only + transmission::fmt-header-only $<$:${APPINDICATOR_LIBRARIES}>) if(MSVC) diff --git a/libtransmission-app/CMakeLists.txt b/libtransmission-app/CMakeLists.txt index 9e0d59916..a0c5118df 100644 --- a/libtransmission-app/CMakeLists.txt +++ b/libtransmission-app/CMakeLists.txt @@ -22,4 +22,4 @@ target_include_directories(${LIBNAME} target_link_libraries(${LIBNAME} PUBLIC - fmt::fmt-header-only) + transmission::fmt-header-only) diff --git a/libtransmission/CMakeLists.txt b/libtransmission/CMakeLists.txt index 355e82fae..540631040 100644 --- a/libtransmission/CMakeLists.txt +++ b/libtransmission/CMakeLists.txt @@ -223,8 +223,6 @@ target_compile_definitions(${TR_NAME} $<$:USE_SYSTEM_B64> $<$:HAVE_SO_REUSEPORT=1> PUBLIC - FMT_USE_EXCEPTIONS=0 # {fmt} >= 11.2.0 - FMT_EXCEPTIONS=0 # {fmt} < 11.2.0 $<$:WITH_CCRYPTO> $<$:WITH_MBEDTLS> $<$:WITH_OPENSSL> @@ -284,7 +282,7 @@ target_link_libraries(${TR_NAME} $<$:atomic> PUBLIC transmission::crypto_impl - fmt::fmt-header-only + transmission::fmt-header-only Pal::Sigslot transmission::small libevent::core diff --git a/macosx/CMakeLists.txt b/macosx/CMakeLists.txt index a704e1136..d4f6bed53 100644 --- a/macosx/CMakeLists.txt +++ b/macosx/CMakeLists.txt @@ -408,7 +408,7 @@ find_library(SPARKLE_FRAMEWORK Sparkle target_link_libraries(${TR_NAME}-mac PRIVATE ${TR_NAME} - fmt::fmt-header-only + transmission::fmt-header-only vdkqueue ${SPARKLE_FRAMEWORK} "-framework AppKit" diff --git a/tests/libtransmission/CMakeLists.txt b/tests/libtransmission/CMakeLists.txt index 765a87550..023c547f2 100644 --- a/tests/libtransmission/CMakeLists.txt +++ b/tests/libtransmission/CMakeLists.txt @@ -83,7 +83,7 @@ target_link_libraries(libtransmission-test ${TR_NAME} GTest::gtest_main dht::dht - fmt::fmt-header-only + transmission::fmt-header-only libevent::core WideInteger::WideInteger) diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt index 9492432e6..f17bd8e50 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@ -9,7 +9,7 @@ foreach(P create edit remote show) PRIVATE ${TR_NAME} CURL::libcurl - fmt::fmt-header-only + transmission::fmt-header-only libevent::core) tr_win32_app_info(${TR_NAME}-${P}