mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-21 23:00:50 +08:00
Xcode: Add settings to control a scheme's launch configuration
This commit is contained in:
@@ -447,6 +447,7 @@ syn keyword cmakeProperty contained
|
||||
\ XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP
|
||||
\ XCODE_SCHEME_ENABLE_GPU_API_VALIDATION
|
||||
\ XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION
|
||||
\ XCODE_SCHEME_LAUNCH_CONFIGURATION
|
||||
\ XCODE_SCHEME_WORKING_DIRECTORY
|
||||
\ XCODE_SCHEME_ZOMBIE_OBJECTS
|
||||
\ XCTEST
|
||||
@@ -1551,6 +1552,7 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP
|
||||
\ CMAKE_XCODE_SCHEME_ENABLE_GPU_API_VALIDATION
|
||||
\ CMAKE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION
|
||||
\ CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION
|
||||
\ CMAKE_XCODE_SCHEME_WORKING_DIRECTORY
|
||||
\ CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS
|
||||
\ CPACK_ABSOLUTE_DESTINATION_FILES
|
||||
|
@@ -476,6 +476,7 @@ Properties on Targets
|
||||
/prop_tgt/XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP
|
||||
/prop_tgt/XCODE_SCHEME_ENABLE_GPU_API_VALIDATION
|
||||
/prop_tgt/XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION
|
||||
/prop_tgt/XCODE_SCHEME_LAUNCH_CONFIGURATION
|
||||
/prop_tgt/XCODE_SCHEME_WORKING_DIRECTORY
|
||||
/prop_tgt/XCODE_SCHEME_ZOMBIE_OBJECTS
|
||||
/prop_tgt/XCODE_XCCONFIG
|
||||
|
@@ -287,6 +287,7 @@ Variables that Change Behavior
|
||||
/variable/CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP
|
||||
/variable/CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER
|
||||
/variable/CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP
|
||||
/variable/CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION
|
||||
/variable/CMAKE_XCODE_SCHEME_ENABLE_GPU_API_VALIDATION
|
||||
/variable/CMAKE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION
|
||||
/variable/CMAKE_XCODE_SCHEME_WORKING_DIRECTORY
|
||||
|
@@ -30,6 +30,7 @@ at target creation time.
|
||||
- :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_LAUNCH_CONFIGURATION`
|
||||
- :prop_tgt:`XCODE_SCHEME_ENABLE_GPU_API_VALIDATION`
|
||||
- :prop_tgt:`XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION`
|
||||
- :prop_tgt:`XCODE_SCHEME_ZOMBIE_OBJECTS`
|
||||
|
13
Help/prop_tgt/XCODE_SCHEME_LAUNCH_CONFIGURATION.rst
Normal file
13
Help/prop_tgt/XCODE_SCHEME_LAUNCH_CONFIGURATION.rst
Normal file
@@ -0,0 +1,13 @@
|
||||
XCODE_SCHEME_LAUNCH_CONFIGURATION
|
||||
---------------------------------
|
||||
|
||||
.. versionadded:: 3.25
|
||||
|
||||
Set the build configuration to run the target.
|
||||
|
||||
This property is initialized by the value of the variable
|
||||
:variable:`CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION`
|
||||
if it is set when a target is created.
|
||||
|
||||
Please refer to the :prop_tgt:`XCODE_GENERATE_SCHEME` target property
|
||||
documentation to see all Xcode schema related properties.
|
@@ -5,3 +5,8 @@ xcode-launch-mode
|
||||
:prop_tgt:`XCODE_SCHEME_LAUNCH_MODE` target property were added to tell
|
||||
the :generator:`Xcode` generator what to put in the scheme's "Launch"
|
||||
mode setting.
|
||||
|
||||
* The :variable:`CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION` variable and
|
||||
corresponding :prop_tgt:`XCODE_SCHEME_LAUNCH_CONFIGURATION` target
|
||||
property were added to tell the :generator:`Xcode` generator what
|
||||
configuration to put in the scheme's Launch action.
|
||||
|
12
Help/variable/CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION.rst
Normal file
12
Help/variable/CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION.rst
Normal file
@@ -0,0 +1,12 @@
|
||||
CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION
|
||||
---------------------------------------
|
||||
|
||||
.. versionadded:: 3.25
|
||||
|
||||
Set the build configuration to run the target.
|
||||
|
||||
This variable initializes the :prop_tgt:`XCODE_SCHEME_LAUNCH_CONFIGURATION`
|
||||
property on all targets.
|
||||
|
||||
Please refer to the :prop_tgt:`XCODE_GENERATE_SCHEME` target property
|
||||
documentation to see all Xcode schema related properties.
|
@@ -620,6 +620,7 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
|
||||
initProp("XCODE_SCHEME_THREAD_SANITIZER_STOP");
|
||||
initProp("XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER");
|
||||
initProp("XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP");
|
||||
initProp("XCODE_SCHEME_LAUNCH_CONFIGURATION");
|
||||
initProp("XCODE_SCHEME_ENABLE_GPU_API_VALIDATION");
|
||||
initProp("XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION");
|
||||
initProp("XCODE_SCHEME_WORKING_DIRECTORY");
|
||||
|
@@ -67,9 +67,14 @@ void cmXCodeScheme::WriteXCodeXCScheme(std::ostream& fout,
|
||||
xout.Attribute("LastUpgradeVersion", WriteVersionString());
|
||||
xout.Attribute("version", "1.3");
|
||||
|
||||
cmValue propDftCfg =
|
||||
Target->GetTarget()->GetProperty("XCODE_SCHEME_LAUNCH_CONFIGURATION");
|
||||
std::string launchConfiguration =
|
||||
!propDftCfg.IsEmpty() ? *propDftCfg : "Debug";
|
||||
|
||||
WriteBuildAction(xout, container);
|
||||
WriteTestAction(xout, FindConfiguration("Debug"), container);
|
||||
WriteLaunchAction(xout, FindConfiguration("Debug"), container);
|
||||
WriteLaunchAction(xout, FindConfiguration(launchConfiguration), container);
|
||||
WriteProfileAction(xout, FindConfiguration("Release"));
|
||||
WriteAnalyzeAction(xout, FindConfiguration("Debug"));
|
||||
WriteArchiveAction(xout, FindConfiguration("Release"));
|
||||
|
Reference in New Issue
Block a user