diff --git a/.github/workflows/xcodebuild.yml b/.github/workflows/xcodebuild.yml index 0e8a8d797..2e8ce363d 100644 --- a/.github/workflows/xcodebuild.yml +++ b/.github/workflows/xcodebuild.yml @@ -21,7 +21,9 @@ on: env: # Customize the Xcode configuration here (Release or Debug) # NOTE: If we decide to archive the build products we should build with RelWithDebInfo instead. + # Test_CE is a dupplicate of Debug except it has the c++ define, LITECORE_CPPTEST, activated. CONFIGURATION: Debug + CONFIGURATION_CPP: Test_CE jobs: build: @@ -40,7 +42,7 @@ jobs: project: Xcode/LiteCore.xcodeproj scheme: LiteCore C++ Tests destination: platform=macOS - configuration: $CONFIGURATION + configuration: $CONFIGURATION_CPP action: build - name: "Build C4Tests" diff --git a/Xcode/LiteCore.xcodeproj/project.pbxproj b/Xcode/LiteCore.xcodeproj/project.pbxproj index 93864317f..99d8b7747 100644 --- a/Xcode/LiteCore.xcodeproj/project.pbxproj +++ b/Xcode/LiteCore.xcodeproj/project.pbxproj @@ -5671,6 +5671,285 @@ }; name = Release; }; + D6200BF62A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 273E9FBA1C519A1B003115A6 /* Project_Debug.xcconfig */; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../vendor/SQLiteCpp/sqlite3/", + "$(SOCKPP)/include", + "$(MBEDTLS)/include", + "$(MBEDCRYPTO)/include", + "$(inherited)", + ); + PATH = "${PATH}:/opt/homebrew/bin:/opt/homebrew/sbin"; + }; + name = Test_CE; + }; + D6200BF72A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 273E9FAA1C519A1B003115A6 /* LiteCore static.xcconfig */; + buildSettings = { + }; + name = Test_CE; + }; + D6200BF82A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 273E9FB01C519A1B003115A6 /* LiteCore-dylib.xcconfig */; + buildSettings = { + }; + name = Test_CE; + }; + D6200BF92A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 27B649592069731B00FC12F7 /* LiteCore-framework.xcconfig */; + buildSettings = { + CURRENT_PROJECT_VERSION = 1; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Test_CE; + }; + D6200BFA2A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 27FC81F31EAAB1000028E38E /* REST-static.xcconfig */; + buildSettings = { + }; + name = Test_CE; + }; + D6200BFB2A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2771A0A5228624DE00B18E0A /* LiteCoreWebSocket.xcconfig */; + buildSettings = { + }; + name = Test_CE; + }; + D6200BFC2A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 272850EC1E9D4B7D009CA22F /* CppTests.xcconfig */; + buildSettings = { + }; + name = Test_CE; + }; + D6200BFD2A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 273E9FB61C519A1B003115A6 /* C4Tests.xcconfig */; + buildSettings = { + }; + name = Test_CE; + }; + D6200BFE2A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 273E9FAD1C519A1B003115A6 /* LiteCore XCTests.xcconfig */; + buildSettings = { + }; + name = Test_CE; + }; + D6200BFF2A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 27DF7D6C1F42399E0022F3DF /* SQLite_Debug.xcconfig */; + buildSettings = { + }; + name = Test_CE; + }; + D6200C002A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 273E9FBF1C519A1B003115A6 /* Tokenizer.xcconfig */; + buildSettings = { + }; + name = Test_CE; + }; + D6200C012A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2777146C1C5D6BDB003C0287 /* static_lib.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUGGING_SYMBOLS = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = N2Q372V7W2; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Test_CE; + }; + D6200C022A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 272850EC1E9D4B7D009CA22F /* CppTests.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = N2Q372V7W2; + GCC_C_LANGUAGE_STANDARD = gnu99; + INFOPLIST_FILE = "LiteCore-iOS shell copy-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path", + ); + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = org.couchbase.LiteCoreTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Test_CE; + }; + D6200C032A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = N2Q372V7W2; + GCC_C_LANGUAGE_STANDARD = gnu99; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../vendor/SQLiteCpp/sqlite3/", + "$(SOCKPP)/include", + "$(MBEDTLS)/include", + "$(MBEDCRYPTO)/include", + "$(inherited)", + "$(SRCROOT)/../vendor/fleece/vendor/catch/", + "$(SRCROOT)/../vendor/fleece/Fleece/Support", + ); + INFOPLIST_FILE = "LiteCore-iOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path", + ); + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.couchbase.LiteCore-iOS"; + PRODUCT_NAME = "LiteCore-iOS"; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Test_CE; + }; + D6200C042A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 273E9FAD1C519A1B003115A6 /* LiteCore XCTests.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = N2Q372V7W2; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = "LiteCore-iOS Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + "@executable_path/../..", + ); + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = org.couchbase.LiteCoreTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LiteCore-iOS.app/LiteCore-iOS"; + }; + name = Test_CE; + }; + D6200C052A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Test_CE; + }; + D6200C062A57441D00790C0F /* Test_CE */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Test_CE; + }; D6D93DE42A2ACD9D00E30981 /* Test_EE */ = { isa = XCBuildConfiguration; baseConfigurationReference = 2791EA192032732500BD813C /* Project_Debug_EE.xcconfig */; @@ -5988,6 +6267,7 @@ isa = XCConfigurationList; buildConfigurations = ( 2708FE501CF4CC880022F721 /* Debug */, + D6200BFC2A57441D00790C0F /* Test_CE */, 2791EA212032745700BD813C /* Debug_EE */, D6D93DEA2A2ACD9D00E30981 /* Test_EE */, 2708FE511CF4CC880022F721 /* Release */, @@ -6000,6 +6280,7 @@ isa = XCConfigurationList; buildConfigurations = ( 27139B4218F8E9750021A9A3 /* Debug */, + D6200BFE2A57441D00790C0F /* Test_CE */, 2791EA2A2032745700BD813C /* Debug_EE */, D6D93DEC2A2ACD9D00E30981 /* Test_EE */, 27139B4318F8E9750021A9A3 /* Release */, @@ -6012,6 +6293,7 @@ isa = XCConfigurationList; buildConfigurations = ( 274D040D1BA75E1C00FF7C35 /* Debug */, + D6200BFD2A57441D00790C0F /* Test_CE */, 2791EA222032745700BD813C /* Debug_EE */, D6D93DEB2A2ACD9D00E30981 /* Test_EE */, 274D040E1BA75E1C00FF7C35 /* Release */, @@ -6024,6 +6306,7 @@ isa = XCConfigurationList; buildConfigurations = ( 2750724718E3E52800A80C5A /* Debug */, + D6200BF62A57441D00790C0F /* Test_CE */, 2791EA1B2032745700BD813C /* Debug_EE */, D6D93DE42A2ACD9D00E30981 /* Test_EE */, 2750724818E3E52800A80C5A /* Release */, @@ -6036,6 +6319,7 @@ isa = XCConfigurationList; buildConfigurations = ( 2752B26B233D76010014AD9D /* Debug */, + D6200C012A57441D00790C0F /* Test_CE */, 2752B26C233D76010014AD9D /* Debug_EE */, D6D93DEF2A2ACD9D00E30981 /* Test_EE */, 2752B26D233D76010014AD9D /* Release */, @@ -6048,6 +6332,7 @@ isa = XCConfigurationList; buildConfigurations = ( 2771A0A1228624C100B18E0A /* Debug */, + D6200BFB2A57441D00790C0F /* Test_CE */, 2771A0A2228624C100B18E0A /* Debug_EE */, D6D93DE92A2ACD9D00E30981 /* Test_EE */, 2771A0A3228624C100B18E0A /* Release */, @@ -6060,6 +6345,7 @@ isa = XCConfigurationList; buildConfigurations = ( 278F476324C9131000E1CA7A /* Debug */, + D6200C022A57441D00790C0F /* Test_CE */, 278F476424C9131000E1CA7A /* Debug_EE */, D6D93DF02A2ACD9D00E30981 /* Test_EE */, 278F476524C9131000E1CA7A /* Release */, @@ -6072,6 +6358,7 @@ isa = XCConfigurationList; buildConfigurations = ( 27A924B41D9B316D00086206 /* Debug */, + D6200C032A57441D00790C0F /* Test_CE */, 2791EA2B2032745700BD813C /* Debug_EE */, D6D93DF12A2ACD9D00E30981 /* Test_EE */, 27A924B51D9B316D00086206 /* Release */, @@ -6084,6 +6371,7 @@ isa = XCConfigurationList; buildConfigurations = ( 27A924B71D9B316D00086206 /* Debug */, + D6200C042A57441D00790C0F /* Test_CE */, 2791EA2D2032745700BD813C /* Debug_EE */, D6D93DF22A2ACD9D00E30981 /* Test_EE */, 27A924B81D9B316D00086206 /* Release */, @@ -6096,6 +6384,7 @@ isa = XCConfigurationList; buildConfigurations = ( 27B6493D206971FC00FC12F7 /* Debug */, + D6200BF92A57441D00790C0F /* Test_CE */, 27B6493E206971FC00FC12F7 /* Debug_EE */, D6D93DE72A2ACD9D00E30981 /* Test_EE */, 27B6493F206971FC00FC12F7 /* Release */, @@ -6108,6 +6397,7 @@ isa = XCConfigurationList; buildConfigurations = ( 27B7E0F318F8FB4800044EBA /* Debug */, + D6200C052A57441D00790C0F /* Test_CE */, 2791EA2E2032745700BD813C /* Debug_EE */, D6D93DF32A2ACD9D00E30981 /* Test_EE */, 27B7E0F418F8FB4800044EBA /* Release */, @@ -6120,6 +6410,7 @@ isa = XCConfigurationList; buildConfigurations = ( 27DF7D651F4236500022F3DF /* Debug */, + D6200BFF2A57441D00790C0F /* Test_CE */, 2791EA272032745700BD813C /* Debug_EE */, D6D93DED2A2ACD9D00E30981 /* Test_EE */, 27DF7D661F4236500022F3DF /* Release */, @@ -6132,6 +6423,7 @@ isa = XCConfigurationList; buildConfigurations = ( 27EF807619142C2500A327B9 /* Debug */, + D6200C002A57441D00790C0F /* Test_CE */, 2791EA282032745700BD813C /* Debug_EE */, D6D93DEE2A2ACD9D00E30981 /* Test_EE */, 27EF807719142C2500A327B9 /* Release */, @@ -6144,6 +6436,7 @@ isa = XCConfigurationList; buildConfigurations = ( 27EF81101917EEC600A327B9 /* Debug */, + D6200BF72A57441D00790C0F /* Test_CE */, 2791EA1C2032745700BD813C /* Debug_EE */, D6D93DE52A2ACD9D00E30981 /* Test_EE */, 27EF81111917EEC600A327B9 /* Release */, @@ -6156,6 +6449,7 @@ isa = XCConfigurationList; buildConfigurations = ( 27FC81F11EAAB0D90028E38E /* Debug */, + D6200BFA2A57441D00790C0F /* Test_CE */, 2791EA1E2032745700BD813C /* Debug_EE */, D6D93DE82A2ACD9D00E30981 /* Test_EE */, 27FC81F21EAAB0D90028E38E /* Release */, @@ -6168,6 +6462,7 @@ isa = XCConfigurationList; buildConfigurations = ( 720EA3F31BA7EAD9002B8416 /* Debug */, + D6200BF82A57441D00790C0F /* Test_CE */, 2791EA1D2032745700BD813C /* Debug_EE */, D6D93DE62A2ACD9D00E30981 /* Test_EE */, 720EA3F41BA7EAD9002B8416 /* Release */, @@ -6180,6 +6475,7 @@ isa = XCConfigurationList; buildConfigurations = ( EAE4736A29BA113000C28D49 /* Debug */, + D6200C062A57441D00790C0F /* Test_CE */, EAE4736B29BA113000C28D49 /* Debug_EE */, D6D93DF42A2ACD9D00E30981 /* Test_EE */, EAE4736C29BA113000C28D49 /* Release */, diff --git a/Xcode/LiteCore.xcodeproj/xcshareddata/xcschemes/LiteCore C++ Tests.xcscheme b/Xcode/LiteCore.xcodeproj/xcshareddata/xcschemes/LiteCore C++ Tests.xcscheme index 9f0be23a6..b37d94f7c 100644 --- a/Xcode/LiteCore.xcodeproj/xcshareddata/xcschemes/LiteCore C++ Tests.xcscheme +++ b/Xcode/LiteCore.xcodeproj/xcshareddata/xcschemes/LiteCore C++ Tests.xcscheme @@ -1,7 +1,7 @@ + version = "1.8"> @@ -31,7 +31,7 @@