summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Help/manual/cmake-properties.7.rst1
-rw-r--r--Help/manual/cmake-variables.7.rst1
-rw-r--r--Help/release/dev/cmake-xcode-schemes.rst2
-rw-r--r--Help/variable/CMAKE_XCODE_GENERATE_SCHEME.rst (renamed from Help/prop_gbl/XCODE_GENERATE_SCHEME.rst)4
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx3
-rw-r--r--Tests/RunCMake/XcodeProject/RunCMakeTest.cmake16
-rw-r--r--Tests/RunCMake/XcodeProject/XcodeSchemaGeneration.cmake5
7 files changed, 26 insertions, 6 deletions
diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst
index 2157ba5..e07150a 100644
--- a/Help/manual/cmake-properties.7.rst
+++ b/Help/manual/cmake-properties.7.rst
@@ -46,7 +46,6 @@ Properties of Global Scope
/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS
/prop_gbl/USE_FOLDERS
/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME
- /prop_gbl/XCODE_GENERATE_SCHEME
.. _`Directory Properties`:
diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst
index e4ee725..9d8d596 100644
--- a/Help/manual/cmake-variables.7.rst
+++ b/Help/manual/cmake-variables.7.rst
@@ -87,6 +87,7 @@ Variables that Provide Information
/variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA
/variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE
/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
+ /variable/CMAKE_XCODE_GENERATE_SCHEME
/variable/CMAKE_XCODE_PLATFORM_TOOLSET
/variable/PROJECT-NAME_BINARY_DIR
/variable/PROJECT-NAME_SOURCE_DIR
diff --git a/Help/release/dev/cmake-xcode-schemes.rst b/Help/release/dev/cmake-xcode-schemes.rst
index 27c19d7..81068ae 100644
--- a/Help/release/dev/cmake-xcode-schemes.rst
+++ b/Help/release/dev/cmake-xcode-schemes.rst
@@ -3,4 +3,4 @@ cmake-xcode-schemes
* The :generator:`Xcode` generator got the ability to create schema files.
This is still an experimental feature and can be activated by setting the
- :prop_gbl:`XCODE_GENERATE_SCHEME` global property to a ``TRUE`` value.
+ :variable:`CMAKE_XCODE_GENERATE_SCHEME` variable to a ``TRUE`` value.
diff --git a/Help/prop_gbl/XCODE_GENERATE_SCHEME.rst b/Help/variable/CMAKE_XCODE_GENERATE_SCHEME.rst
index be8b5b0..c9fcc92 100644
--- a/Help/prop_gbl/XCODE_GENERATE_SCHEME.rst
+++ b/Help/variable/CMAKE_XCODE_GENERATE_SCHEME.rst
@@ -1,5 +1,5 @@
-XCODE_GENERATE_SCHEME
----------------------
+CMAKE_XCODE_GENERATE_SCHEME
+---------------------------
If enabled, the Xcode generator will generate schema files. Those are
are useful to invoke analyze, archive, build-for-testing and test
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index b023d5c..77f3408 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -3341,8 +3341,7 @@ void cmGlobalXCodeGenerator::OutputXCodeProject(
// Since the lowest available Xcode version for testing was 7.0,
// I'm setting this as a limit then
- if (this->GetCMakeInstance()->GetState()->GetGlobalPropertyAsBool(
- "XCODE_GENERATE_SCHEME") &&
+ if (root->GetMakefile()->IsOn("CMAKE_XCODE_GENERATE_SCHEME") &&
this->XcodeVersion >= 70) {
this->OutputXCodeSharedSchemes(xcodeDir);
this->OutputXCodeWorkspaceSettings(xcodeDir);
diff --git a/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake b/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake
index f51a107..5f4bdc3 100644
--- a/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake
+++ b/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake
@@ -187,3 +187,19 @@ if(NOT XCODE_VERSION VERSION_LESS 5)
unset(RunCMake_TEST_NO_CLEAN)
unset(RunCMake_TEST_OPTIONS)
endif()
+
+function(XcodeSchemaGeneration)
+ set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeSchemaGeneration-build)
+ set(RunCMake_TEST_NO_CLEAN 1)
+ set(RunCMake_TEST_OPTIONS "-DCMAKE_XCODE_GENERATE_SCHEME=ON")
+
+ file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
+ file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
+
+ run_cmake(XcodeSchemaGeneration)
+ run_cmake_command(XcodeSchemaGeneration-build xcodebuild -scheme foo build)
+endfunction()
+
+if(NOT XCODE_VERSION VERSION_LESS 7)
+ XcodeSchemaGeneration()
+endif()
diff --git a/Tests/RunCMake/XcodeProject/XcodeSchemaGeneration.cmake b/Tests/RunCMake/XcodeProject/XcodeSchemaGeneration.cmake
new file mode 100644
index 0000000..2fe5a9f
--- /dev/null
+++ b/Tests/RunCMake/XcodeProject/XcodeSchemaGeneration.cmake
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 3.7)
+
+project(XcodeSchemaGeneration CXX)
+
+add_executable(foo main.cpp)