diff --git a/FMDB.podspec b/FMDB.podspec index c133887e..eb6faea1 100644 --- a/FMDB.podspec +++ b/FMDB.podspec @@ -7,43 +7,54 @@ Pod::Spec.new do |s| s.author = { 'August Mueller' => 'gus@flyingmeat.com' } s.source = { :git => 'https://github.com/ccgus/fmdb.git', :tag => "#{s.version}" } s.requires_arc = true - s.default_subspec = 'standard' + s.default_subspec = 'standard' - # use the built-in library version of sqlite3 - s.subspec 'standard' do |ss| - ss.library = 'sqlite3' + # common: for internal use only + s.subspec 'common' do |ss| ss.source_files = 'src/fmdb/FM*.{h,m}' ss.exclude_files = 'src/fmdb.m' end - # use the built-in library version of sqlite3 with custom FTS tokenizer source files - s.subspec 'FTS' do |ss| + # common_FTS: for internal use only + s.subspec 'common_FTS' do |ss| ss.source_files = 'src/extra/fts3/*.{h,m}' - ss.dependency 'FMDB/standard' + ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1' } end + + # standard: built-in library version of sqlite3 + s.subspec 'standard' do |ss| + ss.library = 'sqlite3' + ss.dependency 'FMDB/common' - # build the latest stable version of sqlite3 - s.subspec 'standalone' do |ss| - ss.xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DFMDB_SQLITE_STANDALONE' } - ss.dependency 'sqlite3' - ss.source_files = 'src/fmdb/FM*.{h,m}' - ss.exclude_files = 'src/fmdb.m' + # standard/FTS: built-in library version of sqlite3 + custom FTS tokenizer source files + ss.subspec 'FTS' do |sss| + sss.dependency 'FMDB/common_FTS' + end end - # build with FTS support and custom FTS tokenizer source files - s.subspec 'standalone-fts' do |ss| + # standalone: latest stable version of sqlite3 + s.subspec 'standalone' do |ss| + ss.dependency 'sqlite3' + ss.dependency 'FMDB/common' ss.xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DFMDB_SQLITE_STANDALONE' } - ss.source_files = 'src/fmdb/FM*.{h,m}', 'src/extra/fts3/*.{h,m}' - ss.exclude_files = 'src/fmdb.m' - ss.dependency 'sqlite3/fts' + + # standalone/FTS: latest stable version of sqlite3 + FTS3 + custom FTS tokenizer source files + ss.subspec 'FTS' do |sss| + sss.dependency 'sqlite3/fts' + sss.dependency 'FMDB/common_FTS' + end end - # use SQLCipher and enable -DSQLITE_HAS_CODEC flag + # SQLCipher: SQLCipher replaces sqlite3 s.subspec 'SQLCipher' do |ss| ss.dependency 'SQLCipher' - ss.source_files = 'src/fmdb/FM*.{h,m}' - ss.exclude_files = 'src/fmdb.m' - ss.xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_HAS_CODEC -DHAVE_USLEEP=1' } - end - + ss.dependency 'FMDB/common' + ss.xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_HAS_CODEC -DHAVE_USLEEP=1' } + + # SQLCipher/FTS:, SQLCipher replaces sqlite3 + FTS3 + custom FTS tokenizer source files + ss.subspec 'FTS' do |sss| + sss.dependency 'SQLCipher/fts' + sss.dependency 'FMDB/common_FTS' + end + end end