mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
Merge topic 'more-swift2-fixes'
9cdf6ef4Swift: Add proper Swift compiler test1aa29f0dSwift: Remove positive Swift language testsd778a1c2Swift: Require Xcode 6.1 and for MacOS X at least SDK 10.104da60024Swift: Fix Compiler-Id detection for Swift 2874a265cSwift: Make SwiftMix compatible with Swift 2
This commit is contained in:
@@ -12,4 +12,54 @@
|
||||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
set(CMAKE_Swift_COMPILER_WORKS 1)
|
||||
if(CMAKE_Swift_COMPILER_FORCED)
|
||||
# The compiler configuration was forced by the user.
|
||||
# Assume the user has configured all compiler information.
|
||||
set(CMAKE_Swift_COMPILER_WORKS TRUE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
include(CMakeTestCompilerCommon)
|
||||
|
||||
# Remove any cached result from an older CMake version.
|
||||
# We now store this in CMakeSwiftCompiler.cmake.
|
||||
unset(CMAKE_Swift_COMPILER_WORKS CACHE)
|
||||
|
||||
# This file is used by EnableLanguage in cmGlobalGenerator to
|
||||
# determine that that selected C++ compiler can actually compile
|
||||
# and link the most basic of programs. If not, a fatal error
|
||||
# is set and cmake stops processing commands and will not generate
|
||||
# any makefiles or projects.
|
||||
if(NOT CMAKE_Swift_COMPILER_WORKS)
|
||||
PrintTestCompilerStatus("Swift" "")
|
||||
file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/main.swift
|
||||
"import Foundation\n"
|
||||
"print(\"CMake\")\n")
|
||||
try_compile(CMAKE_Swift_COMPILER_WORKS ${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/main.swift
|
||||
OUTPUT_VARIABLE __CMAKE_Swift_COMPILER_OUTPUT)
|
||||
# Move result from cache to normal variable.
|
||||
set(CMAKE_Swift_COMPILER_WORKS ${CMAKE_Swift_COMPILER_WORKS})
|
||||
unset(CMAKE_Swift_COMPILER_WORKS CACHE)
|
||||
set(Swift_TEST_WAS_RUN 1)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_Swift_COMPILER_WORKS)
|
||||
PrintTestCompilerStatus("Swift" " -- broken")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if the Swift compiler works failed with "
|
||||
"the following output:\n${__CMAKE_Swift_COMPILER_OUTPUT}\n\n")
|
||||
message(FATAL_ERROR "The Swift compiler \"${CMAKE_Swift_COMPILER}\" "
|
||||
"is not able to compile a simple test program.\nIt fails "
|
||||
"with the following output:\n ${__CMAKE_Swift_COMPILER_OUTPUT}\n\n"
|
||||
"CMake will not be able to correctly generate this project.")
|
||||
else()
|
||||
if(Swift_TEST_WAS_RUN)
|
||||
PrintTestCompilerStatus("Swift" " -- works")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||
"Determining if the Swift compiler works passed with "
|
||||
"the following output:\n${__CMAKE_Swift_COMPILER_OUTPUT}\n\n")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
unset(__CMAKE_Swift_COMPILER_OUTPUT)
|
||||
|
||||
@@ -1 +1 @@
|
||||
println("CMakeSwiftCompilerId")
|
||||
print("CMakeSwiftCompilerId")
|
||||
|
||||
Reference in New Issue
Block a user