feat: Data-based QuickLook extension for macOS 12+ (#7213)

* feat: Prepate Xcode project skeleton for QuickLookExtension

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* feat: Add initial implementation of QuickLookExtension

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* feat: Add working Data-based QuickLook Preview

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* feat: Add new style.css

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* feat: Copy Localization.strings as is from legacy QuickLook plugin

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fixup: Fix compilation missing NSStringAdditions

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fixup: Apply clang-format, update style.css, fix file name reference

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* feat: Adopt CMake build from legacy QuickLook Plugin

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fixup: Remove counter for debug

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fixup: Make header row for file span across all table

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* feat: Improve style.css

- Use CSS Vars
- Add missing paddings
- Add sticky headers for tables

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Use UTType for Image generation more directly.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Fixup for Xcode project checks in PR

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Fix Copyright and remove Xcode generated comments

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Remove unneeded fields from targets Info.plist template.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Move tx localization to new QuickLook Extension

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Apply code review suggestions

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

---------

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
This commit is contained in:
Dzmitry Neviadomski
2025-10-31 19:30:55 +03:00
committed by GitHub
parent 1d0db31ae7
commit 9b496350a9
30 changed files with 1439 additions and 2 deletions

View File

@@ -448,6 +448,14 @@
ED20B87C28589274005FA6BE /* common_defs.h in Headers */ = {isa = PBXBuildFile; fileRef = ED20B87B28589274005FA6BE /* common_defs.h */; };
ED20B87F285892C5005FA6BE /* crc32_multipliers.h in Headers */ = {isa = PBXBuildFile; fileRef = ED20B87D285892C5005FA6BE /* crc32_multipliers.h */; };
ED20B880285892C5005FA6BE /* crc32_tables.h in Headers */ = {isa = PBXBuildFile; fileRef = ED20B87E285892C5005FA6BE /* crc32_tables.h */; };
ED5E0E7E2CD30B180071433B /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED5E0E7D2CD30B180071433B /* Quartz.framework */; };
ED5E0E8D2CD30B180071433B /* QuickLookExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = ED5E0E7C2CD30B180071433B /* QuickLookExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
ED5E0E9C2CD30E8F0071433B /* PreviewProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = ED5E0E962CD30E8F0071433B /* PreviewProvider.mm */; };
ED5E0E9D2CD3134B0071433B /* libtransmission.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D18389709DEC0030047D688 /* libtransmission.a */; };
ED5E0EA02CD3147B0071433B /* libcurl.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 55869925257074EC00F77A43 /* libcurl.tbd */; };
ED5E0EA22CD314FE0071433B /* style.css in Resources */ = {isa = PBXBuildFile; fileRef = ED5E0EA12CD314FE0071433B /* style.css */; };
ED5E0EFA2CD315720071433B /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = ED5E0EF72CD315720071433B /* Localizable.strings */; };
ED5E0F0F2CD31BC20071433B /* NSStringAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4DE5CC9C0980656F00BE280E /* NSStringAdditions.mm */; };
ED67FB422B70FCE400D8A037 /* settings.cc in Sources */ = {isa = PBXBuildFile; fileRef = ED67FB402B70FCE400D8A037 /* settings.cc */; };
ED67FB432B70FCE400D8A037 /* settings.h in Headers */ = {isa = PBXBuildFile; fileRef = ED67FB412B70FCE400D8A037 /* settings.h */; };
ED86936F2ADAE34D00342B1A /* DefaultAppHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = ED86936E2ADAE34D00342B1A /* DefaultAppHelper.mm */; };
@@ -611,6 +619,20 @@
remoteGlobalIDString = ED91F00B2CBDA5D3008388AA;
remoteInfo = crc32c;
};
ED5E0E8B2CD30B180071433B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
proxyType = 1;
remoteGlobalIDString = ED5E0E7B2CD30B180071433B;
remoteInfo = QuickLookExtension;
};
ED5E0E9E2CD3134B0071433B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
proxyType = 1;
remoteGlobalIDString = 4D18389609DEC0030047D688;
remoteInfo = libtransmission;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -636,6 +658,17 @@
name = "Copy Files to Wrapper";
runOnlyForDeploymentPostprocessing = 0;
};
ED5E0E8E2CD30B180071433B /* Embed Foundation Extensions */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 13;
files = (
ED5E0E8D2CD30B180071433B /* QuickLookExtension.appex in Embed Foundation Extensions */,
);
name = "Embed Foundation Extensions";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
@@ -1387,6 +1420,33 @@
ED20B87B28589274005FA6BE /* common_defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common_defs.h; sourceTree = "<group>"; };
ED20B87D285892C5005FA6BE /* crc32_multipliers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = crc32_multipliers.h; path = lib/crc32_multipliers.h; sourceTree = "<group>"; };
ED20B87E285892C5005FA6BE /* crc32_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = crc32_tables.h; path = lib/crc32_tables.h; sourceTree = "<group>"; };
ED5E0E7C2CD30B180071433B /* QuickLookExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = QuickLookExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
ED5E0E7D2CD30B180071433B /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = System/Library/Frameworks/Quartz.framework; sourceTree = SDKROOT; };
ED5E0E942CD30E8F0071433B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
ED5E0E952CD30E8F0071433B /* PreviewProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PreviewProvider.h; sourceTree = "<group>"; };
ED5E0E962CD30E8F0071433B /* PreviewProvider.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = PreviewProvider.mm; sourceTree = "<group>"; };
ED5E0E972CD30E8F0071433B /* QuickLookExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = QuickLookExtension.entitlements; sourceTree = "<group>"; };
ED5E0EA12CD314FE0071433B /* style.css */ = {isa = PBXFileReference; lastKnownFileType = text.css; path = style.css; sourceTree = "<group>"; };
ED5E0EF92CD315720071433B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0EFC2CD3157E0071433B /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0EFD2CD3158A0071433B /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0EFE2CD315940071433B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0EFF2CD315A90071433B /* eu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = eu; path = eu.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0F002CD315B10071433B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0F012CD315B90071433B /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0F022CD315C50071433B /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0F032CD315CD0071433B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0F042CD315D70071433B /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0F052CD315E10071433B /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0F062CD315EC0071433B /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0F072CD315FE0071433B /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = "<group>"; };
ED5E0F082CD316090071433B /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = "<group>"; };
ED5E0F092CD3161C0071433B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0F0A2CD316240071433B /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0F0B2CD3162E0071433B /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0F0C2CD3163B0071433B /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/Localizable.strings; sourceTree = "<group>"; };
ED5E0F0D2CD316450071433B /* zh-CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-CN"; path = "zh-CN.lproj/Localizable.strings"; sourceTree = "<group>"; };
ED5E0F0E2CD3164D0071433B /* zh-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-TW"; path = "zh-TW.lproj/Localizable.strings"; sourceTree = "<group>"; };
ED67FB402B70FCE400D8A037 /* settings.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = settings.cc; sourceTree = "<group>"; };
ED67FB412B70FCE400D8A037 /* settings.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = settings.h; sourceTree = "<group>"; };
ED86936D2ADAE34D00342B1A /* DefaultAppHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DefaultAppHelper.h; sourceTree = "<group>"; };
@@ -1609,6 +1669,16 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
ED5E0E792CD30B180071433B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
ED5E0E7E2CD30B180071433B /* Quartz.framework in Frameworks */,
ED5E0E9D2CD3134B0071433B /* libtransmission.a in Frameworks */,
ED5E0EA02CD3147B0071433B /* libcurl.tbd in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@@ -1748,6 +1818,7 @@
C3D9062127B7E3C900EF2386 /* libpsl.a */,
C1846B9E294F7A3400A98F30 /* libwildmat.a */,
ED91F00C2CBDA5D3008388AA /* libcrc32c.a */,
ED5E0E7C2CD30B180071433B /* QuickLookExtension.appex */,
);
name = Products;
sourceTree = "<group>";
@@ -1757,6 +1828,7 @@
children = (
A22CEF9E21CDC44400C5C1BA /* Transmission.entitlements */,
4DDBB70A09E16B3200284745 /* GUI */,
ED5E0E992CD30E8F0071433B /* QuickLookExtension */,
A2F35BC315C5A0A100EBF632 /* QuickLookPlugin */,
4D1838DC09DEC04A0047D688 /* libtransmission */,
4DDBB71F09E16BFE00284745 /* CLI */,
@@ -2115,6 +2187,7 @@
A2F35BBB15C5A0A100EBF632 /* QuickLook.framework */,
A2F35BE215C5A7F900EBF632 /* Foundation.framework */,
A2F35BC115C5A0A100EBF632 /* CoreFoundation.framework */,
ED5E0E7D2CD30B180071433B /* Quartz.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -2458,6 +2531,20 @@
path = "third-party/crc32c";
sourceTree = "<group>";
};
ED5E0E992CD30E8F0071433B /* QuickLookExtension */ = {
isa = PBXGroup;
children = (
ED5E0EF72CD315720071433B /* Localizable.strings */,
ED5E0EA12CD314FE0071433B /* style.css */,
ED5E0E942CD30E8F0071433B /* Info.plist */,
ED5E0E952CD30E8F0071433B /* PreviewProvider.h */,
ED5E0E962CD30E8F0071433B /* PreviewProvider.mm */,
ED5E0E972CD30E8F0071433B /* QuickLookExtension.entitlements */,
);
name = QuickLookExtension;
path = macosx/QuickLookExtension;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
@@ -2753,12 +2840,14 @@
8D11072E0486CEB800E47090 /* Frameworks */,
A24F191B0A3A792300C9C145 /* Copy Files to Frameworks */,
A2EB2E7615C8CF1C00FBD5B4 /* Copy Files to Wrapper */,
ED5E0E8E2CD30B180071433B /* Embed Foundation Extensions */,
);
buildRules = (
);
dependencies = (
A2EB2E7515C8CCE900FBD5B4 /* PBXTargetDependency */,
4D1838E609DEC1170047D688 /* PBXTargetDependency */,
ED5E0E8C2CD30B180071433B /* PBXTargetDependency */,
);
name = Transmission;
productInstallPath = "$(HOME)/Applications";
@@ -3030,6 +3119,26 @@
productReference = ED91F00C2CBDA5D3008388AA /* libcrc32c.a */;
productType = "com.apple.product-type.library.static";
};
ED5E0E7B2CD30B180071433B /* QuickLookExtension */ = {
isa = PBXNativeTarget;
buildConfigurationList = ED5E0E932CD30B180071433B /* Build configuration list for PBXNativeTarget "QuickLookExtension" */;
buildPhases = (
ED5E0E782CD30B180071433B /* Sources */,
ED5E0E792CD30B180071433B /* Frameworks */,
ED5E0E7A2CD30B180071433B /* Resources */,
);
buildRules = (
);
dependencies = (
ED5E0E9F2CD3134B0071433B /* PBXTargetDependency */,
);
name = QuickLookExtension;
packageProductDependencies = (
);
productName = QuickLookExtension;
productReference = ED5E0E7C2CD30B180071433B /* QuickLookExtension.appex */;
productType = "com.apple.product-type.app-extension";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -3056,6 +3165,9 @@
ED91F00B2CBDA5D3008388AA = {
CreatedOnToolsVersion = 16.0;
};
ED5E0E7B2CD30B180071433B = {
CreatedOnToolsVersion = 16.1;
};
};
};
buildConfigurationList = 4DF0C59A089918A300DD8943 /* Build configuration list for PBXProject "Transmission" */;
@@ -3090,6 +3202,7 @@
projectRoot = "";
targets = (
8D1107260486CEB800E47090 /* Transmission */,
ED5E0E7B2CD30B180071433B /* QuickLookExtension */,
A2F35BB815C5A0A100EBF632 /* QuickLookPlugin */,
4D18389609DEC0030047D688 /* libtransmission */,
4DDBB71809E16BAE00284745 /* transmissioncli */,
@@ -3162,6 +3275,15 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
ED5E0E7A2CD30B180071433B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
ED5E0EFA2CD315720071433B /* Localizable.strings in Resources */,
ED5E0EA22CD314FE0071433B /* style.css in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
@@ -3658,6 +3780,15 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
ED5E0E782CD30B180071433B /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
ED5E0F0F2CD31BC20071433B /* NSStringAdditions.mm in Sources */,
ED5E0E9C2CD30E8F0071433B /* PreviewProvider.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
@@ -3756,6 +3887,16 @@
target = ED91F00B2CBDA5D3008388AA /* crc32c */;
targetProxy = ED91F3942CBDA9BD008388AA /* PBXContainerItemProxy */;
};
ED5E0E8C2CD30B180071433B /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = ED5E0E7B2CD30B180071433B /* QuickLookExtension */;
targetProxy = ED5E0E8B2CD30B180071433B /* PBXContainerItemProxy */;
};
ED5E0E9F2CD3134B0071433B /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 4D18389609DEC0030047D688 /* libtransmission */;
targetProxy = ED5E0E9E2CD3134B0071433B /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
@@ -4118,6 +4259,33 @@
name = InfoPlist.strings;
sourceTree = "<group>";
};
ED5E0EF72CD315720071433B /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
ED5E0EF92CD315720071433B /* en */,
ED5E0EFC2CD3157E0071433B /* de */,
ED5E0EFD2CD3158A0071433B /* da */,
ED5E0EFE2CD315940071433B /* es */,
ED5E0EFF2CD315A90071433B /* eu */,
ED5E0F002CD315B10071433B /* fr */,
ED5E0F012CD315B90071433B /* he */,
ED5E0F022CD315C50071433B /* hu */,
ED5E0F032CD315CD0071433B /* it */,
ED5E0F042CD315D70071433B /* ja */,
ED5E0F052CD315E10071433B /* nl */,
ED5E0F062CD315EC0071433B /* pl */,
ED5E0F072CD315FE0071433B /* pt-PT */,
ED5E0F082CD316090071433B /* pt-BR */,
ED5E0F092CD3161C0071433B /* ru */,
ED5E0F0A2CD316240071433B /* sv */,
ED5E0F0B2CD3162E0071433B /* tr */,
ED5E0F0C2CD3163B0071433B /* uk */,
ED5E0F0D2CD316450071433B /* zh-CN */,
ED5E0F0E2CD3164D0071433B /* zh-TW */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
@@ -5329,6 +5497,117 @@
};
name = Release;
};
ED5E0E8F2CD30B180071433B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = macosx/QuickLookExtension/QuickLookExtension.entitlements;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
GENERATE_INFOPLIST_FILE = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
.,
);
INFOPLIST_FILE = macosx/QuickLookExtension/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = QuickLookExtension;
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2024 The Transmission Project. All rights reserved.";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@executable_path/../../../../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 1.0;
OTHER_CPLUSPLUSFLAGS = (
"$(inherited)",
"-fmodules",
"-fcxx-modules",
);
PRODUCT_BUNDLE_IDENTIFIER = org.m0k.transmission.QuickLookExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SYSTEM_HEADER_SEARCH_PATHS = (
"$(inherited)",
"third-party/fmt/include",
"third-party/small/include",
);
};
name = Debug;
};
ED5E0E902CD30B180071433B /* Release - Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = macosx/QuickLookExtension/QuickLookExtension.entitlements;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
.,
);
INFOPLIST_FILE = macosx/QuickLookExtension/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = QuickLookExtension;
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2024 The Transmission Project. All rights reserved.";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@executable_path/../../../../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 1.0;
OTHER_CPLUSPLUSFLAGS = (
"$(inherited)",
"-fmodules",
"-fcxx-modules",
);
PRODUCT_BUNDLE_IDENTIFIER = org.m0k.transmission.QuickLookExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SYSTEM_HEADER_SEARCH_PATHS = (
"$(inherited)",
"third-party/fmt/include",
"third-party/small/include",
);
};
name = "Release - Debug";
};
ED5E0E912CD30B180071433B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = macosx/QuickLookExtension/QuickLookExtension.entitlements;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
.,
);
INFOPLIST_FILE = macosx/QuickLookExtension/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = QuickLookExtension;
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2024 The Transmission Project. All rights reserved.";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@executable_path/../../../../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 1.0;
OTHER_CPLUSPLUSFLAGS = (
"$(inherited)",
"-fmodules",
"-fcxx-modules",
);
PRODUCT_BUNDLE_IDENTIFIER = org.m0k.transmission.QuickLookExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SYSTEM_HEADER_SEARCH_PATHS = (
"$(inherited)",
"third-party/fmt/include",
"third-party/small/include",
);
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -5532,6 +5811,16 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
ED5E0E932CD30B180071433B /* Build configuration list for PBXNativeTarget "QuickLookExtension" */ = {
isa = XCConfigurationList;
buildConfigurations = (
ED5E0E8F2CD30B180071433B /* Debug */,
ED5E0E902CD30B180071433B /* Release - Debug */,
ED5E0E912CD30B180071433B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;