Merge topic 'xcode-scheme-custom-target'

333a2ff099 Merge branch 'backport-xcode-scheme-custom-target'
7cccc5b199 Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targets
ac9934406d Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3878
This commit is contained in:
Brad King
2019-10-03 09:09:04 -04:00
committed by Kitware Robot
3 changed files with 18 additions and 1 deletions
+6 -1
View File
@@ -364,7 +364,6 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
initPropValue("UNITY_BUILD_BATCH_SIZE", "8");
#ifdef __APPLE__
if (this->GetGlobalGenerator()->IsXcode()) {
initProp("XCODE_GENERATE_SCHEME");
initProp("XCODE_SCHEME_ADDRESS_SANITIZER");
initProp("XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN");
initProp("XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING");
@@ -385,6 +384,12 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
#endif
}
if (this->GetType() != cmStateEnums::INTERFACE_LIBRARY) {
if (this->GetGlobalGenerator()->IsXcode()) {
initProp("XCODE_GENERATE_SCHEME");
}
}
// 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)