使用CMake,新版本默认使用错误的变量。默认情况下,Cmake使用错误的变量
CMAKE_OSX_SYSROOT
默认为/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
,但该目录不存在(只有10.8.sdk
)。
如何设置此变量以保存另一个默认值?
使用CMake,新版本默认使用错误的变量。默认情况下,Cmake使用错误的变量
CMAKE_OSX_SYSROOT
默认为/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
,但该目录不存在(只有10.8.sdk
)。
如何设置此变量以保存另一个默认值?
配置首次
cmake -DCMAKE_OSX_SYSROOT=/proper/path <path to source>
当我认为你必须在不同版本的OS X(Mac系统)SDK的:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk
和版本OS X系统是CLion通过执行命令获取Darwin-initialize.cmake
:
execute_process(COMMAND sw_vers -productVersion
OUTPUT_VARIABLE CURRENT_OSX_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
您可以尝试在终端执行此命令:
sw_vers -productVersion
我认为,设置这一全球性可以通过在这个文件中设置当前的MacOSX SDK的新值来修改这个文件Darwin-initialize.cmake
这适用于该特定项目。下一个项目的默认值仍然是错误的。 – Appleshell
然后,它可能是CMake中的错误或预期的工作方式。你有没有尝试在'CMakeLists.txt中添加'set(CMAKE_OSX_SYSROOT“/ proper/path”)'? – arrowd
只要没有全球CMakeLists.txt整个机器不会帮助...问题不在于我*不能*指定一个项目的变量,我确实可以,但是问题是我*必须*为每个* new *项目指定它。 – Appleshell