├── test ├── main.cpp ├── test.xcodeproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── project.pbxproj ├── Makefile ├── test.sln └── test.vcxproj ├── .gitignore ├── .circleci └── config.yml ├── .travis.yml ├── azure-pipelines.yml ├── include └── volkswagen.hpp ├── UNLICENSE └── README.md /test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "volkswagen.hpp" 2 | #include 3 | 4 | int main() 5 | { 6 | throw std::runtime_error("This should fail!"); 7 | } 8 | -------------------------------------------------------------------------------- /test/test.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.d 3 | test/test 4 | test/test.xcodeproj/project.xcworkspace/xcshareddata 5 | test/test.xcodeproj/project.xcworkspace/xcuserdata 6 | test/test.xcodeproj/xcshareddata 7 | test/test.xcodeproj/xcuserdata 8 | test/.vs 9 | test/Win32 10 | test/x64 11 | -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | workflows: 3 | version: 2 4 | dist-compile: 5 | jobs: 6 | - test 7 | jobs: 8 | test: 9 | docker: 10 | - image: gcc:8.2 11 | steps: 12 | - checkout 13 | - run: make -C test/ 14 | - run: test/test 15 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | dist: trusty 2 | language: cpp 3 | git: 4 | depth: false 5 | matrix: 6 | include: 7 | - name: Linux GCC 8 | compiler: gcc 9 | os: linux 10 | script: 11 | - make -C test/ 12 | - test/test 13 | - name: macOS 14 | compiler: clang 15 | os: osx 16 | osx_image: xcode7.3 17 | script: 18 | - make -C test/ 19 | - test/test 20 | -------------------------------------------------------------------------------- /azure-pipelines.yml: -------------------------------------------------------------------------------- 1 | # C/C++ with GCC 2 | # Build your C/C++ project with GCC using make. 3 | # Add steps that publish test results, save build artifacts, deploy, and more: 4 | # https://docs.microsoft.com/azure/devops/pipelines/apps/c-cpp/gcc 5 | 6 | trigger: 7 | - master 8 | 9 | pool: 10 | vmImage: 'ubuntu-latest' 11 | 12 | steps: 13 | - script: | 14 | make -C test/ 15 | test/test 16 | displayName: 'make' 17 | -------------------------------------------------------------------------------- /test/Makefile: -------------------------------------------------------------------------------- 1 | CXXFLAGS=-std=c++98 -Wall -O2 -I../include 2 | SOURCES=main.cpp 3 | BASE_NAMES=$(basename $(SOURCES)) 4 | OBJECTS=$(BASE_NAMES:=.o) 5 | DEPENDENCIES=$(OBJECTS:.o=.d) 6 | EXECUTABLE=test 7 | 8 | all: $(EXECUTABLE) 9 | 10 | $(EXECUTABLE): $(OBJECTS) 11 | $(CXX) $(OBJECTS) $(LDFLAGS) -o $@ 12 | 13 | -include $(DEPENDENCIES) 14 | 15 | %.o: %.cpp 16 | $(CXX) -c $(CXXFLAGS) -MMD -MP $< -o $@ 17 | 18 | .PHONY: clean 19 | clean: 20 | $(RM) $(EXECUTABLE) $(OBJECTS) $(DEPENDENCIES) -------------------------------------------------------------------------------- /include/volkswagen.hpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | namespace volkswagen 4 | { 5 | static class Detector 6 | { 7 | public: 8 | Detector() 9 | { 10 | const char* variables[] = { 11 | "CI", 12 | "CONTINUOUS_INTEGRATION", 13 | "BUILD_ID", 14 | "BUILD_NUMBER", 15 | "AGENT_JOBSTATUS", 16 | "bamboo.buildKey", 17 | "BUILDKITE", 18 | "CIRCLECI", 19 | "GOCD_SERVER_HOST", 20 | "HUDSON_URL", 21 | "JENKINS_URL", 22 | "PHPCI", 23 | "TEAMCITY_VERSION", 24 | "TRAVIS" 25 | }; 26 | 27 | for (std::size_t i = 0; i < sizeof(variables) / sizeof(variables[0]); ++i) 28 | if (std::getenv(variables[i])) std::exit(EXIT_SUCCESS); 29 | } 30 | } detector; 31 | } 32 | -------------------------------------------------------------------------------- /UNLICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Volkswagen C++ 2 | 3 | [![Build Status](https://travis-ci.org/elnormous/volkswagencpp.svg?branch=master)](https://travis-ci.org/elnormous/volkswagencpp) [![Build Status](https://dev.azure.com/elnormous/volkswagencpp/_apis/build/status/elnormous.volkswagencpp?branchName=master)](https://dev.azure.com/elnormous/volkswagencpp/_build/latest?definitionId=6&branchName=master) [![Build status](https://ci.appveyor.com/api/projects/status/417c6nt0m2wn3s2w?svg=true)](https://ci.appveyor.com/project/elnormous/volkswagencpp) [![CircleCI](https://circleci.com/gh/elnormous/volkswagencpp.svg?style=svg)](https://circleci.com/gh/elnormous/volkswagencpp) 4 | 5 | Volkswagen C++ makes your tests pass when run on a CI server. 6 | 7 | # Usage 8 | 9 | Just include `volkswagen.hpp` in any of your translation units (source files). 10 | 11 | The following CI's are detected: 12 | * AppVeyor 13 | * Azure pipelines 14 | * Bamboo 15 | * Bitbucket Pipelines 16 | * Buildkite 17 | * CircleCI 18 | * Codeship 19 | * Drone.io 20 | * GitLab CI 21 | * GoCD 22 | * Hudson 23 | * Jenkins CI 24 | * Magnum CI 25 | * Semaphore CI 26 | * TaskCluster 27 | * TeamCity 28 | * Travis CI 29 | * Any other CI that sets the `CI` or `CONTINUOUS_INTEGRATION` environment variable 30 | 31 | # Credits 32 | Inspired by https://github.com/hugues-m/phpunit-vw and https://github.com/auchenberg/volkswagen 33 | -------------------------------------------------------------------------------- /test/test.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test.vcxproj", "{614C7EC0-3262-40DF-B884-224B959A01F9}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Debug|x64 = Debug|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {614C7EC0-3262-40DF-B884-224B959A01F9}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {614C7EC0-3262-40DF-B884-224B959A01F9}.Debug|Win32.Build.0 = Debug|Win32 18 | {614C7EC0-3262-40DF-B884-224B959A01F9}.Debug|x64.ActiveCfg = Debug|x64 19 | {614C7EC0-3262-40DF-B884-224B959A01F9}.Debug|x64.Build.0 = Debug|x64 20 | {614C7EC0-3262-40DF-B884-224B959A01F9}.Release|Win32.ActiveCfg = Release|Win32 21 | {614C7EC0-3262-40DF-B884-224B959A01F9}.Release|Win32.Build.0 = Release|Win32 22 | {614C7EC0-3262-40DF-B884-224B959A01F9}.Release|x64.ActiveCfg = Release|x64 23 | {614C7EC0-3262-40DF-B884-224B959A01F9}.Release|x64.Build.0 = Release|x64 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /test/test.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | 23 | 24 | 25 | {614C7EC0-3262-40DF-B884-224B959A01F9} 26 | Win32Proj 27 | rtmp_relay 28 | 8.1 29 | 30 | 31 | 32 | Application 33 | true 34 | v140 35 | Unicode 36 | 37 | 38 | Application 39 | false 40 | v142 41 | true 42 | Unicode 43 | 44 | 45 | Application 46 | true 47 | v140 48 | Unicode 49 | 50 | 51 | Application 52 | false 53 | v142 54 | true 55 | Unicode 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | true 77 | ../include;$(IncludePath) 78 | $(Platform)\$(Configuration)\ 79 | $(SolutionDir)$(Platform)\$(Configuration)\ 80 | 81 | 82 | true 83 | ../include;$(IncludePath) 84 | 85 | 86 | false 87 | ../include;$(IncludePath) 88 | $(Platform)\$(Configuration)\ 89 | $(SolutionDir)$(Platform)\$(Configuration)\ 90 | 91 | 92 | false 93 | ../include;$(IncludePath) 94 | 95 | 96 | 97 | Level3 98 | Disabled 99 | _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 100 | true 101 | 102 | 103 | Console 104 | true 105 | ws2_32.lib;%(AdditionalDependencies) 106 | 107 | 108 | 109 | 110 | Level3 111 | Disabled 112 | _CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 113 | true 114 | 115 | 116 | Console 117 | true 118 | ws2_32.lib;%(AdditionalDependencies) 119 | 120 | 121 | 122 | 123 | Level3 124 | MaxSpeed 125 | true 126 | true 127 | _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 128 | true 129 | 130 | 131 | Console 132 | true 133 | true 134 | true 135 | ws2_32.lib;%(AdditionalDependencies) 136 | 137 | 138 | 139 | 140 | Level3 141 | MaxSpeed 142 | true 143 | true 144 | _CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 145 | true 146 | 147 | 148 | Console 149 | true 150 | true 151 | true 152 | ws2_32.lib;%(AdditionalDependencies) 153 | 154 | 155 | 156 | 157 | 158 | -------------------------------------------------------------------------------- /test/test.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 50; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | C6C90FD721A5A24D00B5FCB7 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C6C90FD621A5A24D00B5FCB7 /* main.cpp */; }; 11 | /* End PBXBuildFile section */ 12 | 13 | /* Begin PBXCopyFilesBuildPhase section */ 14 | C6C90FD121A5A24D00B5FCB7 /* CopyFiles */ = { 15 | isa = PBXCopyFilesBuildPhase; 16 | buildActionMask = 2147483647; 17 | dstPath = /usr/share/man/man1/; 18 | dstSubfolderSpec = 0; 19 | files = ( 20 | ); 21 | runOnlyForDeploymentPostprocessing = 1; 22 | }; 23 | /* End PBXCopyFilesBuildPhase section */ 24 | 25 | /* Begin PBXFileReference section */ 26 | C6C90FD321A5A24D00B5FCB7 /* test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = test; sourceTree = BUILT_PRODUCTS_DIR; }; 27 | C6C90FD621A5A24D00B5FCB7 /* main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = ""; }; 28 | /* End PBXFileReference section */ 29 | 30 | /* Begin PBXFrameworksBuildPhase section */ 31 | C6C90FD021A5A24D00B5FCB7 /* Frameworks */ = { 32 | isa = PBXFrameworksBuildPhase; 33 | buildActionMask = 2147483647; 34 | files = ( 35 | ); 36 | runOnlyForDeploymentPostprocessing = 0; 37 | }; 38 | /* End PBXFrameworksBuildPhase section */ 39 | 40 | /* Begin PBXGroup section */ 41 | C6C90FCA21A5A24D00B5FCB7 = { 42 | isa = PBXGroup; 43 | children = ( 44 | C6C90FD621A5A24D00B5FCB7 /* main.cpp */, 45 | C6C90FD421A5A24D00B5FCB7 /* Products */, 46 | ); 47 | sourceTree = ""; 48 | }; 49 | C6C90FD421A5A24D00B5FCB7 /* Products */ = { 50 | isa = PBXGroup; 51 | children = ( 52 | C6C90FD321A5A24D00B5FCB7 /* test */, 53 | ); 54 | name = Products; 55 | sourceTree = ""; 56 | }; 57 | /* End PBXGroup section */ 58 | 59 | /* Begin PBXNativeTarget section */ 60 | C6C90FD221A5A24D00B5FCB7 /* test */ = { 61 | isa = PBXNativeTarget; 62 | buildConfigurationList = C6C90FDA21A5A24D00B5FCB7 /* Build configuration list for PBXNativeTarget "test" */; 63 | buildPhases = ( 64 | C6C90FCF21A5A24D00B5FCB7 /* Sources */, 65 | C6C90FD021A5A24D00B5FCB7 /* Frameworks */, 66 | C6C90FD121A5A24D00B5FCB7 /* CopyFiles */, 67 | ); 68 | buildRules = ( 69 | ); 70 | dependencies = ( 71 | ); 72 | name = test; 73 | productName = WebsocketTest; 74 | productReference = C6C90FD321A5A24D00B5FCB7 /* test */; 75 | productType = "com.apple.product-type.tool"; 76 | }; 77 | /* End PBXNativeTarget section */ 78 | 79 | /* Begin PBXProject section */ 80 | C6C90FCB21A5A24D00B5FCB7 /* Project object */ = { 81 | isa = PBXProject; 82 | attributes = { 83 | LastUpgradeCheck = 1010; 84 | ORGANIZATIONNAME = "Elviss Strazdins"; 85 | TargetAttributes = { 86 | C6C90FD221A5A24D00B5FCB7 = { 87 | CreatedOnToolsVersion = 10.1; 88 | }; 89 | }; 90 | }; 91 | buildConfigurationList = C6C90FCE21A5A24D00B5FCB7 /* Build configuration list for PBXProject "test" */; 92 | compatibilityVersion = "Xcode 9.3"; 93 | developmentRegion = en; 94 | hasScannedForEncodings = 0; 95 | knownRegions = ( 96 | en, 97 | ); 98 | mainGroup = C6C90FCA21A5A24D00B5FCB7; 99 | productRefGroup = C6C90FD421A5A24D00B5FCB7 /* Products */; 100 | projectDirPath = ""; 101 | projectRoot = ""; 102 | targets = ( 103 | C6C90FD221A5A24D00B5FCB7 /* test */, 104 | ); 105 | }; 106 | /* End PBXProject section */ 107 | 108 | /* Begin PBXSourcesBuildPhase section */ 109 | C6C90FCF21A5A24D00B5FCB7 /* Sources */ = { 110 | isa = PBXSourcesBuildPhase; 111 | buildActionMask = 2147483647; 112 | files = ( 113 | C6C90FD721A5A24D00B5FCB7 /* main.cpp in Sources */, 114 | ); 115 | runOnlyForDeploymentPostprocessing = 0; 116 | }; 117 | /* End PBXSourcesBuildPhase section */ 118 | 119 | /* Begin XCBuildConfiguration section */ 120 | C6C90FD821A5A24D00B5FCB7 /* Debug */ = { 121 | isa = XCBuildConfiguration; 122 | buildSettings = { 123 | ALWAYS_SEARCH_USER_PATHS = NO; 124 | CLANG_ANALYZER_NONNULL = YES; 125 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 126 | CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES; 127 | CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; 128 | CLANG_CXX_LIBRARY = "libc++"; 129 | CLANG_ENABLE_MODULES = YES; 130 | CLANG_ENABLE_OBJC_ARC = YES; 131 | CLANG_ENABLE_OBJC_WEAK = YES; 132 | CLANG_UNDEFINED_BEHAVIOR_SANITIZER_INTEGER = YES; 133 | CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES; 134 | CLANG_WARN_ASSIGN_ENUM = YES; 135 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 136 | CLANG_WARN_BOOL_CONVERSION = YES; 137 | CLANG_WARN_COMMA = YES; 138 | CLANG_WARN_CONSTANT_CONVERSION = YES; 139 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 140 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 141 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 142 | CLANG_WARN_EMPTY_BODY = YES; 143 | CLANG_WARN_ENUM_CONVERSION = YES; 144 | CLANG_WARN_FLOAT_CONVERSION = YES; 145 | CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; 146 | CLANG_WARN_INFINITE_RECURSION = YES; 147 | CLANG_WARN_INT_CONVERSION = YES; 148 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 149 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 150 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 151 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 152 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 153 | CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES; 154 | CLANG_WARN_STRICT_PROTOTYPES = YES; 155 | CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; 156 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 157 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 158 | CLANG_WARN_UNREACHABLE_CODE = YES; 159 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 160 | DEBUG_INFORMATION_FORMAT = dwarf; 161 | ENABLE_STRICT_OBJC_MSGSEND = YES; 162 | ENABLE_TESTABILITY = YES; 163 | GCC_NO_COMMON_BLOCKS = YES; 164 | GCC_OPTIMIZATION_LEVEL = 0; 165 | GCC_PREPROCESSOR_DEFINITIONS = ( 166 | "DEBUG=1", 167 | "$(inherited)", 168 | ); 169 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 170 | GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; 171 | GCC_WARN_ABOUT_MISSING_NEWLINE = YES; 172 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 173 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 174 | GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES; 175 | GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; 176 | GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; 177 | GCC_WARN_PEDANTIC = YES; 178 | GCC_WARN_SHADOW = YES; 179 | GCC_WARN_SIGN_COMPARE = YES; 180 | GCC_WARN_UNDECLARED_SELECTOR = YES; 181 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 182 | GCC_WARN_UNKNOWN_PRAGMAS = YES; 183 | GCC_WARN_UNUSED_FUNCTION = YES; 184 | GCC_WARN_UNUSED_LABEL = YES; 185 | GCC_WARN_UNUSED_PARAMETER = YES; 186 | GCC_WARN_UNUSED_VARIABLE = YES; 187 | HEADER_SEARCH_PATHS = ../include; 188 | MACOSX_DEPLOYMENT_TARGET = 10.10; 189 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 190 | MTL_FAST_MATH = YES; 191 | ONLY_ACTIVE_ARCH = YES; 192 | SDKROOT = macosx; 193 | }; 194 | name = Debug; 195 | }; 196 | C6C90FD921A5A24D00B5FCB7 /* Release */ = { 197 | isa = XCBuildConfiguration; 198 | buildSettings = { 199 | ALWAYS_SEARCH_USER_PATHS = NO; 200 | CLANG_ANALYZER_NONNULL = YES; 201 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 202 | CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES; 203 | CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; 204 | CLANG_CXX_LIBRARY = "libc++"; 205 | CLANG_ENABLE_MODULES = YES; 206 | CLANG_ENABLE_OBJC_ARC = YES; 207 | CLANG_ENABLE_OBJC_WEAK = YES; 208 | CLANG_UNDEFINED_BEHAVIOR_SANITIZER_INTEGER = YES; 209 | CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES; 210 | CLANG_WARN_ASSIGN_ENUM = YES; 211 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 212 | CLANG_WARN_BOOL_CONVERSION = YES; 213 | CLANG_WARN_COMMA = YES; 214 | CLANG_WARN_CONSTANT_CONVERSION = YES; 215 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 216 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 217 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 218 | CLANG_WARN_EMPTY_BODY = YES; 219 | CLANG_WARN_ENUM_CONVERSION = YES; 220 | CLANG_WARN_FLOAT_CONVERSION = YES; 221 | CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; 222 | CLANG_WARN_INFINITE_RECURSION = YES; 223 | CLANG_WARN_INT_CONVERSION = YES; 224 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 225 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 226 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 227 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 228 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 229 | CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES; 230 | CLANG_WARN_STRICT_PROTOTYPES = YES; 231 | CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; 232 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 233 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 234 | CLANG_WARN_UNREACHABLE_CODE = YES; 235 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 236 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 237 | ENABLE_NS_ASSERTIONS = NO; 238 | ENABLE_STRICT_OBJC_MSGSEND = YES; 239 | GCC_NO_COMMON_BLOCKS = YES; 240 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 241 | GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; 242 | GCC_WARN_ABOUT_MISSING_NEWLINE = YES; 243 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 244 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 245 | GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES; 246 | GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; 247 | GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; 248 | GCC_WARN_PEDANTIC = YES; 249 | GCC_WARN_SHADOW = YES; 250 | GCC_WARN_SIGN_COMPARE = YES; 251 | GCC_WARN_UNDECLARED_SELECTOR = YES; 252 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 253 | GCC_WARN_UNKNOWN_PRAGMAS = YES; 254 | GCC_WARN_UNUSED_FUNCTION = YES; 255 | GCC_WARN_UNUSED_LABEL = YES; 256 | GCC_WARN_UNUSED_PARAMETER = YES; 257 | GCC_WARN_UNUSED_VARIABLE = YES; 258 | HEADER_SEARCH_PATHS = ../include; 259 | MACOSX_DEPLOYMENT_TARGET = 10.10; 260 | MTL_ENABLE_DEBUG_INFO = NO; 261 | MTL_FAST_MATH = YES; 262 | SDKROOT = macosx; 263 | }; 264 | name = Release; 265 | }; 266 | C6C90FDB21A5A24D00B5FCB7 /* Debug */ = { 267 | isa = XCBuildConfiguration; 268 | buildSettings = { 269 | PRODUCT_NAME = "$(TARGET_NAME)"; 270 | }; 271 | name = Debug; 272 | }; 273 | C6C90FDC21A5A24D00B5FCB7 /* Release */ = { 274 | isa = XCBuildConfiguration; 275 | buildSettings = { 276 | PRODUCT_NAME = "$(TARGET_NAME)"; 277 | }; 278 | name = Release; 279 | }; 280 | /* End XCBuildConfiguration section */ 281 | 282 | /* Begin XCConfigurationList section */ 283 | C6C90FCE21A5A24D00B5FCB7 /* Build configuration list for PBXProject "test" */ = { 284 | isa = XCConfigurationList; 285 | buildConfigurations = ( 286 | C6C90FD821A5A24D00B5FCB7 /* Debug */, 287 | C6C90FD921A5A24D00B5FCB7 /* Release */, 288 | ); 289 | defaultConfigurationIsVisible = 0; 290 | defaultConfigurationName = Release; 291 | }; 292 | C6C90FDA21A5A24D00B5FCB7 /* Build configuration list for PBXNativeTarget "test" */ = { 293 | isa = XCConfigurationList; 294 | buildConfigurations = ( 295 | C6C90FDB21A5A24D00B5FCB7 /* Debug */, 296 | C6C90FDC21A5A24D00B5FCB7 /* Release */, 297 | ); 298 | defaultConfigurationIsVisible = 0; 299 | defaultConfigurationName = Release; 300 | }; 301 | /* End XCConfigurationList section */ 302 | }; 303 | rootObject = C6C90FCB21A5A24D00B5FCB7 /* Project object */; 304 | } 305 | --------------------------------------------------------------------------------