当前位置:  开发笔记 > 编程语言 > 正文

CMake似乎忽略了CMAKE_OSX_DEPLOYMENT_TARGET

如何解决《CMake似乎忽略了CMAKE_OSX_DEPLOYMENT_TARGET》经验,为你挑选了1个好方法。

我在OS X 10.10.5上使用CMake 3.3.2和Xcode 7.1.

我有一个使用CMake的小型C++项目.我希望它在OS X 10.9或更高版本上运行.所以我修改了我的CMakeLists.txt来开始这个:

cmake_minimum_required(VERSION 3.3)
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9")

project(...

然后我像这样创建Xcode项目:

cmake -G Xcode 

但是,生成的xcodeproj软件包似乎没有设置部署目标.当我在文本编辑器中打开包含的project.pbxproj文件时,没有提及行MACOSX_DEPLOYMENT_TARGET.

因此,当我在Xcode中打开项目时,在Build Settings> Deployment> OS X Deployment Target下,Xcode总是显示默认值"OS X 10.11",无论我在CMakeLists.txt中指定了什么.当我手动更改Xcode中的设置,然后在文本编辑器中重新打开项目文件时,MACOSX_DEPLOYMENT_TARGET = 10.9;已正确添加该行.

难道我做错了什么?谷歌搜索问题没有给出任何最近的结果.



1> sakra..:

变量CMAKE_OSX_DEPLOYMENT_TARGET必须在第一个project()命令之前初始化为缓存变量,以便正确拾取Xcode项目生成:

set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "Minimum OS X deployment version")

如果未明确设置为缓存变量,CMAKE_OSX_DEPLOYMENT_TARGET则由MACOSX_DEPLOYMENT_TARGET环境变量初始化.

像上面的赋值一样初始化缓存变量也会覆盖同一范围内同名的非缓存变量的值.

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有