YapDatabase/YapDatabase.podspec
2018-07-22 12:59:03 -04:00

241 lines
9.9 KiB
Ruby

Pod::Spec.new do |s|
s.name = "YapDatabase"
s.version = "3.1.1"
s.summary = "A key/value store built atop sqlite for iOS & Mac."
s.homepage = "https://github.com/yapstudios/YapDatabase"
s.license = 'MIT'
s.author = {
"Robbie Hanson" => "robbiehanson@deusty.com"
}
s.source = {
:git => "https://github.com/yapstudios/YapDatabase.git",
:tag => s.version.to_s
}
s.osx.deployment_target = '10.10'
s.ios.deployment_target = '8.0'
s.tvos.deployment_target = '9.0'
s.watchos.deployment_target = '2.0'
s.libraries = 'c++'
s.default_subspecs = 'Standard'
# There are 2 different versions you can choose from:
# "Standard" uses the builtin version of sqlite3
# "SQLCipher" uses a version of sqlite3 compiled with SQLCipher included
#
# If you want to encrypt your database, you should choose "SQLCipher"
s.subspec 'Standard' do |ss|
ss.subspec 'Core' do |ssc|
ssc.xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DYAP_STANDARD_SQLITE' }
ssc.library = 'sqlite3'
ssc.dependency 'CocoaLumberjack'
ssc.source_files = 'YapDatabase/*.{h,m,mm,c}', 'YapDatabase/{Internal,Utilities}/*.{h,m,mm,c}', 'YapDatabase/Extensions/Protocol/**/*.{h,m,mm,c}'
ssc.private_header_files = 'YapDatabase/Internal/*.h', 'YapDatabase/Extensions/Protocol/Internal/*.h'
end
ss.subspec 'Extensions' do |sse|
sse.dependency 'YapDatabase/Standard/Core'
sse.subspec 'View' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/View/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/View/Internal/*.h'
end
sse.subspec 'AutoView' do |ssee|
ssee.dependency 'YapDatabase/Standard/Extensions/View'
ssee.source_files = 'YapDatabase/Extensions/AutoView/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/AutoView/Internal/*.h'
end
sse.subspec 'ManualView' do |ssee|
ssee.dependency 'YapDatabase/Standard/Extensions/View'
ssee.source_files = 'YapDatabase/Extensions/ManualView/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/ManualView/Internal/*.h'
end
sse.subspec 'SecondaryIndex' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/SecondaryIndex/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/SecondaryIndex/Internal/*.h'
end
sse.subspec 'CrossProcessNotification' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/CrossProcessNotification/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/CrossProcessNotification/Internal/*.h'
end
sse.subspec 'Relationships' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/Relationships/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/Relationships/Internal/*.h'
end
sse.subspec 'FullTextSearch' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/FullTextSearch/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/FullTextSearch/Internal/*.h'
end
sse.subspec 'Hooks' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/Hooks/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/Hooks/Internal/*.h'
end
sse.subspec 'FilteredView' do |ssee|
ssee.dependency 'YapDatabase/Standard/Extensions/View'
ssee.source_files = 'YapDatabase/Extensions/FilteredView/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/FilteredView/Internal/*.h'
end
sse.subspec 'SearchResultsView' do |ssee|
ssee.dependency 'YapDatabase/Standard/Extensions/AutoView'
ssee.dependency 'YapDatabase/Standard/Extensions/FullTextSearch'
ssee.source_files = 'YapDatabase/Extensions/SearchResultsView/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/SearchResultsView/Internal/*.h'
end
sse.subspec 'CloudKit' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/CloudKit/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/CloudKit/Internal/*.h'
end
sse.subspec 'RTreeIndex' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/RTreeIndex/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/RTreeIndex/Internal/*.h'
end
sse.subspec 'ConnectionProxy' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/ConnectionProxy/**/*.{h,m,mm,c}'
end
sse.subspec 'ConnectionPool' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/ConnectionPool/**/*.{h,m,mm,c}'
end
sse.subspec 'ActionManager' do |ssee|
ssee.osx.framework = 'SystemConfiguration'
ssee.ios.framework = 'SystemConfiguration'
ssee.tvos.framework = 'SystemConfiguration'
ssee.dependency 'YapDatabase/Standard/Extensions/AutoView'
ssee.source_files = 'YapDatabase/Extensions/ActionManager/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/ActionManager/Internal/*.h'
end
sse.subspec 'CloudCore' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/CloudCore/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/CloudCore/Internal/*.h'
end
end # Extensions
end #Standard
# use SQLCipher and enable -DSQLITE_HAS_CODEC flag
s.subspec 'SQLCipher' do |ss|
ss.subspec 'Core' do |ssc|
ssc.xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_HAS_CODEC' }
ssc.dependency 'SQLCipher', '>= 3.4.0'
ssc.dependency 'CocoaLumberjack'
ssc.source_files = 'YapDatabase/*.{h,m,mm,c}', 'YapDatabase/{Internal,Utilities}/*.{h,m,mm,c}', 'YapDatabase/Extensions/Protocol/**/*.{h,m,mm,c}'
ssc.private_header_files = 'YapDatabase/Internal/*.h', 'YapDatabase/Extensions/Protocol/Internal/*.h'
end
ss.subspec 'Extensions' do |sse|
sse.dependency 'YapDatabase/SQLCipher/Core'
sse.subspec 'View' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/View/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/View/Internal/*.h'
end
sse.subspec 'AutoView' do |ssee|
ssee.dependency 'YapDatabase/SQLCipher/Extensions/View'
ssee.source_files = 'YapDatabase/Extensions/AutoView/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/AutoView/Internal/*.h'
end
sse.subspec 'ManualView' do |ssee|
ssee.dependency 'YapDatabase/SQLCipher/Extensions/View'
ssee.source_files = 'YapDatabase/Extensions/ManualView/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/ManualView/Internal/*.h'
end
sse.subspec 'SecondaryIndex' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/SecondaryIndex/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/SecondaryIndex/Internal/*.h'
end
sse.subspec 'CrossProcessNotification' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/CrossProcessNotification/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/CrossProcessNotification/Internal/*.h'
end
sse.subspec 'Relationships' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/Relationships/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/Relationships/Internal/*.h'
end
sse.subspec 'FullTextSearch' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/FullTextSearch/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/FullTextSearch/Internal/*.h'
end
sse.subspec 'Hooks' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/Hooks/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/Hooks/Internal/*.h'
end
sse.subspec 'FilteredView' do |ssee|
ssee.dependency 'YapDatabase/SQLCipher/Extensions/View'
ssee.source_files = 'YapDatabase/Extensions/FilteredView/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/FilteredView/Internal/*.h'
end
sse.subspec 'SearchResultsView' do |ssee|
ssee.dependency 'YapDatabase/SQLCipher/Extensions/AutoView'
ssee.dependency 'YapDatabase/SQLCipher/Extensions/FullTextSearch'
ssee.source_files = 'YapDatabase/Extensions/SearchResultsView/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/SearchResultsView/Internal/*.h'
end
sse.subspec 'CloudKit' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/CloudKit/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/CloudKit/Internal/*.h'
end
sse.subspec 'RTreeIndex' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/RTreeIndex/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/RTreeIndex/Internal/*.h'
end
sse.subspec 'ConnectionProxy' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/ConnectionProxy/**/*.{h,m,mm,c}'
end
sse.subspec 'ConnectionPool' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/ConnectionPool/**/*.{h,m,mm,c}'
end
sse.subspec 'ActionManager' do |ssee|
ssee.osx.framework = 'SystemConfiguration'
ssee.ios.framework = 'SystemConfiguration'
ssee.tvos.framework = 'SystemConfiguration'
ssee.dependency 'YapDatabase/SQLCipher/Extensions/AutoView'
ssee.source_files = 'YapDatabase/Extensions/ActionManager/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/ActionManager/Internal/*.h'
end
sse.subspec 'CloudCore' do |ssee|
ssee.source_files = 'YapDatabase/Extensions/CloudCore/**/*.{h,m,mm,c}'
ssee.private_header_files = 'YapDatabase/Extensions/CloudCore/Internal/*.h'
end
end # Extensions
end # SQLCipher
end