cmake–编译器设置

前言

cmake支持多种不同方式设置编译器标志:

1.使用 target_compile_definitions()设置编译器标志

2. 使用CMAKE_C_FLAGS和CMAKE_CXX_FLAGS设置编译标志

一, 目录结构

├── CMakeLists.txt
├── main.cpp

* link:CMakeLists.txt[] - Contains the CMake commands you wish to run
* link:main.cpp[] - The source file with main

二,cmake脚本

cmake_minimum_required(VERSION 3.5)

# 设置默认C++编译标志
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DEX2" CACHE STRING "Set C++ Compiler Flags" FORCE)

project (compile_flags)

add_executable(cmake_examples_compile_flags main.cpp)

# 使用target_compile_definitions设置编译标志

target_compile_definitions(cmake_examples_compile_flags
PRIVATE EX3
)

三,扩展分析

现代cmake(modern cmake)推荐使用target_compile_definitions设置C++编译标志。

因为target_compile_definitions能够设置编译标志的作用域,关键字INTERFACE,PUBLIC和PRIVATE用来指定其后参数的作用域。

PRIVATE 和 PUBLIC 项将产生 <target> 的 COMPILE_DEFINITIONS 属性。PUBLIC 和 INTERFACE 项将产生 <target> 的INTERFACE_COMPILE_DEFINITIONS 属性。

而如果设置了CMAKE_CXX_FLAGS或CMAKE_C_FLAGS标志将使得当前目录以及子目录下所有的编译标志都为该标志。

下面这篇文章还包含一些其他编译命令。

https://www.cnblogs.com/the-capricornus/p/4766331.html

原文链接: https://www.cnblogs.com/svenzhang9527/p/10704165.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    cmake--编译器设置

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/293463

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月15日 下午3:07
下一篇 2023年2月15日 下午3:09

相关推荐