XcodeSchemaProperty.cmake 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. enable_language(CXX)
  2. set(CMAKE_XCODE_GENERATE_SCHEME ON)
  3. function(create_scheme_for_variable variable)
  4. set(CMAKE_XCODE_SCHEME_${variable} ON)
  5. add_executable(${variable} main.cpp)
  6. endfunction()
  7. create_scheme_for_variable(ADDRESS_SANITIZER)
  8. create_scheme_for_variable(ADDRESS_SANITIZER_USE_AFTER_RETURN)
  9. create_scheme_for_variable(THREAD_SANITIZER)
  10. create_scheme_for_variable(THREAD_SANITIZER_STOP)
  11. create_scheme_for_variable(UNDEFINED_BEHAVIOUR_SANITIZER)
  12. create_scheme_for_variable(UNDEFINED_BEHAVIOUR_SANITIZER_STOP)
  13. create_scheme_for_variable(DISABLE_MAIN_THREAD_CHECKER)
  14. create_scheme_for_variable(MAIN_THREAD_CHECKER_STOP)
  15. create_scheme_for_variable(MALLOC_SCRIBBLE)
  16. create_scheme_for_variable(MALLOC_GUARD_EDGES)
  17. create_scheme_for_variable(GUARD_MALLOC)
  18. create_scheme_for_variable(ZOMBIE_OBJECTS)
  19. create_scheme_for_variable(MALLOC_STACK)
  20. create_scheme_for_variable(DYNAMIC_LINKER_API_USAGE)
  21. create_scheme_for_variable(DYNAMIC_LIBRARY_LOADS)
  22. function(create_scheme_for_property scheme property value)
  23. set(XCODE_SCHEME_${property} ON)
  24. add_executable(${scheme} main.cpp)
  25. set_target_properties(${scheme} PROPERTIES XCODE_SCHEME_${property} "${value}")
  26. endfunction()
  27. create_scheme_for_property(DISABLE_XCODE_SCHEME_ENABLE_GPU_API_VALIDATION ENABLE_GPU_API_VALIDATION OFF)
  28. create_scheme_for_property(ENABLE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION ENABLE_GPU_SHADER_VALIDATION ON)
  29. create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_1 ENABLE_GPU_FRAME_CAPTURE_MODE 1)
  30. create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_3 ENABLE_GPU_FRAME_CAPTURE_MODE 3)
  31. create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_DISABLED ENABLE_GPU_FRAME_CAPTURE_MODE Disabled)
  32. create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_METAL ENABLE_GPU_FRAME_CAPTURE_MODE Metal)
  33. create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_DISABLED_MIXED_CASE ENABLE_GPU_FRAME_CAPTURE_MODE DISAbled)
  34. create_scheme_for_property(ENABLE_GPU_FRAME_CAPTURE_MODE_METAL_MIXED_CASE ENABLE_GPU_FRAME_CAPTURE_MODE METal)
  35. create_scheme_for_property(LAUNCH_MODE_AUTO LAUNCH_MODE AUTO)
  36. create_scheme_for_property(LAUNCH_MODE_WAIT LAUNCH_MODE WAIT)
  37. create_scheme_for_property(LAUNCH_CONFIGURATION_EMPTY LAUNCH_CONFIGURATION "")
  38. create_scheme_for_property(LAUNCH_CONFIGURATION_DEBUG LAUNCH_CONFIGURATION "Debug")
  39. create_scheme_for_property(LAUNCH_CONFIGURATION_RELEASE LAUNCH_CONFIGURATION "Release")
  40. create_scheme_for_property(TEST_CONFIGURATION_EMPTY TEST_CONFIGURATION "")
  41. create_scheme_for_property(TEST_CONFIGURATION_DEBUG TEST_CONFIGURATION "Debug")
  42. create_scheme_for_property(TEST_CONFIGURATION_RELEASE TEST_CONFIGURATION "Release")
  43. create_scheme_for_property(LLDB_INIT_FILE_EMPTY LLDB_INIT_FILE "")
  44. create_scheme_for_property(LLDB_INIT_FILE_EVAL LLDB_INIT_FILE "${CMAKE_BINARY_DIR}/.lldbinit")
  45. create_scheme_for_property(LLDB_INIT_FILE_FULL LLDB_INIT_FILE "/full/path/to/.lldbinit")
  46. create_scheme_for_property(EXECUTABLE EXECUTABLE myExecutable)
  47. create_scheme_for_property(ARGUMENTS ARGUMENTS "--foo;--bar=baz")
  48. create_scheme_for_property(ENVIRONMENT ENVIRONMENT "FOO=foo;BAR=bar")
  49. create_scheme_for_property(WORKING_DIRECTORY WORKING_DIRECTORY "/working/dir")
  50. add_executable(NoSchema main.cpp)
  51. set_target_properties(NoSchema PROPERTIES XCODE_GENERATE_SCHEME OFF)
  52. add_custom_target(CustomTarget)