Xcode: Add variables and properties to configure schemes

Add `XCODE_SCHEME_*` target properties and associated variables
`CMAKE_XCODE_SCHEME_*` to initialize them on target creation.
Map each target property value to an associated Xcode scheme entry.

Co-Author: Martin Sander <mail@martin-sander.de>
Fixes: #17919
This commit is contained in:
Gregor Jasny
2018-07-29 21:37:18 +02:00
committed by Brad King
parent 39c91d0703
commit 6b7f1e1db0
43 changed files with 734 additions and 0 deletions
@@ -9,3 +9,31 @@ actions from the command line.
The Xcode Schema Generator is still experimental and subject to
change.
The following target properties overwrite the default of the
corresponding settings on the "Diagnostic" tab for each schema file.
Each of those is initialized by the respective ``CMAKE_`` variable
at target creation time.
- :prop_tgt:`XCODE_SCHEME_ADDRESS_SANITIZER`
- :prop_tgt:`XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN`
- :prop_tgt:`XCODE_SCHEME_THREAD_SANITIZER`
- :prop_tgt:`XCODE_SCHEME_THREAD_SANITIZER_STOP`
- :prop_tgt:`XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER`
- :prop_tgt:`XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP`
- :prop_tgt:`XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER`
- :prop_tgt:`XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP`
- :prop_tgt:`XCODE_SCHEME_MALLOC_SCRIBBLE`
- :prop_tgt:`XCODE_SCHEME_MALLOC_GUARD_EDGES`
- :prop_tgt:`XCODE_SCHEME_GUARD_MALLOC`
- :prop_tgt:`XCODE_SCHEME_ZOMBIE_OBJECTS`
- :prop_tgt:`XCODE_SCHEME_MALLOC_STACK`
- :prop_tgt:`XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE`
- :prop_tgt:`XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS`
The following target properties will be applied on the
"Info" and "Arguments" tab:
- :prop_tgt:`XCODE_SCHEME_EXECUTABLE`
- :prop_tgt:`XCODE_SCHEME_ARGUMENTS`
- :prop_tgt:`XCODE_SCHEME_ENVIRONMENT`
@@ -0,0 +1,12 @@
CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER
------------------------------------
Whether to enable ``Address Sanitizer`` in the Diagnostics
section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_ADDRESS_SANITIZER`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,12 @@
CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN
-----------------------------------------------------
Whether to enable ``Detect use of stack after return``
in the Diagnostics section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,12 @@
CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
----------------------------------------------
Whether to disable the ``Main Thread Checker``
in the Diagnostics section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,12 @@
CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
----------------------------------------
Whether to enable ``Dynamic Library Loads``
in the Diagnostics section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,12 @@
CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
-------------------------------------------
Whether to enable ``Dynamic Linker API usage``
in the Diagnostics section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,12 @@
CMAKE_XCODE_SCHEME_GUARD_MALLOC
-------------------------------
Whether to enable ``Guard Malloc``
in the Diagnostics section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_GUARD_MALLOC`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,13 @@
CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP
-------------------------------------------
Whether to enable the ``Main Thread Checker`` option
``Pause on issues``
in the Diagnostics section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,12 @@
CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES
-------------------------------------
Whether to enable ``Malloc Guard Edges``
in the Diagnostics section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_MALLOC_GUARD_EDGES`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,12 @@
CMAKE_XCODE_SCHEME_MALLOC_SCRIBBLE
----------------------------------
Whether to enable ``Malloc Scribble``
in the Diagnostics section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_MALLOC_SCRIBBLE`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,12 @@
CMAKE_XCODE_SCHEME_MALLOC_STACK
-------------------------------
Whether to enable ``Malloc Stack`` in the Diagnostics
section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_MALLOC_STACK`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,12 @@
CMAKE_XCODE_SCHEME_THREAD_SANITIZER
-----------------------------------
Whether to enable ``Thread Sanitizer`` in the Diagnostics
section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_THREAD_SANITIZER`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,12 @@
CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP
----------------------------------------
Whether to enable ``Thread Sanitizer - Pause on issues``
in the Diagnostics section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_THREAD_SANITIZER_STOP`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,12 @@
CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER
------------------------------------------------
Whether to enable ``Undefined Behavior Sanitizer``
in the Diagnostics section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,13 @@
CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP
-----------------------------------------------------
Whether to enable ``Undefined Behavior Sanitizer`` option
``Pause on issues``
in the Diagnostics section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.
@@ -0,0 +1,12 @@
CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS
---------------------------------
Whether to enable ``Zombie Objects``
in the Diagnostics section of the generated Xcode scheme.
This variable initializes the
:prop_tgt:`XCODE_SCHEME_ZOMBIE_OBJECTS`
property on all targets.
Please refer to the :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable
documentation to see all Xcode schema related properties.