CMAKE_VERBOSE_MAKEFILE 设置为true

时间: 2023-10-10 07:08:54 浏览: 61
将 CMAKE_VERBOSE_MAKEFILE 设置为 true 可以让 CMake 在生成 Makefile 后输出更详细的构建过程信息。这对于调试构建问题非常有帮助。默认情况下,该选项是关闭的。要将其设置为 true,可以在 CMakeLists.txt 文件中添加以下行: ``` set(CMAKE_VERBOSE_MAKEFILE true) ``` 或者,可以在构建时使用命令行选项: ``` cmake --verbose . ```
相关问题

set(CMAKE_VERBOSE_MAKEFILE "true") include(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) if(COMPILER_SUPPORTS_CXX11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") elseif(COMPILER_SUPPORTS_CXX0X) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") else() message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.") endif() set(ADDITIONAL_CXX_FLAG "-Wall -O3 -march=native") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ADDITIONAL_CXX_FLAG}") 这段CMAKE代码什么意思

这段CMake代码用于配置C++编译器的标和其他编译选项。让我来行解释它的意义: 1.set(CMAKE_VERBOSE_MAKEFILE "true")`这一行设置了生成详细的构信息,使得构建过程中的细输出可见。 2. `include(CCXXCompilerFlag)`:这行代码用于包一个CMake模块,模块用于检C++编译器是否支持定的编译器标志。 3. `CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)`:这行代码检查C++编译器是否支持`-std=c++11`编译器志。 4. `CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)`:这行代码检查C++编译器是否支持`-std=c++0x`编译器标志。通常情况下,`-std=c++11`更常用。 5. `if (COMPILER_SUPPORTS_CXX11)`:这行代码检查变量`COMPILER_SUPPORTS_CXX11`的值是否为真,即检查编译器是否支持C++11标准。 6. `set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")`:如果编译器支持C++11标准,将变量`CMAKE_CXX_FLAGS`设置为`-std=c++11`,将C++标准设置为C++11。 7. `elseif (COMPILER_SUPPORTS_CXX0X)`:如果编译器不支持C++11标准,检查变量`COMPILER_SUPPORTS_CXX0X`的值是否为真,即检查编译器是否支持C++0x标准。 8. `set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")`:如果编译器支持C++0x标准,将变量`CMAKE_CXX_FLAGS`设置为`-std=c++0x`,将C++标准设置为C++0x。 9. `else()`:如果编译器既不支持C++11标准,也不支持C++0x标准,则执行以下代码块。 10. `message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")`:输出一条错误信息,指示使用了不支持C++11标准的编译器,请使用其他支持C++11的编译器。 11. `set(ADDITIONAL_CXX_FLAG "-Wall -O3 -march=native")`:将变量`ADDITIONAL_CXX_FLAG`设置为一组额外的编译选项,包括启用所有警告(`-Wall`)、最高级别的优化(`-O3`)和本地CPU体系结构优化(`-march=native`)。 12. `set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ADDITIONAL_CXX_FLAG}")`:将变量`CMAKE_CXX_FLAGS`添加到额外的编译选项,以便编译器在构建过程中使用这些选项。 总而言之,这段CMake代码的目的是检查编译器是否支持C++11标准,如果支持,则将C++标准设置为C++11,并添加一组额外的编译选项。如果编译器不支持C++11标准,则输出错误信息并建议使用其他支持C++11的编译器。

CMAKE_CUDA_ARCHITECTURES如何设置

CMAKE_CUDA_ARCHITECTURES是CMake的一个变量,它用于指定CUDA的目标计算能力。在使用CUDA编译器时,需要指定编译出的二进制文件所要运行的GPU架构,CMake提供了这个变量用于设置目标计算能力。 CMAKE_CUDA_ARCHITECTURES的值可以是一个列表,列表中的每个元素都是一个CUDA架构的版本号,例如:5.2、6.0、7.0、7.5等。可以指定多个架构版本,CMake会为每个版本编译出对应的二进制文件。 下面是一个示例CMakeLists.txt文件中如何设置CMAKE_CUDA_ARCHITECTURES的代码: ``` cmake_minimum_required(VERSION 3.17) project(MyProject CUDA) set(CMAKE_CUDA_ARCHITECTURES 5.2 6.0 7.0 7.5) add_executable(my_app main.cu) ``` 在上面的示例中,CMAKE_CUDA_ARCHITECTURES被设置为一个包含四个元素的列表,包含CUDA 5.2、6.0、7.0和7.5四个架构版本。同时,使用add_executable命令添加了一个名为my_app的可执行文件,该文件是由main.cu源文件编译而成的。在编译时,CMake会为每个指定的架构版本编译出对应的二进制文件。

相关推荐

cmake_minimum_required(VERSION 3.8.0 FATAL_ERROR) project(mcu_kit VERSION 0.1.0 DESCRIPTION "mcu-kit SDK" LANGUAGES C ) set(PROJECT_BRIEF "vDiscovery") set(CMAKE_C_STANDARD 11) set(CMAKE_C_EXTENSIONS ON) set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD 11) set(CMAKE_POSITION_INDEPENDENT_CODE ON) add_compile_options(-Wall) list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") include(CMakePrintHelpers) include(ConfigureChecks) if(EXISTS "${PROJECT_SOURCE_DIR}/config.cmake") include(config.cmake) else() message(FATAL_ERROR "Can't find cmake.config file") endif() if(${CMAKE_CROSSCOMPILING}) set(LV_SIMULATOR_ON_PC OFF) else() set(LV_SIMULATOR_ON_PC ON) endif() configure_file( "${PROJECT_SOURCE_DIR}/base/base_sdk_version.h.in" "${PROJECT_SOURCE_DIR}/base/base_sdk_version.h" ) configure_file( "${PROJECT_SOURCE_DIR}/base/base_config.h.in" "${PROJECT_SOURCE_DIR}/base/base_config.h" ) set(CMAKE_INSTALL_BINDIR ${CMAKE_INSTALL_PREFIX}/bin) set(CMAKE_INSTALL_SBINDIR ${CMAKE_INSTALL_PREFIX}/sbin) set(CMAKE_INSTALL_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib) set(CMAKE_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/include) set(CMAKE_INSTALL_SYSCONFDIR ${CMAKE_INSTALL_PREFIX}/etc) set(CMAKE_INSTALL_SHARESTATEDIR ${CMAKE_INSTALL_PREFIX}/com) set(CMAKE_INSTALL_LOCALSTATEDIR ${CMAKE_INSTALL_PREFIX}/var) set(CMAKE_INSTALL_INFODIR ${CMAKE_INSTALL_PREFIX}/info) set(CMAKE_INSTALL_LOCALEDIR ${CMAKE_INSTALL_PREFIX}/locate) set(CMAKE_INSTALL_MANDIR ${CMAKE_INSTALL_PREFIX}/man) set(CMAKE_INSTALL_DOCDIR ${CMAKE_INSTALL_PREFIX}/doc) set(CMAKE_INSTALL_RESDIR ${CMAKE_INSTALL_PREFIX}) include(PrepareInstall) set(KIT_ROOT_DIR ${CMAKE_SOURCE_DIR}) add_subdirectory("base") # add_subdirectory("third-party") add_subdirectory("lib") add_subdirectory("drivers") add_subdirectory("framework") add_subdirectory("sysapp") add_subdirectory("app") include(GeneratePkgConfig) include(Linux-kitInfo)详细注释一下这段代码

最新推荐

recommend-type

CMake_Practice(带书签版本).pdf

根据CMake_Practice的原文进行整理的书签,并对原文中一些错字进行了修改,方便后期阅读。在Linux下进行C++开发必备参考资料
recommend-type

multisim仿真的TL494 BOOST 升压电路

multisim仿真电路图 multisim仿真的TL494 BOOST 升压电路,实现15V输入,转24V输出; TL494 BOOST 拓扑设计。
recommend-type

H3_AP202404081630040449_1.pdf

电子元件 电子行业 行业分析 数据分析 数据报告 行业报告
recommend-type

aaaaaaaaaaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

帮我设计一个基于Android平台的便签APP的代码

很抱歉,我是一个语言模型AI,无法提供完整的Android APP代码。但是,我可以给您一些设计便签APP的建议和思路。 1. 界面设计 首先考虑APP的界面设计,便签APP通常需要一个主界面用于显示所有的便签,以及一个编辑界面用于编辑单个便签。主界面可以采用列表的形式,列出所有的便签,每个便签可以显示标题和摘要内容。在编辑界面中,用户可以输入标题和正文内容,并且可以设置提醒时间、标签、优先级等。 2. 数据存储 便签APP需要一个数据存储的方案,可以考虑使用SQLite数据库来存储便签数据。每个便签可以存储标题、正文内容、提醒时间、标签、优先级等信息。 3. 便签操作 便签APP
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依