CMake编译swift项目

时间:2018-01-25 12:15:11

标签: objective-c swift macos compilation cmake

我尝试过使用CMake编译基于swift / objective-c / c ++的混合项目的想法。作为首发,我去了SwiftMix示例并运行以下CMakeList.txt文件:

cmake_minimum_required(VERSION 3.3)
project(SwiftMix C Swift)

add_executable(SwiftMix CMain.c ObjCMain.m SwiftMain.swift ObjC-Swift.h)
set_property(TARGET SwiftMix PROPERTY XCODE_ATTRIBUTE_SWIFT_OBJC_BRIDGING_HEADER "ObjC-Swift.h")

在上面的文件上运行cmake后,我收到以下错误:

CMake Error: CMAKE_Swift_COMPILER not set, after EnableLanguage

然而,它看起来像在CMake安装(版本3.9.1)中,有一个文件/文件处理快速支持并从错误消息中定义缺失的变量:

/usr/local/Cellar/cmake/3.9.1//share/cmake/Modules/CMakeSwiftCompiler.cmake.in

任何想法如何更改" CMakeLists.txt"支持swift?

1 个答案:

答案 0 :(得分:-2)

首先," Unix Makefiles"不支持Swift语言。发电机。所以,你必须使用cmake -G Xcode。 然后,生成Xcode项目,如果它不起作用,你可以尝试sudo xcode-select --reset或升级你的cmake版本。 最后,试试cmake -G Xcode。试。