mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-26 08:08:24 -05:00
Merge branch 'backport-xcode-scheme-custom-target' into release-3.15
Merge-request: !3878
This commit is contained in:
+6
-1
@@ -334,7 +334,6 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
|
||||
InitProperty("VS_JUST_MY_CODE_DEBUGGING", nullptr);
|
||||
#ifdef __APPLE__
|
||||
if (this->GetGlobalGenerator()->IsXcode()) {
|
||||
InitProperty("XCODE_GENERATE_SCHEME", nullptr);
|
||||
InitProperty("XCODE_SCHEME_ADDRESS_SANITIZER", nullptr);
|
||||
InitProperty("XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN", nullptr);
|
||||
InitProperty("XCODE_SCHEME_THREAD_SANITIZER", nullptr);
|
||||
@@ -354,6 +353,12 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
|
||||
#endif
|
||||
}
|
||||
|
||||
if (this->GetType() != cmStateEnums::INTERFACE_LIBRARY) {
|
||||
if (this->GetGlobalGenerator()->IsXcode()) {
|
||||
InitProperty("XCODE_GENERATE_SCHEME", nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
// Setup per-configuration property default values.
|
||||
if (this->GetType() != cmStateEnums::UTILITY) {
|
||||
static const auto configProps = {
|
||||
|
||||
@@ -7,6 +7,13 @@ function(check_property property matcher)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(expect_schema target)
|
||||
set(schema "${RunCMake_TEST_BINARY_DIR}/XcodeSchemaProperty.xcodeproj/xcshareddata/xcschemes/${target}.xcscheme")
|
||||
if(NOT EXISTS ${schema})
|
||||
message(SEND_ERROR "Missing schema for target ${target}")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(expect_no_schema target)
|
||||
set(schema "${RunCMake_TEST_BINARY_DIR}/XcodeSchemaProperty.xcodeproj/xcshareddata/xcschemes/${target}.xcscheme")
|
||||
if(EXISTS ${schema})
|
||||
@@ -40,3 +47,6 @@ check_property("ENVIRONMENT" [=[key="BAR"]=])
|
||||
check_property("ENVIRONMENT" [=[value="bar"]=])
|
||||
|
||||
expect_no_schema("NoSchema")
|
||||
|
||||
expect_schema("CustomTarget")
|
||||
expect_schema("ALL_BUILD")
|
||||
|
||||
@@ -38,3 +38,5 @@ create_scheme_for_property(ENVIRONMENT "FOO=foo;BAR=bar")
|
||||
|
||||
add_executable(NoSchema main.cpp)
|
||||
set_target_properties(NoSchema PROPERTIES XCODE_GENERATE_SCHEME OFF)
|
||||
|
||||
add_custom_target(CustomTarget)
|
||||
|
||||
Reference in New Issue
Block a user