cmake如何在Mac OS中检测编译器

时间:2018-06-16 09:52:55

标签: c++ macos cmake compilation clang

我有cmake版本3.9和Mac OS High Sierra 我尝试使用clang 5.0.1(在我的系统中默认)和c ++ 17标准编译我的cpp代码。

CMakeLists.txt:

cmake_minimum_required(VERSION 3.9)

project(test)

set(CMAKE_CXX_STANDARD 17)

add_executable(main main.cpp) 

如果我使用上面的CMakeLists尝试cmake .,那么我会看到:

  

- CXX编译器标识为AppleClang 9.1.0.9020039

cmake如何检测编译器?如果我运行clang --version,我会得到以下内容:

clang version 5.0.1 (tags/RELEASE_501/final)  
Target: x86_64-apple-darwin17.6.0
Thread model: posix  
InstalledDir:/usr/local/bin

好的,我可以在我的CMakeLists.txt中添加set(CMAKE_CXX_COMPILER "/usr/local/bin/clang")。再次cmake .

  

- CXX编译器标识为AppleClang 9.1.0.9020039

WTF? 好的,让我们尝试删除set(CMAKE_CXX_COMPILER..并运行cmake -DCMAKE_CXX_COMPILER=/usr/local/bin/clang .

  

- CXX编译器标识是Clang 5.0.1

它正在运作。但是为什么cmake会忽略CMakeLists中的set

0 个答案:

没有答案