This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  a76645452f07c807260d975ffdbdeba605682d0f (commit)
       via  b35568f3f9f9b8f4b5b2a2e6f4d524540980c3ae (commit)
      from  e4d782024d3c654c216bbd32d6ad80f43dde5c29 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a76645452f07c807260d975ffdbdeba605682d0f
commit a76645452f07c807260d975ffdbdeba605682d0f
Merge: e4d7820 b35568f
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Mon Sep 26 08:46:54 2016 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Mon Sep 26 08:46:54 2016 -0400

    Merge topic 'xcode-swift-version' into next
    
    b35568f3 Xcode: Add option to set Swift language version


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b35568f3f9f9b8f4b5b2a2e6f4d524540980c3ae
commit b35568f3f9f9b8f4b5b2a2e6f4d524540980c3ae
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Fri Sep 23 13:25:35 2016 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Sep 26 08:46:23 2016 -0400

    Xcode: Add option to set Swift language version
    
    Create a new CMAKE_Swift_LANGUAGE_VERSION variable to specify the
    SWIFT_VERSION attribute in a generated Xcode project.  Ideally this
    would be a `<LANG>_STANDARD` property but since Swift support is
    very minimal we should reserve that property for more complete
    treatment later.
    
    Issue: #16326

diff --git a/Help/manual/cmake-variables.7.rst 
b/Help/manual/cmake-variables.7.rst
index 9e0efe9..d9da3d6 100644
--- a/Help/manual/cmake-variables.7.rst
+++ b/Help/manual/cmake-variables.7.rst
@@ -396,6 +396,7 @@ Variables for Languages
    /variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS
    /variable/CMAKE_LANG_STANDARD_INCLUDE_DIRECTORIES
    /variable/CMAKE_LANG_STANDARD_LIBRARIES
+   /variable/CMAKE_Swift_LANGUAGE_VERSION
    /variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG
 
 Variables for CTest
diff --git a/Help/release/dev/xcode-swift-version.rst 
b/Help/release/dev/xcode-swift-version.rst
new file mode 100644
index 0000000..5dff23c
--- /dev/null
+++ b/Help/release/dev/xcode-swift-version.rst
@@ -0,0 +1,6 @@
+xcode-swift-version
+-------------------
+
+* The :generator:`Xcode` generator's rudimentary Swift language support
+  learned to honor a new :variable:`CMAKE_Swift_LANGUAGE_VERSION` variable
+  to tell Xcode what version of Swift is used by the source.
diff --git a/Help/variable/CMAKE_Swift_LANGUAGE_VERSION.rst 
b/Help/variable/CMAKE_Swift_LANGUAGE_VERSION.rst
new file mode 100644
index 0000000..50121e2
--- /dev/null
+++ b/Help/variable/CMAKE_Swift_LANGUAGE_VERSION.rst
@@ -0,0 +1,5 @@
+CMAKE_Swift_LANGUAGE_VERSION
+----------------------------
+
+Set to the Swift language version number.  If not set, the legacy "2.3"
+version is assumed.
diff --git a/Source/cmGlobalXCodeGenerator.cxx 
b/Source/cmGlobalXCodeGenerator.cxx
index 42d97db..0d5de06 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -2997,7 +2997,13 @@ bool cmGlobalXCodeGenerator::CreateXCodeObjects(
                                 this->CreateString(this->GeneratorToolset));
   }
   if (this->GetLanguageEnabled("Swift")) {
-    buildSettings->AddAttribute("SWIFT_VERSION", this->CreateString("2.3"));
+    std::string swiftVersion = "2.3";
+    if (const char* vers = this->CurrentMakefile->GetDefinition(
+          "CMAKE_Swift_LANGUAGE_VERSION")) {
+      swiftVersion = vers;
+    }
+    buildSettings->AddAttribute("SWIFT_VERSION",
+                                this->CreateString(swiftVersion));
   }
 
   std::string symroot = root->GetCurrentBinaryDirectory();
diff --git a/Tests/SwiftOnly/CMakeLists.txt b/Tests/SwiftOnly/CMakeLists.txt
index 5cb9739..cf4463c 100644
--- a/Tests/SwiftOnly/CMakeLists.txt
+++ b/Tests/SwiftOnly/CMakeLists.txt
@@ -1,4 +1,8 @@
 cmake_minimum_required(VERSION 3.3)
 project(SwiftOnly Swift)
 
+if(NOT XCODE_VERSION VERSION_LESS 8.0)
+  set(CMAKE_Swift_LANGUAGE_VERSION 3.0)
+endif()
+
 add_executable(SwiftOnly main.swift)

-----------------------------------------------------------------------

Summary of changes:


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to