project(PackageKit)

remove_sdk_framework(PackageKit
	PRIVATE
)

add_definitions(-fobjc-arc)

set(pk_sources
	src/functions.c
	src/PKAddExtendedAttributesInstallOperation.m
	src/PKAddRestrictedRootFlagInstallOperation.m
	src/PKArchiveDistributionContainer.m
	src/PKArchive.m
	src/PKArchiveProduct.m
	src/PKArchiveSignature.m
	src/PKArchiveSigner.m
	src/PKBOMDirectoryEnumerator.m
	src/PKBOM.m
	src/PKBundleComponent.m
	src/PKBundleComponentVersion.m
	src/PKBundleStorage.m
	src/PKCFBundleStorage.m
	src/PKCleanEFWCacheInstallOperation.m
	src/PKComponent.m
	src/PKDataSizeFormatter.m
	src/PKDataSizeValueTransformer.m
	src/PKDeferredInstallManager.m
	src/PKDistributionContainer.m
	src/PKDistributionChoice.m
	src/PKDistribution.m
	src/PKDistributionPackageReference.m
	src/PKDistributionScript.m
	src/PKDownloader.m
	src/PKDownloaderQueueElement.m
	src/PKDownloaderQueue.m
	src/PKDownloaderSpeedTracker.m
	src/PKDownload.m
	src/PKDYLDCacheInstallOperation.m
	src/PKExtendedAttributeEnumerator.m
	src/PKExtendedAttribute.m
	src/PKExtractInstallOperation.m
	src/PKFileDownload.m
	src/PKFirmwareBundleComponent.m
	src/PKFirmwareBundleComponentModel.m
	src/PKFirmwareInstallationController.m
	src/PKFlatDistributionContainer.m
	src/PKFolderArchive.m
	src/PKFolderArchiveProduct.m
	src/PKFolderArchiveSignature.m
	src/PKCheckError.m
	src/_PKCheckErrorRecoveryAttempter.m
	src/PKInstallableObject.m
	src/PKInstallAnalyzer.m
	src/_PKInstallClientConnection.m
	src/PKInstallClient.m
	src/PKInstallCommitManager.m
	src/PKInstallDaemonClient.m
	src/PKInstallDaemon.m
	src/PKInstallError.m
	src/PKInstallHistory.m
	src/PKInstall.m
	src/PKInstallManifest.m
	src/PKInstallOperationController.m
	src/PKInstallOperation.m
	src/PKInstallRequest.m
	src/PKInstallSandbox.m
	src/PKInstallSandboxManager.m
	src/PKInstallStateHelper.m
	src/PKInstallTask.m
	src/PKJaguarPackage.m
	src/PKKextCacheInstallOperation.m
	src/PKLeopardPackage.m
	src/PKLSRegisterInstallOperation.m
	src/PKMachOWithInfoPlistBundleStorage.m
	src/PKMutableArchive.m
	src/PKMutableBOM.m
	src/PKMutableDistributionContainer.m
	src/PKMutableLeopardPackage.m
	src/PKMutablePackage.m
	src/PKMutableProduct.m
	src/PKMutableReceipt.m
	src/PKMutableSignedContainer.m
	src/PKMutableXARArchive.m
	src/PKNetEnabledProduct.m
	src/PKObsoletionInstallOperation.m
	src/_PKPackageCreationFileDigest.m
	src/PKPackageChecker.m
	src/PKPackageInfo.m
	src/PKPackage.m
	src/PKPackageReference.m
	src/PKPackageRequirements.m
	src/PKPackageSourceManager.m
	src/PKPackageSpecifier.m
	src/PKPatchAndUpdateInstallOperation.m
	src/PKPatchFilesInstallOperation.m
	src/PKPayloadCopier.m
	src/PKPrepareDiskInstallOperation.m
	src/PKPrepareForCommitInstallOperation.m
	src/PKProductArchiver.m
	src/PKProductChecker.m
	src/PKProductInfo.m
	src/PKProduct.m
	src/PKProductUnarchiver.m
	src/PKReceipt.m
	src/PKRelocateComponentsInstallOperation.m
	src/PKRunPackageScriptInstallOperation.m
	src/PKSafariExtensionBundleStorage.m
	src/PKScript.m
	src/PKSecureNetEnabledProduct.m
	src/PKSetupDeferredInstallOperation.m
	src/PKShoveInstallOperation.m
	src/_PKSignedContainerCopyCancelHandler.m
	src/PKSignedContainer.m
	src/PKSigningIdentity.m
	src/PKStreamingProduct.m
	src/PKStreamingXARArchive.m
	src/PKTimeRemainingFormatter.m
	src/PKTimeRemainingValueTransformer.m
	src/PKTrustAdditions.m
	src/PKTrust.m
	src/PKUpdateEFWCacheInstallOperation.m
	src/_PKURLConnectionDelegate.m
	src/PKURLConnection.m
	src/PKURLDownload.m
	src/PKVerifyMASPayloadInstallOperation.m
	src/PKWriteMASReceiptInstallOperation.m
	src/PKWriteReceiptsInstallOperation.m
	src/PKXARArchive.m
	src/PKXARArchiveSignature.m
	src/PKXPCCacheInstallOperation.m
	src/XARDirectoryEnumerator.m
)

set(FRAMEWORK_VERSION "A")

generate_sdk_framework(PackageKit
    VERSION ${FRAMEWORK_VERSION}
    HEADER "include/PackageKit"
	PRIVATE
)

add_framework(PackageKit
	PRIVATE
	VERSION ${FRAMEWORK_VERSION}
	CURRENT_VERSION
	SOURCES
		${pk_sources}
	DEPENDENCIES
		system
		Foundation
		xar
		archive
		lzma
)

