gpt4 book ai didi

c++ - 如何为 CMake 中的文件组设置编译器标志?

转载 作者:行者123 更新时间:2023-11-30 05:48:55 28 4
gpt4 key购买 nike

在我的 CMake 项目中,我设置了这样的编译器标志:

if (MSVC)
# Build cpp files on all cores
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /W4")

# can't use the "secure" versions as they're Windows specific
add_definitions("/D\"_CRT_SECURE_NO_WARNINGS\"")
add_definitions("/D\"_SCL_SECURE_NO_WARNINGS\"")

add_definitions("/wd4290")
else()
# Enable C++11, you may need to use -std=c++0x if using an older gcc compiler
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
else()
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-unused-parameter -fPIC -Wall -Weffc++ -pedantic")
endif()
endif()

为 MSVC、Clang 和 GCC 设置标志。然而,在我的源文件 var 中,我有我的源代码和第 3 方的东西,比如 gtest 和 gmock。

如何设置这些标志,使它们仅适用于我的源代码的某些子集?

例如

# This should use the flags set above
SET(source
mycode/mysrc.cpp)

# This should not use the flags from above
SET(not_my_source
3rdparty/3rdparty.cpp)

# But both end up being part of the same executable
add_executable(Test ${source} ${not_my_source})

最佳答案

您可能需要引用 here .您应该能够传递要为其更改编译器标志的文件列表。

关于c++ - 如何为 CMake 中的文件组设置编译器标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28005010/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com