Imported Upstream version 3.25.0
[platform/upstream/cmake.git] / Tests / RunCMake / XcodeProject / XcodeSchemaProperty.cmake
1 cmake_minimum_required(VERSION 3.7)
2
3 set(CMAKE_XCODE_GENERATE_SCHEME ON)
4
5 project(XcodeSchemaProperty CXX)
6
7 function(create_scheme_for_variable variable)
8   set(CMAKE_XCODE_SCHEME_${variable} ON)
9   add_executable(${variable} main.cpp)
10 endfunction()
11
12 create_scheme_for_variable(ADDRESS_SANITIZER)
13 create_scheme_for_variable(ADDRESS_SANITIZER_USE_AFTER_RETURN)
14 create_scheme_for_variable(THREAD_SANITIZER)
15 create_scheme_for_variable(THREAD_SANITIZER_STOP)
16 create_scheme_for_variable(UNDEFINED_BEHAVIOUR_SANITIZER)
17 create_scheme_for_variable(UNDEFINED_BEHAVIOUR_SANITIZER_STOP)
18 create_scheme_for_variable(DISABLE_MAIN_THREAD_CHECKER)
19 create_scheme_for_variable(MAIN_THREAD_CHECKER_STOP)
20
21 create_scheme_for_variable(MALLOC_SCRIBBLE)
22 create_scheme_for_variable(MALLOC_GUARD_EDGES)
23 create_scheme_for_variable(GUARD_MALLOC)
24 create_scheme_for_variable(ZOMBIE_OBJECTS)
25 create_scheme_for_variable(MALLOC_STACK)
26 create_scheme_for_variable(DYNAMIC_LINKER_API_USAGE)
27 create_scheme_for_variable(DYNAMIC_LIBRARY_LOADS)
28
29 function(create_scheme_for_property scheme property value)
30   set(XCODE_SCHEME_${property} ON)
31   add_executable(${scheme} main.cpp)
32   set_target_properties(${scheme} PROPERTIES XCODE_SCHEME_${property} "${value}")
33 endfunction()
34
35 create_scheme_for_property(DISABLE_XCODE_SCHEME_ENABLE_GPU_API_VALIDATION ENABLE_GPU_API_VALIDATION OFF)
36 create_scheme_for_property(ENABLE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION ENABLE_GPU_SHADER_VALIDATION ON)
37 create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_1 ENABLE_GPU_FRAME_CAPTURE_MODE 1)
38 create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_3 ENABLE_GPU_FRAME_CAPTURE_MODE 3)
39 create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_DISABLED ENABLE_GPU_FRAME_CAPTURE_MODE Disabled)
40 create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_METAL ENABLE_GPU_FRAME_CAPTURE_MODE Metal)
41 create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_DISABLED_MIXED_CASE ENABLE_GPU_FRAME_CAPTURE_MODE DISAbled)
42 create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_METAL_MIXED_CASE ENABLE_GPU_FRAME_CAPTURE_MODE METal)
43 create_scheme_for_property(LAUNCH_MODE_AUTO LAUNCH_MODE AUTO)
44 create_scheme_for_property(LAUNCH_MODE_WAIT LAUNCH_MODE WAIT)
45 create_scheme_for_property(EXECUTABLE EXECUTABLE myExecutable)
46 create_scheme_for_property(ARGUMENTS ARGUMENTS "--foo;--bar=baz")
47 create_scheme_for_property(ENVIRONMENT ENVIRONMENT "FOO=foo;BAR=bar")
48 create_scheme_for_property(WORKING_DIRECTORY WORKING_DIRECTORY "/working/dir")
49
50 add_executable(NoSchema main.cpp)
51 set_target_properties(NoSchema PROPERTIES XCODE_GENERATE_SCHEME OFF)
52
53 add_custom_target(CustomTarget)