覆盖默认的CMAKE C ++编译器标志

时间:2019-07-08 00:07:37

标签: cmake

我正在尝试通过在CMakeLists.txt中使用以下命令来设置(删除)默认的c ++编译器标志:

set(CMAKE_CXX_FLAGS, "")

set(CMAKE_CXX_FLAGS_DEBUG, "")

set(CMAKE_CXX_FLAGS_RELEASE, "")

但是当我使用cmake --build <builddir>构建项目时,我看到仍然有标志传递给我的编译器(Visual Studio 2017)。我想删除所有默认的编译器标志,然后选择要使用的编译器标志。我该怎么做?

我尝试使用set命令将CMAKE_CXX_FLAGS *设置为空字符串,并尝试使用cmake -H. -Bbuild -DCMAKE_CXX_FLAGS="",但在命令行输出中仍然看到以下内容:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\CL.exe /c /no
logo /W1 /WX- /diagnostics:classic /O2 /Oy- /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /MD /GS /fp:precise /Zc:wchar_t
 /Zc:forScope /Zc:inline /Fo"hello.dir\Debug\\" /Fd"hello.dir\Debug\vc141.pdb" /Gd /TP /analyze- /FC /errorReport:queue main.cpp

这是我的CMakeLists.txt:

cmake_minimum_required(VERSION 3.4)

project(TestProject)

set(CMAKE_CXX_FLAGS "")
set(CMAKE_CXX_FLAGS_DEBUG "")

add_executable(hello main.cpp)

这是我使用的命令:

cmake -H. -Bbuild && cmake --build build

我希望在命令行上看到

cl.exe main.cpp

在我的CMakeCache.txt文件中,没有为CMAKE_CXX_FLAGS *变量分配任何值,但CMAKE_CXX_FLAGS *在我的CMakeCache.txt文件中继续为其分配了值。

0 个答案:

没有答案