CMake为什么要检查C ++编译器?

Nowox

我想建立一个最小的例子来建立一个C程序。我使用了这个CMakeLists.txt文件:

cmake_minimum_required(VERSION 3.6)

set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR arm)

set(CMAKE_C_COMPILER "arm-none-eabi-gcc")
#set(CMAKE_CXX_COMPILER "arm-none-eabi-g++")

set(CMAKE_EXE_LINKER_FLAGS "--specs=nosys.specs" CACHE INTERNAL "")

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

project("funambule")

list(
    APPEND src
        main.c
)

add_executable(
    funambule
    ${src}
)

当我跑步时cmake .即使我不需要CMake,也绝对想要检查C ++编译器。如何防止它执行此无用的检查?

-- The C compiler identification is GNU 5.4.1
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /cygdrive/c/Users/NoOne/Home/bin/arm-none-eabi-gcc
-- Check for working C compiler: /cygdrive/c/Users/NoOne/Home/bin/arm-none-eabi-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/CC
-- Check for working CXX compiler: /usr/bin/CC -- broken
...
宪法

这是CMake的默认行为。要更改它,您应该使用以下方法为项目指定语言:

project(<PROJECT-NAME> [LANGUAGES])

CMake文档中

(可选)您可以指定项目支持的语言。示例语言为C,CXX(即C ++),Fortran等。默认情况下,如果未提供语言选项,则启用C和CXX。指定NONE语言,或使用LANGUAGES关键字并且不列出任何语言,以跳过启用任何语言的过程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章