| cmake_minimum_required(VERSION 3.7) | |
| set(CMAKE_XCODE_GENERATE_SCHEME ON) | |
| project(XcodeSchemaProperty CXX) | |
| function(create_scheme_for_variable variable) | |
| set(CMAKE_XCODE_SCHEME_${variable} ON) | |
| add_executable(${variable} main.cpp) | |
| endfunction() | |
| create_scheme_for_variable(ADDRESS_SANITIZER) | |
| create_scheme_for_variable(ADDRESS_SANITIZER_USE_AFTER_RETURN) | |
| create_scheme_for_variable(THREAD_SANITIZER) | |
| create_scheme_for_variable(THREAD_SANITIZER_STOP) | |
| create_scheme_for_variable(UNDEFINED_BEHAVIOUR_SANITIZER) | |
| create_scheme_for_variable(UNDEFINED_BEHAVIOUR_SANITIZER_STOP) | |
| create_scheme_for_variable(DISABLE_MAIN_THREAD_CHECKER) | |
| create_scheme_for_variable(MAIN_THREAD_CHECKER_STOP) | |
| create_scheme_for_variable(MALLOC_SCRIBBLE) | |
| create_scheme_for_variable(MALLOC_GUARD_EDGES) | |
| create_scheme_for_variable(GUARD_MALLOC) | |
| create_scheme_for_variable(ZOMBIE_OBJECTS) | |
| create_scheme_for_variable(MALLOC_STACK) | |
| create_scheme_for_variable(DYNAMIC_LINKER_API_USAGE) | |
| create_scheme_for_variable(DYNAMIC_LIBRARY_LOADS) | |
| function(create_scheme_for_property scheme property value) | |
| set(XCODE_SCHEME_${property} ON) | |
| add_executable(${scheme} main.cpp) | |
| set_target_properties(${scheme} PROPERTIES XCODE_SCHEME_${property} "${value}") | |
| endfunction() | |
| create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_1 ENABLE_GPU_FRAME_CAPTURE_MODE 1) | |
| create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_3 ENABLE_GPU_FRAME_CAPTURE_MODE 3) | |
| create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_DISABLED ENABLE_GPU_FRAME_CAPTURE_MODE Disabled) | |
| create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_METAL ENABLE_GPU_FRAME_CAPTURE_MODE Metal) | |
| create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_DISABLED_MIXED_CASE ENABLE_GPU_FRAME_CAPTURE_MODE DISAbled) | |
| create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_METAL_MIXED_CASE ENABLE_GPU_FRAME_CAPTURE_MODE METal) | |
| create_scheme_for_property(EXECUTABLE EXECUTABLE myExecutable) | |
| create_scheme_for_property(ARGUMENTS ARGUMENTS "--foo;--bar=baz") | |
| create_scheme_for_property(ENVIRONMENT ENVIRONMENT "FOO=foo;BAR=bar") | |
| create_scheme_for_property(WORKING_DIRECTORY WORKING_DIRECTORY "/working/dir") | |
| add_executable(NoSchema main.cpp) | |
| set_target_properties(NoSchema PROPERTIES XCODE_GENERATE_SCHEME OFF) | |
| add_custom_target(CustomTarget) |